UnifyCloud - Modernizing your .NET apps to Windows containers on Azure Kubernetes Services
Published Jan 25 2024 06:40 AM 6,502 Views
Microsoft

This blog post has been co-authored by Microsoft and Mark Erhart and Marc Pinotti from UnifyCloud.

 

CLOUDATLAS OVERVIEW

UnifyCloud’s CloudAtlas is an end-to-end Azure migration platform that automates and accelerates the assessment, remediation, and migration of applications and associated databases to Azure Kubernetes Services. Using CloudAtlas you can quickly assess your entire application portfolio for migration to Azure and perform automated remediation of most of the required code changes for faster migration to Azure.

 

Those who are familiar with CloudAtlas may know the application and database modernization functionality as CloudPilot. While the functionality is the same, we now refer to CloudPilot as CloudAtlas Transform and Migrate so that we can focus on all that the CloudAtlas platform can deliver for users.

 

UnifyCloud has been recognized by Microsoft as a Partner of the Year honoree for four consecutive years for its CloudAtlas platform. CloudAtlas has been utilized in over 3,500 global customer engagements, including over 200 of the Global 500, to assess the largest and most complex application portfolios for modernization and migration to Azure Kubernetes Services using Windows containers.

 

In this blog we will cover:

  • Why CloudAtlas?
  • How to Quickly Modernize to Windows containers on Azure Kubernetes Service with CloudAtlas
    • Creating a Project
    • Scan the Application Using CloudAtlas
    • Evaluating Migration Options
    • Application Remediation
    • Generating Landing Zones for Seamless Migration
  • Migration learnings and insights from analyzing more than 4,000 applications
  • Frequently Asked Questions
  • Conclusion

WHY CLOUDATLAS

In the past, a major deterrent to digital transformation was the extensive manual effort it required. Considering it takes an average developer 3 days to manually assess 10,000 lines of code to identify required changes1, manual analysis of even the simplest application portfolios can be time- and cost-prohibitive.

 

CloudAtlas leverages AI and Machine Learning to automate cloud migration processes, including the assessment of infrastructure, scanning application source code and databases, automating remediation, and automatically generating landing zones.

 

An example of this automation is CloudAtlas’ static code analysis that scans portfolios of apps, databases, and workloads with millions of lines of code in just minutes – a fraction of the time a manual assessment would require. For example, one portfolio of 574 million lines of code analyzed by CloudAtlas would have required several lifetimes of manual effort for even a quick scan, let alone an assessment that delivered the detail, analytics, insights, and recommendations that CloudAtlas delivered. CloudAtlas delivered this entire analysis in 199 hours.

 

Fady_Azmy_0-1706033594738.png

 

 

This analysis provides detailed insights and recommendations to develop a modernization and migration plan with output that includes:

  • Cloud readiness
  • Migration options including IaaS, Containers/AKS, and PaaS as part of a 6R analysis that includes details to rehost, refactor, rearchitect, rebuild, and more
  • Tasks required
  • Hours of effort
  • Line of code guidance and on changes required for applications and databases to run effectively in the cloud
  • Customizable cost estimates.

 

Fady_Azmy_1-1706033833792.png

 

 

It does all of this without the source code ever leaving the customer environment and presents the results in a simple to use dashboard, with drilldowns for each component that include the recommendation, reasoning, cost, and alternative approaches.

 

Fady_Azmy_2-1706033917617.png

 

HOW TO QUICKLY MODERNIZE TO AZURE KUBERNETES SERVICE WITH CLOUDATLAS

CREATE A PROJECT

The process starts by downloading the CloudAtlas Modernize and Migrate tool and creating a project. In this example, we will be walking through a project using the sample eShopModernizing (eShop) app that has hypothetical legacy back office eShop web apps (traditional ASP.NET Web Forms and MVC) created by the .NET team. As noted, with CloudAtlas your source code never leaves your environment or source code repository.

 

Log into CloudAtlas, and download the CloudAtlas scanning app. Once the scanner is downloaded, start it and create a new project. The CloudAtlas scanner can assess single applications or a portfolio of applications and databases, minimizing processing and saving time in conducting application assessments.

 

Fady_Azmy_3-1706033933923.png

 

 

Once your project is created you will need to add your application. In this example, we add the eShop app and indicate the platform, application type and source code location to prepare the application for scanning.

 

Fady_Azmy_4-1706033947072.png

 

SCAN THE APPLICATION USING CLOUDATLAS

Once the app is added, you will see it in your inventory within the tool. At this point, the app code can be scanned, and metadata collected for analysis by CloudAtlas. Just select the eShop application and click “Scan” to start the analysis.

 

Fady_Azmy_5-1706033957606.png

 

CloudAtlas can scan millions of lines of code in just minutes, eliminating the need for resource- and time-intensive manual effort. As an example, CloudAtlas has scanned a portfolio of 24 applications and 65 databases comprised of 6.7 million lines of code in just over 2 hours. A thorough manual assessment of this level would have required over 2,000 developer days – more than 5 years – of effort. That level of effort would cost more than $2M in time and resources. Even better, CloudAtlas scans applications and databases at a level of detail and accuracy that is much greater than any manual scan would achieve.

 

A simple app like this eShop demo app is quickly scanned in just over one minute. In practice, CloudAtlas can scan multiple applications at once.

 

Fady_Azmy_6-1706034606402.png

 

Once scanned, the metadata for the source code can be viewed and edited prior to uploading to the CloudAtlas SaaS platform to ensure that sensitive or secure elements of the code do not leave your environment or source code repository. This can be achieved because the lightweight CloudAtlas scanner is not connected to the internet and can be run on a Windows PC or VM in your environment. The scanner produces metadata which is stored in an XML file. The XML file is can be reviewed to confirm that no IP, source code, sensitive information, or any other secure data is in the metadata in the XML file. If necessary, sensitive or proprietary information can be masked or deleted.

 

Fady_Azmy_7-1706034615817.png

 

Once the XML file is reviewed and ready for analysis, it can be uploaded to the CloudAtlas SaaS platform for analysis.

 

Fady_Azmy_8-1706034731818.png

 

Once uploaded, the eShop app (or any other apps or databases that have been uploaded) will appear in your project portfolio, where you can take further action, including initiating a full CloudAtlas analysis. This is done with the click of the “Analyze” button.

 

Fady_Azmy_9-1706034755443.png

 

 

As part of the analysis process, a few pieces of information need to be collected to guide the assessment. This includes a short survey about the app or portfolio to provide additional information that is not available in the source code, including items like global load balancing, presence of PII, and criticality of the application to business operations. If you are unsure of the answers to the questions, selecting “No” provides the most comprehensive list of application remediation recommendations. Indicating the strategic importance of the application informs the recommendation for the type of remediation – rehosting, refactoring, rearchitecting, etc.

 

Fady_Azmy_10-1706034773142.png

 

 

If required, the appropriate compliance standards can be selected from a list of more than fifty different global standards for incorporation into the CloudAtlas analysis.

 

Fady_Azmy_11-1706034790691.png

 

 

EVALUATING MIGRATION OPTIONS

Once those items are complete, the application is ready to be analyzed by CloudAtlas to provide options, recommendations and guidance for modernization. The CloudAtlas assessment includes a multitude of analytics depending on the app, database or portfolio analyzed for multiple migration scenarios, including migration to Containers, PaaS, VMs, and Power Apps. Analysis includes an overview of all options and the readiness, tasks, effort and cost of each migration option. This allows users to make informed decisions with complete information to migrate with confidence. In this example, we’ll focus on the eShop app and the associated guidance for Windows Container modernization.

 

Fady_Azmy_12-1706034811786.png

 

Code-level guidance is provided for every option with recommendations, count of changes required, estimated time to remediate, and sizing – a good proxy for complexity – and relative readiness. CloudAtlas also recommends the optimal migration path based on the analysis and business requirements. When you select container assessments, an overview highlights the recommendation, required tasks, hours of effort and cost for approaches with or without .NET to .NET Core conversion. In this example, CloudAtlas has identified the fastest path to modernizing the legacy .NET eShop app is to containerize it to Windows containers on AKS.

 

Fady_Azmy_13-1706034832892.png

 

 

App-level guidance highlights the number of components and recommended remediation tasks, breaking those down into four different areas:

  1. Application and Platform Design
  2. Security
  3. Network and Availability
  4. Storage

 

Task size and level of effort in hours are provided to assist in migration planning. Cost estimates to run in Azure are also provided and can be further customized.

 

In this example, CloudAtlas estimates that eShop app is 88% container ready, subject to 15 changes (11 small and 4 medium) requiring 58 hours of effort if done manually.

 

Fady_Azmy_14-1706034851240.png

 

 

APPLICATION REMEDIATION

Every remediation task is described at a detailed level to guide the effort and instill confidence in the changes to be made. CloudAtlas identifies the category, datapoint and the details of the recommendation including the reason for the change, the code block, the line of code, the file path, the recommended changes, the estimated effort, the migration impact, and authoritative Azure guidance. Where code changes are required, sample replacement code is typically provided.

 

As an example of the guidance, in this  eShop MVC app remediation example, the app uses the InProc mode that stores session state in memory on the Web server which doesn’t allow for scaling because the memory provider isn’t distributed. CloudAtlas recommends that you should consider using either StateServer or SQLServer modes.

 

Fady_Azmy_15-1706034869553.png

 

CloudAtlas can also accelerate application remediation with automated code changes that significantly reduce manual effort – often by as much as 80%. For every application, CloudAtlas provides an overview of the time savings this automated remediation capability provides.

 

For the eShop demo application, the readiness is improved from 88% to 91%, reducing manual effort by 25%. This may seem small, but it saves more than a day’s worth of effort for this small demo application.

 

Fady_Azmy_16-1706034890061.png

 

To provide transparency and instill confidence in the code changes being recommended, every  line of code can be reviewed, edited, and approved prior to compilation as part of the automated remediation. This gives users complete control over the automated remediation process.

 

Fady_Azmy_17-1706034921591.png

 

As part of the automated remediation, CloudAtlas can connect to Azure subscriptions, new or existing landing zones and custom resources to ensure a smooth migration.

 

Fady_Azmy_18-1706034982624.png

 

GENERATING LANDING ZONES FOR SEAMLESS MIGRATION

Once remediated, the code can be compiled for easy migration. To ensure a seamless migration, a Cloud Adoption Framework Workshop identifies business-specific needs which are incorporated into an automatically generated landing zone designed for the specific workloads being migrated.

 

Fady_Azmy_19-1706035003537.png

 

 

Migration can then be implemented by directly connecting to the Azure subscription via CloudAtlas, providing the end-to-end support needed for a successful automated cloud migration to AKS.

 

MIGRATION INSIGHTS FROM 4,000+ APPLICATIONS

CloudAtlas has assessed over four thousand apps in the past few months, which gives us a great data sample to analyze. From this data, it is clear that many customers would benefit from remediating apps to a modern AKS architecture in a ‘one-step’ migration versus the ‘two step’ “lift and shift to VMs first and modernize later” approach the industry currently recommends.

 

Fady_Azmy_20-1706035022029.png

 

FREQUENTLY ASKED QUESTIONS

While many questions may arise during a migration assessment, here are a few that we frequently see when considering migration to Azure Kubernetes Services.

 

Question: What are the key benefits of using AKS for application deployment compared to traditional hosting solutions?

Answer: AKS offers scalability, flexibility, and automated management of containerized applications. It helps optimize resource utilization, ensures high availability, and simplifies the deployment and orchestration of containers. Other AKS benefits include automatic scaling, self-healing, simplified management, and seamless integration with Azure services, enabling a more streamlined and efficient development and deployment process. And CloudAtlas simplifies the process even more, automating much of the process and making sure that your workloads and Azure environment are optimized at deployment and over time.

 

Question: How does AKS handle security for containerized applications?

Answer: AKS implements robust security features such as network policies, Azure Active Directory integration, role-based access control (RBAC), and it supports Azure Key Vault for secure management. CloudAtlas ensures that these services are provisioned appropriately based on the needs of the business as defined in the modernization assessment.

 

Question: What considerations should be taken into account when planning migration to AKS?

Answer: Factors to consider include application architecture, data storage, networking, security requirements, and any dependencies on external services. CloudAtlas considers all these factors as part of the assessment of existing infrastructure to develop a well-defined migration plan.

 

Conclusion – See what CloudAtlas can do for you

CloudAtlas is the only platform in the marketplace that provides a true end-to-end automated cloud migration solution from initial assessment to modernization to migration and optimization. Born in the cloud by former Microsoft employees, CloudAtlas accelerates and facilitates the cloud migration journey to help partners and customers realize and achieve cloud benefits faster, better, and more consistently. CloudAtlas does this for all types of digital transformation, including modernization to AKS. Learn more about CloudAtlas capabilities and AKS modernization in this short demo video.

 

CloudAtlas is offering a free assessment of an application for modernization and migration to AKS. Submit your information here to be contacted by a UnifyCloud Cloud Architect to get started, or ask your Account Manager at Microsoft about the Solutions Assessment Program.

 

For more information you can visit www.unifycloud.com or contact us at info@unifycloud.com for questions or comments.

____________

1 Source: Microsoft IT, as directly related to UnifyCloud personnel, notes that it takes an experienced developer 3 days to manually scan 10,000 lines of code for migration to Azure.

Co-Authors
Version history
Last update:
‎Feb 06 2024 06:24 AM
Updated by: