The Cloud Experience Everywhere
1754640 Members
3163 Online
108823 Solutions
New Article
ServicesExperts

Transform legacy .NET to cloud native with the HPE Cloud Native Engineering Service

In today's rapidly evolving technological landscape, cloud-native architecture has emerged as the new standard for developing and deploying applications. Let’s look at how to make a .NET application cloud-native, step by step.

By Ashishkumar Chourasia, Cloud Engineer; and Nashad Abdul Rahiman, Chief Solution Architect, Cloud Native Engineering Practice Area, HPE Services

HPE-Services-transform-.NET-to-cloud-native.pngThe idea behind being cloud native is to deliver faster, more accurate services to your clients on a timely basis. Microsoft, with its latest version of .NET, has made creating new applications as cloud native possible with features such as cross platforms and publishing to containers.

What about existing .NET applications? Let’s take a look how we can make them cloud-native.

The following is the step-by-step process in the overall transformation approach for application transformation to cloud-native:

HPE-Services-transform-.NET-to-cloud-native Figure 1.png

1. Analysis. Analyse the application's current state, while considering its architecture, code quality, dependencies, and whether it’s running smoothly or not. This can be done by interviews or by using analysis tools that can accelerate the process.

With any .NET application, there are initial checks that can help us decide the best possible plan:

  • Is it .NET Core or .NET Framework? If it uses .NET core as its cross platform it will be easier to replatform to containers, depending on the size of the application and the value that it adds to the business.
  • .NET version. Earlier versions of .NET Framework may have to be updated to the latest versions for it to be assessed by tools or to replatform to containers, and for very old versions it may be only sensible to rewrite it.
  • MVC or Classic? Depending on whether the legacy application is MVC or Classic, there may be business logic written in the front end of the application which may make it difficult to identify when we try to rearchitect or refactor the application.

Other key things to understand from the assessment would be the size of the application, its technical debt, the refactoring effort needed, the business value of the application and how it is currently maintained. All of these answers will help to do the feasibility check before transformation. To get a detailed assessment of the application it is better to use assessment tools like vFunction, SonarQube, or NDepend to accelerate the assessment.

2. Identify the target technology. Choose the latest technology for the application to be modernized to. Check to make sure it won't cause any dependencies or compatibility problems. There may be application dependencies to the underlying OS, whether it’s Windows or Linux. As of writing, .NET 7 is available as a cross-platform development, though .NET Framework is still supported.

3. Define the modernization plan. Develop a strategy that describes the actions needed to modernize the application, such as any architecture modifications, data migration, and testing.

4. Re-architecture/refactor. Redesign the application's architecture to make it more maintainable, scalable, and modular. Consider utilizing cloud-based architecture, or microservices. To accelerate the process of rearchitecting, it is best to use intelligent tools that can analyse the code; draw the relationships between the classes and help to group them based on the functionality; or detect dead code.

5. Data migration. Based on the modernization plan, if there are changes in the database layer, create and implement a data migration strategy that makes sure the data is seamlessly transferred from the legacy system to the new system.

6. Test and validate. To ensure that the modernized application functions as expected and satisfies the necessary functional, security and performance requirements, test it.

7. Deploy. Release the updated application to the desired environment, whether it be on-premises, in the cloud, or in a hybrid configuration. This is where we can utilize cloud-native infrastructure like Kubernetes and apply cloud-native principles such as DevOps and GitOps to manage the cloud-native application.

8. Monitor and optimize. To ensure the modernized application's continuous success, continually monitor its stability and performance and make any necessary adjustments.

HPE Services can help in every phase of your project

HPE Services, as a one-stop shop for multi-cloud and hybrid cloud needs, can provide services with an end-to-end methodology and approach to modernize applications at all phases: discovery, analysis, extraction, engineering, and on-boarding for multi-cloud IT environments.

HPE-Services-transform-.NET-to-cloud-native-Figure 2.png

 

In the Discovery phase, with the help of HPE’s tailored Advisory Services (which include interview processes and tools), HPE will capture the business and technical requirements, existing application architecture, functionality, and high-level dependencies which must be understood to determine next steps.

 

The Analysis phase involves HPE experts providing services using AI-based analysis tools like vFunction to capture application and class dependencies. We then map and visualize potential microservices and provide advisory services to enhance exclusivity and reduce technical debt.

 

In the Extraction phase, HPE uses automated extraction tools and techniques to extract identified microservices/miniservices code from the monolithic codebase.

 

In the Engineering phase, HPE optimizes the code with dead code analysis, vulnerability analysis, framework modernization, language transformation, and performance optimization.

 

Finally, in the Onboarding phase, HPE’s cloud-native experts unlock the full potential of cloud-native applications by onboarding to any cloud or on-prem cloud-native computing platform utilizing DevSecOps and GitOps and service orchestration with Service Meshes and API Gateways.

 

HPE Advisory and Professional Services has extensive expertise around the cloud-native computing journey and can assist customers especially to transform their workloads from monolithic applications to microservice-based applications leveraging HPE Cloud Native Engineering Services. HPE Advisory and Professional Services follow industry best practices for bringing innovation and modernization to customers’ enterprise applications to make them faster, smarter, and optimized. 

 

Learn more about IT consulting services from HPE Services.

 

Nashad Abdul Rahiman.pngNashad Abdul Rahiman is a Chief Solution Architect in HPE Services’ Cloud Native Computing Practice Area. Nashad joined HPE in 2020. He has worked on application modernization and digital transformation in various industries. His key interests include AI/ML, Kubernetes, application development, public cloud and hybrid cloud. Nashad helps HPE teams deliver solutions based on cloud-native stacks to customers worldwide; he also designs enterprise-ready solutions that can be leveraged in future engagements.

 

 

Ashishkumar Chourasia is a Cloud Engineer in HPE Services’ Cloud Native Engineering Practice Area.


Services Experts
Hewlett Packard Enterprise

twitter.com/HPE_Services
linkedin.com/showcase/hpe-services/
hpe.com/services

About the Author

ServicesExperts

HPE Services Team experts share their insights on the topics and technologies that matter most for your business.