Application migration involves transferring a software application from one IT environment to another. Here are common application migration scenarios:
Organizations often migrate their applications to the cloud because cloud vendors offer flexible pricing and scalability, which help quickly update applications to meet changes in demand.
This article explains four application migration options in the context of Azure migration, and covers an automated tool that can help you migrate applications to Azure: the Azure App Service Migration Assistant.
In this article:
Compatibility is the main challenge in migrating applications to the cloud. Whether you opt to migrate from one cloud to another or from an on-premises data center to the cloud, your application is likely not compatible with the target cloud.
The four different migration strategies require different levels of application modification before migration. This process requires carefully assessing your application's compatibility with the target cloud and choosing the most suitable migration strategy - rehosting, refactoring, rearchitecting, or rebuilding.
Learn more about these four approaches in our guide to Azure migration strategy
This option is also known as a lift-and-shift migration. It does not require code changes. A rehosting strategy can help you migrate applications to Azure without modifying the code.
Here is when to use a rehosting strategy:
This option is also known as repackaging. Refactoring requires minor modifications that enable the application to leverage cloud capabilities. The strategy can help you migrate applications to Azure services or migrate databases to Azure Database for MySQL or Azure Cosmos DB.
Related content: Read our guide to migrating databases to azure
A refactor strategy requires assessing the portability of the existing code base and the development skills you have at your disposal.
Here is when to use a refactor approach:
This strategy involves changing and extending application functionality and the codebase to prepare the application architecture for cloud scalability. Here are common scenarios:
Here is when to use a rearchitecting approach:
This strategy involves rebuilding the application with Azure cloud technologies.
Here is when to use a rebuilding strategy:
There are many ways to migrate an application to Azure. A common way is to migrate your application into Azure App Service, a managed service that can run web applications in the cloud. In some cases, this will require refactoring or rearchitecting your application.
Azure App Service is an HTTP-based service for hosting web applications, REST APIs, and mobile backends. You can use it to easily run and scale applications in Windows-based and Linux-based environments. It supports multiple languages including .NET, .NET Core, Java, Ruby, Node.js, PHP, and Python.
App Service gives your application cloud native features such as load balancing, autoscaling, and auto-management, as well as Azure’s enterprise-grade security. You can also leverage features provided by Azure DevOps, such as continuous deployment, package management, staging environments, custom domains, TLS/SSL certificates, GitHub or Docker Hub integration.
The App Service Migration Assistant aims to simplify and automate the process of migrating your application from an on-premises server to the cloud. It also provides a containerization tool that lets you repackage your application into a container with minimal changes.
The process involves:
While the Azure App Service supports a range of programming languages, the App Service Migration Assistant currently supports automated migration for .NET and Java applications only. Below we briefly describe how the assistant migrates each of these application flavors.
Related content: Read our guide to Azure migration tools
The App Service Migration Assistant for .NET lets you quickly discover local .NET web applications, assess their migration readiness, and migrate content and supported configurations to Azure App Service.
Here are a few common use cases for .NET application migration:
The App Service Migration Assistant can help you evaluate on-premises Java applications and automatically migrate these applications to Azure. Common use cases include:
NetApp Cloud Volumes ONTAP, the leading enterprise-grade storage management solution, delivers secure, proven storage management services on AWS, Azure and Google Cloud. Cloud Volumes ONTAP capacity can scale into the petabytes, and it supports various use cases such as file services, databases, DevOps or any other enterprise workload, with a strong set of features including high availability, data protection, storage efficiencies, Kubernetes integration, and more.
In particular, Cloud Volumes ONTAP assists with lift and shift cloud migration.
Download our free eBook The NetApp Guide to Migrating Enterprise Workloads to Azure to learn more.