More about Azure Migration
- Azure vs AWS Pricing: Comparing Apples to Apples
- How to Upload Files to Azure Blob Storage
- Azure Managed Service Provider: Save Time & Increase Efficiency
- Azure Case Studies with Cloud Volumes ONTAP
- Azure Migration Tools: One-Click Migration for VMs and Data
- Azure Migration Strategy: Four Steps to the Cloud
- 11-Step Azure Migration Checklist
- Azure Migration: Successful Migration from AWS or On-Premise
- Migration from AWS to Azure and Azure to AWS
- Azure Storage Replication with SnapMirror
Azure provides a powerful cloud platform that is highly suitable for large enterprise IT environments with stringent compliance and data protection requirements. When planning your migration, it is worth considering the pros and cons of the four key migration strategies: Rehost, Refactor, Rearchitect and Rebuild. Depending on which of these models you pick will determine your entire Azure migration strategy.
In this post, we'll provide a detailed checklist to help shape your Azure migration strategy, based on Microsoft's four steps, and show how NetApp Cloud Volumes ONTAP can also help with the cloud migration process.
In this article, you will learn:
- What are the four stages of Azure migration
- What are the four strategies for migrating each application to the Azure cloud
- Lift and Shift enterprise-scale data volumes to Azure with Cloud Volumes ONTAP
The Azure Migration Process
Microsoft recommends a four-step process for migrating applications and workloads to Azure.
Stage 1: Assess
Start by discussing the migration project with all relevant stakeholders, calculating TCO of your current deployment, and discovering what parts of your application portfolio may benefit from migration. Evaluate applications to see how suitable they are for a cloud environment and what changes you will need to make to allow them to run in the cloud.
Key considerations for the assessment stage:
- Networking—look into creating a Virtual Network to maintain the same performance and stability you had in the on-premise data center. Check how many subnets you will need and how DNS will be managed—via Active Directory or the Azure DNS service.
- Storage—review Azure storage services and select a solution according to the allowed number of operations per second, and the nature of the data—hot vs. cold. Cold data should be stored in slow, inexpensive storage.
- Scalability—learn about Azure Autoscale and consider using it to dynamically scale your application. This requires careful cost modeling.
Use Azure tools to assess applications for migration and get automated recommendations regarding CPU, disk size and storage requirements, current network architecture and capacity, performance requirements, high availability and resiliency recommendations, and requirements for ongoing maintenance.
- Virtual Machine Readiness Assessment tool—automatically inspects physical or virtualized assets and provides a checklist for moving them to the cloud. It provides a report saying which workloads can be moved and which require further investigation.
- Microsoft Assessment and Planning (MAP) toolkit—an inventory, assessment and reporting tool that can help you plan migrations for Windows 8.1, Office 2013, Office 365, Windows Server 2012, SQL Server 2014, Hyper-V, Microsoft Private Cloud Fast Track, and more environments. The MAP Toolkit assesses environments and provides readiness information for both physical and virtualized workloads migrating to Azure.
Stage 2: Migrate
You will need to select an Azure migration strategy out of the four approaches that we'll define in the following section. Once you've decided on an approach, you'll be able to identify the tools and technologies that will help you migrate each of your applications. Start small with a Proof of Concept of several applications that provide high value to the business and are easier to migrate, and then continue to the more complex or lower value applications.
Key considerations for the migration stage:
- Do you need to leverage Azure’s hybrid cloud solutions?
- Are some workloads suitable for Microsoft’s Office 365 environment and not for Azure?
- Do you want to run in traditional VMs, in containers or using serverless functions?
- Do you need to migrate machines that have a higher capacity or special hardware requirements that are not supported by one of the Azure VM sizes?
Stage 3: Optimize
Even after an application is deployed on the cloud and working as expected, you should continuously monitor the application and see how to improve it.
Key considerations for the optimization stage:
- Monitor your costs and see how to optimize them with a better mix of Azure services or improved automation.
- Monitor performance and ensure you are meeting your migration goals—providing at least the same performance as you were with the on-premises model, or hitting a new performance target.
- Beyond the immediate goal of migration, plan your next steps—what you can do next in Azure and reinvest to gain new capabilities.
This is perhaps the most important stage—ongoing operations in the cloud. Beyond the regular operational considerations, in a public cloud environment, you will have a few new elements to consider.
Stage 4: Secure and Manage
Key considerations for the secure and manage stage:
- Security—understand the security posture of the new cloud-based application, test to ensure security measures are working, and respond to anomalies and incidents. Become familiar with Azure’s comprehensive security recommendations and tools.
- Data protection—put protective measures in place—backup, disaster recovery, encryption and other measures suitable for your compliance requirements and business risks. Azure provides multiple services and mechanisms to protect your data.
- Monitoring— recognize that cloud environments are dynamic, and performance is not static and not guaranteed. Monitor performance of compute and data services and use tools like the Azure Traffic Manager, NewRelic or AppDynamics to perform real-user monitoring.
Four Azure Migration Strategies
The following are four alternative strategies advised by Microsoft for migrating an application to the Azure cloud.
1. Rehost / Lift and Shift
Moving applications from the on-premise environment to the cloud with no changes to the underlying application. Our blog about lift and shift provides more information on how it compares to other methods, as well as some of the tools that can be useful for rehosting.
Suitable for: Legacy migrations, teams with limited cloud or Azure skills.
Pros: Smaller risk of breaking the application, faster and easier migration.
Cons: Applications might use cloud resources less efficiently and be more difficult to scale and extend.
2. Refactor / Repackage
Moving an application to Azure with some code changes but not a major overhaul of the application. This allows you to leverage services like Azure SQL Database Managed Instances and Azure Container Service. You can also leverage Azure’s App Service, Azure Functions and Logic Apps to help re-architect, refactor and rebuild your apps in Azure.
Suitable for: Sensitive and business-critical applications where disruption of ongoing functionality is a concern, but there is a need to modernize or improve infrastructure.
Pros: Fast and relatively easy, but lets you improve your infrastructure, for example by adding DevOps automation tools or moving to container-based deployment.
Cons: Cannot make major architectural changes—for example, splitting the application into microservices, which allows substantial efficiencies in the cloud.
This strategy involves revamping the codebase of the application and moving it to a cloud-native architecture.
Suitable for: Applications that need maximum agility, scalability and flexibility in the cloud.
Pros: Allows you to create a highly scalable, resilient, easily deployable application that can leverage the full power of the Azure cloud.
Cons: Complex, expensive migration with a high risk of faults and service disruption in the early deployment stages.
The rebuild strategy involves putting aside the old application and building the same functionality from scratch using the Azure Platform as a Service (PaaS) capabilities. Leverage services like Azure Functions and Logic Apps to build the application tier, and use Azure SQL Database or other hosted Azure data services for the data layer.
Suitable for: Applications with relatively low complexity and few dependencies on other business processes.
Pros: Inexpensive, avoids the complexity of software licenses. No dependency on middleware or existing infrastructure.
Cons: You will typically not get the same level of functionality as in a custom-built app. Evaluate in advance which parts of the app can be successfully rebuilt in the Azure environment and which cannot.
Azure Data Migration Services
Azure offers the Database Migration Service which provides a guided migration process for databases including SQL Server, Oracle, DB2, PostgreSQL and MySQL, with automated assessment of pre-migration steps, and migration at scale from multiple sources to a target data volume on Azure.
Lift and Shift Data Volumes to Azure with Cloud Volumes ONTAP
In this blog post, we examined the four cloud migration strategies as they relate to Azure.
As part of a cloud migration strategy, you need to move your data. A powerful way to transfer storage volumes and manage them in the cloud is NetApp’s Cloud Volumes ONTAP.
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 supports up to a capacity of 368TB, and supports various use cases such as file services, databases, DevOps or any other enterprise workload.
It provides highly available storage in Azure, which seamlessly connects to your on-premise storage devices, enabling quick lift-and-shift migration of enterprise-scale data volumes.
Using Cloud Volumes ONTAP, enterprises can leverage the NetApp SnapMirror® data replication tool and Cloud Sync service to migrate to Azure without disrupting operations, and while saving costs and effort of transferring massive amounts of data.