Skip navigation

Migrate and modernize

Drive innovation with flexible, powerful cloud migration and modernization strategies.

Migrate and modernize for the long term

In this phase, we guide your cloud migration via four widely-adopted approaches. Learn about these paths to decide the right mix for your applications. For example, you could choose to rehost or "lift and shift" less-strategic apps with no code changes, and rearchitect others that are more business-critical, decomposing them into services.

Gartner

"Create a multifaceted application strategy to determine when rehosting, refactoring, rebuilding or replacing applications delivers value, and how new applications can be built using cloud-optimized and cloud-native design principles."

Gartner, “Devise an Effective Cloud Computing Strategy by Answering Five Key Questions”, David W. Cearley, November 2015, refreshed 23 June 2017

Explore cloud migration and modernization strategies to find the best option for your business

Rehost

Often referred to as “lift and shift” migration, this no-code option lets you migrate your existing applications to Azure quickly. Each application is migrated as is, which provides the benefits of the cloud without the risks or costs of making code changes.

When to use:

  • You need to move applications from your data centre to the cloud quickly.
  • Your apps are architected to leverage Azure IaaS scalability.
  • Your business requires the applications but doesn’t need to change their capabilities right away.
  • Your applications or database requirements can only be met using an Azure IaaS virtual machine (VM).
  • You need to move the application with no code changes

Rehost sample path

Migration steps

Rehost to IaaS

Rehost database

Optimising

Step 1 of 4

Replicate VMs or physical servers to Azure

Use Azure Site Recovery to replicate servers in a few simple steps, including VMware virtual machines or physical servers running Windows or Linux. Replicate VMs to Premium or Standard storage accounts to meet your application’s performance and SLA requirements.

Step 2 of 4

Configure Azure Hybrid Benefit and Managed Disks

Save on costs as you migrate your Windows Server virtual machines to Azure using the Azure Hybrid Benefit. Before you migrate, apply the recommended configurations from your assessment, such as storage type, availability sets, VM size and network.

Step 3 of 4

Test and migrate applications to Azure

Baseline your application’s performance in Azure using a non-disruptive test failover with Site Recovery. Then, perform application migration to Azure with confidence.

Step 4 of 4

Transfer large amounts of data

Use the Azure Data Box service when you want to transfer large amounts of data to Azure but are limited by time, network availability or costs. The Data Box is supported by an array of partners with deep experience helping customers to manage data resources.

Step 1 of 3

Migrate your database

Easily migrate your SQL Server, open-source and other relational databases to fully managed solutions on Azure, such as Azure SQL Database Managed Instance, Azure Database Service for PostgreSQL and Azure Database for MySQL with Azure Database Migration Service. Migrate your non-relational databases to Azure Cosmos DB using the Data Migration Tool.

Step 2 of 3

Scale your database migration

Migrate databases in parallel using the Database Migration Service.

Step 3 of 3

Complete the migration

When the migrated database is ready, just reconnect your app by updating your connection strings.

Step 1 of 4

Ensure compliance

Help meet company or regulatory requirements by using security policies that define the desired configuration of your workloads. Azure Machine Learning identifies missing data encryption and missing firewall rules.

Step 2 of 4

Back up your virtual machines

Back up your migrated Windows and Linux VMs from the Azure portal. With all your backup information in a central dashboard, you can quickly decide what you need to restore if you unexpectedly lose data.

Step 3 of 4

Manage compliance

Ensure proper governance by defining policies, and monitor compliance to your standards. Implement least privileged access using Role Based Access Control (RBAC) and just in time administrator access.

Step 4 of 4

Track virtual machine utilisation

Use Azure Cost Management to monitor CPU utilisation on your virtual machines to detect inefficiencies and optimise usage.

Learn how to rehost your application using Microsoft tools for server and database migration.

App migration to Azure: Your options explained

Featured videos

Cloud migration tools

Expedite the migration phase by using automation and intelligence provided by a range of tools.

Choose the right server migration tool

You can use Microsoft tools or tools from our partner ecosystem that best meet your needs. Use Azure Site Recovery when you need to migrate common OS versions. We recommend using partner tools when you need some of the following richer migration capabilities.

Features

Azure Site Recovery

CloudEndure Zerto
No cost tool Available Not available Not available
Migration of Windows and Linux workloads (supporting popular versions/distributions) Available Available Available
Broad OS support (supporting less popular versions/distributions) Not available Available Available
Agentless migration solution Not available Not available Available
Not available

Azure Site Recovery

Migration partners

Tools for other workloads

Database Migration Service

Migrate on-premises databases to Azure

Refactor

Refactor, often referred to as repackage, is a cloud migration approach that involves some change to the application design but no wholesale changes to the application code. The application takes advantage of infrastructure as a service (IaaS) and platform as a service (PaaS) products such as Azure App Service, Azure SQL Database managed instance, and containers.

Why use:

  • You need to use an existing code base and development skills, and code portability is a concern.
  • You prefer a quick way to modernize your apps.
  • You want to drive continuous innovation by taking advantage of DevOps and containers.

Refactor sample path

Migration steps

Optimize for the cloud

Database to Azure

Optimise operations

Step 1 of 2

Move to the cloud with App Service

Use existing applications to take advantage of Azure PaaS capabilities without managing underlying application infrastructure, middleware, and other resources. Migrate your web, mobile, and API apps to App Service.

Step 2 of 2

Repackage existing apps

Use existing applications, repackaged, to take advantage of Azure PaaS capabilities. Push your application to Azure Container Registry, where you can simplify container development by storing and managing container images for Azure deployments in a central registry.

Step 1 of 2

Migrate your database

Easily migrate your SQL Server, open source, and other relational databases to fully managed solutions, like SQL Database managed instance, Azure Database for PostgreSQL, and Azure Database for MySQL with Azure Database Migration Service. Migrate your nonrelational databases using the Azure Cosmos DB Data Migration Tool.

Step 2 of 2

Migrate databases at scale

Migrate your databases in parallel using the Azure Database Migration Service. After a migrated database is ready to use, just reconnect it to get your app up and running.

Step 1 of 3

Migrate to Azure DevOps Services

Move your data from Team Foundation Server to Azure DevOps Services.

Step 2 of 3

Manage compliance

Help meet company or industry regulatory requirements with security policies that define the desired configuration of your workloads. Azure Security Center uses machine learning to identify missing data encryption and missing firewall rules.

Step 3 of 3

Monitor and visualise costs

Gain visibility into resource consumption and costs in a single, unified view. Your operational staff and business users can build custom dashboards to view data based on their needs.

Recommended technology services

Our technology partners offer a range of migration solutions that you can use when Azure migration services don’t support your specific scenario.

Rearchitect

Modify or extend your application's code base to scale and optimize it for the cloud. Modernize your app into a resilient, highly scalable, independently deployable architecture. Use Azure to accelerate the process, scale applications with confidence, and manage your apps with ease.

Use when you want to:

  • Take advantage of existing application investments.
  • Meet scalability requirements in a cost-effective way.
  • Evolve your application to incorporate new Azure capabilities.
  • Apply innovative DevOps practices to improve agility.

Rearchitect sample path

Migration steps

Evolve your app

Database to Azure

Release and optimise

Step 1 of 3

Rearchitect your code

Break apart a monolithic application into a set of loosely coupled modules that work together to take advantage of the Azure platform.

Step 2 of 3

Develop services independently

Each microservice is self-contained and independent and can be built, tested, and deployed on its own.

Step 3 of 3

Build with tools, platforms, and languages you love

Develop with your favorite tools and platforms using your preferred programming language, including Node.js, .NET, and Java.

Step 1 of 2

Migrate databases at scale

Use Azure Database Migration Service to migrate databases in parallel.

Step 2 of 2

Complete the migration

The migrated database is ready to use. Just reconnect it to get your app up and running.

Step 1 of 2

Deploy to Azure Kubernetes Service (AKS)

AKS makes it simple to create, configure, and manage a cluster of virtual machines that are preconfigured to run containerized applications.

Step 2 of 2

Push your application to Azure Container Registry

Store and manage images for all types of container deployments.

Recommended technology services

Our technology partners offer a range of migration solutions that you can use when Azure migration services don’t support your specific scenario.

Rebuild

Rebuild an application from scratch using cloud-native technologies. Azure platform as a service (PaaS) provides a complete development and deployment environment in the cloud, without the expense and complexity of software licences, the need for underlying application infrastructure, or middleware and other resources. With this cloud migration strategy, you manage the applications and services you develop, and Azure manages everything else.

When to use:

  • You want rapid development, and the existing application is slowing you down due to limited functionality and lifespan.
  • You’re ready to build new applications using cloud-native technologies.
  • You want to build innovative apps taking advantage of advancements in AI, blockchain and IoT.
  • You want to expedite your business innovation.
  • You want to apply innovative DevOps practices provided by Azure

Rebuild sample

Migration steps

Rebuild database

Rebuild cloud-native apps

Release and optimise

Step 1 of 2

Create a database for storing your data

Azure Cosmos DB is a globally distributed, multi-model database service, providing turnkey distribution across any number of Azure regions by transparently scaling and replicating your data wherever your users are.

Step 2 of 2

Multi-model + multi-API database

Use key-value, graph, column-family and document data in one service with Cosmos DB

Step 1 of 3

Use PaaS services

Azure PaaS lets you create applications using built-in software components that offer scalability, high-availability and multi-tenant capabilities.

For example, if your application needs an integration solution, you can use Azure Logic Apps.

Step 2 of 3

Build serverless

Build apps faster with a serverless architecture, using the programming language of your choice.

Step 3 of 3

Rebuild with AI

Use rich artificial intelligence services such as Azure Cognitive Services Text Analytics API to empower users with intelligent applications that learn and adapt.

Step 1 of 2

Publish your app to App Service

Use Visual Studio Team Services to create a full CI/CD pipeline for your application – no matter which language you’re using – and deploy to several targets, including virtual machines, Azure Service Fabric and Docker container orchestrators such as Kubernetes.

Take the next step now