23 Sep Migrating your .NET apps to Microsoft Azure
Organizations want to lower their operating costs while responding to changing user needs. With Azure, you can migrate your existing premise-based apps, and build modern and scalable cloud apps on a cloud platform that’s built for .NET using Microsoft’s services like Azure App Service, Azure SQL Database and so on. They take care of availability, scalability, security and infrastructure management of your apps, enabling you to focus more on the development of your business.
Why application modernization?
Before going to migrating .NET apps to Azure, let’s first look at what the migration process itself involves. Migrating your app to the cloud is also called application modernization. While most organizations see it as a critical element of success, only 37% enterprise organizations have treated their digital transformation needs. An additional 48% is still in the process of addressing them. And, among options for application modernization, some involve full rewrite of the application and some others need just a simple lift and shift of the application to the new platform.
However, the decision to migrate is a challenge. Organizations often face the dilemma of making the most of their hefty infrastructural investments or scrapping all the investment they’ve put in to adopt a new system. Here, technology strategists face complex questions like: do you build a new application, modernize the existing application or migrate them to a scalable, cloud platform? To understand what to choose it is important to understand the RoI involved in modernizing and migration applications to the cloud.
Methods of application modernization
- Rehost – Virtual machines on on-premises servers are lifted and shifted to cloud-based servers
- Re-platform – Application logic is migrated from an on-premises platform to a cloud platform
- Re-factor – Code of the existing application is restructured to perform better on cloud-based services
- Re-write – Replace on-premises apps with cloud-native apps to deliver similar and enhanced functionality
Benefits and challenges of Application Modernization. Source: GigaOm 2020
Now, as far as your premises .NET applications are concerned, you need to understand the myriad benefits you get when you migrate .NET apps to the Azure platform, cost effectiveness of application migration, and that’s what’s covered in this blog.
Build and scale your .NET apps on Azure
Legacy systems are the core asset that can drive revenue and value and ensure the smooth operation of the business. Maintaining it can preserve value, but they will not add to it. This precisely is why established, and growing organizations need to migrate their .NET apps to Azure – to not only preserve its value but allow for innovation that takes the business ahead.
- There are over 100 Azure services that support .NETapplications natively
You can take your cloud application development to the next level using over 100 Azure services that natively support the .NET framework.
- It has integrated Visual Studio developer tools
You can leverage the integrated Visual Studio developer tools, get started on your projects faster with templates and be more productive with debugging tools.
- It allows for simple and fast development
One-click deployment of applications with Visual Studio or using Azure DevOps set up a CI/CD pipeline for your app.
More importantly, studies have it that migrating .NET applications from an on-premises server to Azure has seen significant cost, performance and migration benefits.
.NET application migration to Azure
.NET web apps
For your .NET Framework web apps, Azure lets you assess and migrate your web apps in minutes with minimal or no code changes with the Azure App Service Assistant, a free path to automatically migrate web apps from on-premises to the cloud.
.NET Upgrade Assistant
Incrementally upgrade your Windows apps based on the .NET framework to its latest version. This can allow you to speed up modernization and get you started on your journey to the cloud.
Azure App Service
Azure App Service is a Platform as a Service (PaaS), which means operation system administration and framework patching will be taken care of by the service provider. If you own an ASP.NET website, Azure App Service is the best option for your migration. Azure App Service enables auto-scaling, patching, CI/CD, advanced performance monitoring and production debugging snapshots to make building and running apps smooth.
Azure VMs allow you to create the same environment your app currently runs on but hosted on cloud hardware. You will still manage the operating system administration, scaling, availability, deployment and so on.
With Windows Containers you can migrate your .NET web apps using Windows Server Docker containers, with almost no changes to the code.
SQL Server in Azure VMs
This is the easiest way to migrate a database with minimal changes. Managing SQL Server in a virtual machine allows you full control of the database server and the VM it runs on. For the migration, your existing server licenses can be used.
Azure SQL Database
Azure SQL Database is a Platform as a Service (PaaS) – administration of the database server and the operating system are managed by the service provider. Backup, recovery, scaling and availability are also automated.
Cost and benefits of .NET application migration to Azure
Let’s now see how much of a difference it would make to migrate to Azure, AWS when compared with leaving the solution on-premises. This is just one test case conducted for TCO analysis by GigaOm in 2020.
Migration process from on-premises to Azure was straightforward. The SQL database could be backed up and restored to the target environment, and the application could be deployed with Visual Studio. The integration between Visual Studio and Azure Migration Services made the process of code deployment simple.
Though installing AWS Toolkit for Visual Studio made the process simple, it was not as seamless as the Azure experience. One aspect was configuration of the application front end to connect to the database. The AWS Elastic Beanstalk deployment needed the definition of a Web.config transform file to handle the database connection.
Similar performance was seen in the resulting application deployments. For the test, similar VM sizes, hardware generations and software were chosen. On the migrated application when compared with the on-premises version, several updates could be employed to improve performance, including the addition of a content delivery network (CDN), dynamic scaling of resources, upgrading to HTTP/2 and so on.
The Microsoft Azure solution offered savings of upto 54% compared with on-premises and 30% compared with AWS.
For a fair TCO analysis, the cost of running each environment for three years was looked into during the study and variable qualitative aspects have not been taken into consideration.
Estimated cost by environment. Source: GigaOm 2020
There are certain other aspects that have had a bearing on the result. It includes operational efficiency and administrative burden.
Azure App Service and Azure SQL Database: Designed to be true managed platforms, abstracting the underlying components that compose each service. It limits the amount of customization and control that a customer has over the web service or DB. Which means, upgrades, patching and maintenance and largely handled by Microsoft.
Amazon Elastic Beanstalk: It is an automation platform to provision an environment than a fully managed offering. The base constructs used by Elastic Beanstalk are not abstracted giving huge flexibility. Which means customers must bear the major amount of administrative load, effort equivalent to consuming Infrastructure as a Service (IaaS).
On-premises deployment: Here, there’s no form of managed services. It is upto the existing operations team to continue to support the application. Any migration to the cloud should be considered in terms of admin load and complexity introduced by a new environment.
The team ran an average of 15,000 sessions per hour through each environment and the web servers did not exceed 25% utilization. By reducing the number of web servers to two with an autoscale policy to add instances when the CPU reaches 70%, it allowed them to further reduce the cost of the environment without impacting performance.
See the resultant cost benefits below:
Monthly cost for the environment. Source: GigaOm 2020
Cost per 10,000 sessions for each environment. Source: GigaOm 2020
If the application was running on-premises or on Microsoft Azure, the same SQL licenses would be necessary. But if the application is moved to AWS, the license cannot be migrated and instead have a license cost if rolled into RDS. Microsoft Azure with AHD environment therefore represents a cost saving of 30% over AWS at 4 VMs and a saving of 43% at 2 VMs.
Inferences from the test
When organizations want to transform, they see application migration as a clear opportunity to reduce on-premises legacy workloads and benefit from the advantages of cloud-based models. As seen in the test for .NET applications, migration to a hosted platform environment can be straightforward and offers benefits over on-premises solutions – in cost and performance, as well access to innovation.
When looking to migrate .NET apps, consider:
- Existing legacy applications can be run at a lower cost using a cloud-based platform, freeing resources and unlocking potential for new application delivery.
- Replatforming applications is minimally disruptive and can be simple to test, giving migration a kickstart, allowing risks to be assessed and coststo be evaluated before fulldeployment.
- Fully managed platforms are simple to manage and have lowadministrativeburden compared to in-house infrastructure and platform stacks.
- For migrating .NET apps, the best approach is to get started with Microsoft’s App Service and Database Migration Assistance tools. It automates migration to Azure AppService and Azure SQL Database.
Save cost by running .NET apps on Azure
As seen in the study by GigaOm, Azure is the most cost effective and performant environment to run a .NET application. Azure is upto 54% less expensive than on-premises and upto 30% less expensive than AWS. And, Azure is the best destination for your Windows Server, SQL Server and .NET workloads with IaaS and PaaS taking up the load cost-efficiently.
Others ways to save costs while migrating .NET apps to Azure
- Use Azure Hybrid Benefit for SQL Server
Azure Hybrid Benefit allows you to bring your existing on-premises licenses, such as Windows Server and SQL Server, over to Azure. With AHB, you can save upto 85% to standard pay-as-you-go rates and achieve the lowest cost of ownership when combining AHB, reservations savings and extended security updates.
- Leverage App Service Reserved Instance pricing
App Service brings together all that you need to create websites, web APIs for any platform or device. Free and Shared plans are ideal for testing applications in a managed Azure environment. Azure App Service customers can now save upto 35% with a 1-year plan and upto 55% with a 3-year plan.
- Take advantage of Azure Dev/Test pricing
Azure Dev/Test pricing allows you to reduce the costs of ongoing dev/test workloads with discounted rates on Azure services. It allows users to get discounted rates upto 71% for ongoing development and testing needs. Using serverless tools like Azure Logic Apps and Functions, you can also eliminate custom code and third-party, helping improve developer productivity by 50%.
- Lower your operational costs
Let Azure manage your .NET web apps and DBs, so you don’t have to. With our end-to-end web hosting platform, your team can be free to focus on your business. Run your applications with confidence and let Azure handle everything else.
- Enable autoscaling
Use only the servers you need when you need them. Leverage Azure’s elasticity and help optimize your application and underlying database’s performance to meet the peaks and troughs of demand. Save with out-of-the-box monitoring for your ASP.NET applications while automatically scaling resources to meet workload demand with SQL serverless and Hyperscale databases.
Need help migrating your .NET applications to Azure?
Nuvento is a cloud migration service partner who can help you migrate to the Azure platform. Our experts will evaluate your current .NET application infrastructure and suggest the best method to migrate to the Microsoft Azure platform leveraging Azure services to help you save costs and improve the efficiency of your business process.
To know more, get in touch with our experts today.