"Migrate Your Virtual Machines to Microsoft Azure" - a Microsoft guide

I found the ebook "Migrate Your Virtual Machines to Microsoft Azure [PDF]" from Microsoft very useful and informative. This guide presents an end-to-end solution for migrating workloads (especially VMWare based VMs) to Azure and a roadmap for the key stages - Discovery, Migration and Optimization. There are plenty of screenshots on how to use that tools that make it easy to follow along.

For the discovery stage, the guide explains how Azure Migrate and partner solutions like Cloudamize and Movere solutions can be used to discover virtual machines and workloads in your environment and recommend virtual machine instances in Azure to inform decisions about reducing size and cost.

For the migration stage, organizations can use Azure Site Recovery, as well as Microsoft Data Migration Assistant and Azure Database Migration Services, to simplify and automate the migration of on-premises virtual machines and databases to Azure. These services minimize disruption to business operations.

To optimize the Azure virtual machine environment after migration, you can use Azure management and security services to refine virtual machine efficiencies using operational data analytics and improved governance. Azure Automation also helps keep your environment secure and backed up and can even provide site recovery in case of an outage.

Other key points from the guide -

Azure Migrate primarily supports Infrastructure-as-a-Service (IaaS)-based assessments for lift-and-shift migrations. However, during the discovery process, if database servers are found, Azure migrate will recommend the use of Azure Database Migration Service

Currently Azure Migrate supports only Locally Redundant Storage (LRS)

Typically, for 100 virtual machines, it takes about an hour for discovery to finish and display the virtual machines in the Azure Migrate portal after the Collector finishes running

Azure Migrate performs three checks on virtual machines in this order:
1. Azure Suitability Analysis
2. Performance-based sizing
3. Monthly cost estimate 

Using the performance history of the machine, AM considers the utilized cores of the machine for the comparison rather than considering all the allocated cores. 

If you must migrate a database, the next section outlines migrating SQL Server databases using  Migration Data Assistant and Azure Database Migration Service. 

Microsoft Data Migration Assistant enables discovery and assessment of current data environment, identifies compatibility issues, and recommends performance and reliability improvements.

Azure Database Migration Service partners with DMA to migrate existing on-premises SQL Server, Oracle, and MySQL databases to Azure SQL Database, Azure SQL Database Managed Instance or SQL Server on Azure virtual machines.

SQLPackage, a command-line utility that can be used to automate a range of database development tasks. 

If there is a need to fix compatibility issues, use SQL Server Data Tools.

To make the database portable for import into Azure, you need to create a BACPAC file. A BACPAC file is a .zip file with an extension of BACPAC containing the metadata and data from a SQL Server database. A BACPAC file can be stored in Azure blob storage or in local storage for archiving or for migration, for example from SQL Server to Azure SQL Database. For an export to be transactional and consistent, you must ensure that no write activity is occurring during the export. 

SQL Database communicates over port 1433. If you are trying to connect from within a corporate network, outbound traffic over port 1433 may not be allowed by your network's firewall. If so, you cannot connect to your Azure SQL Database server unless your IT department opens port 1433

The newest versions of the SQLPackage command-line utility provides support for creating an Azure SQL database at a specified service tier and performance level. 

The SQLPackage command-line utility is the preferred method to import your BACPAC database to Azure SQL Database for most production environments.

During the import phase, we recommend that you import to a higher performance tier database for best performance, but one that you may scale down after the import completes to save money until you are ready to actively use the imported database. 

Azure Database Migration Service (ADMS), now in limited preview, can help you migrate existing on-premises SQL Server, Oracle, and MySQL databases to Azure SQL Database, Azure SQL Database Managed Instance, or SQL Server on an Azure Virtual Machine. The amount of time the  migration will run depends on a variety of factors including size and complexity of the database, source disk speed, and network speed.

Uou can use Azure Cost Management to track daily costs and make right-sizing decisions. You can use Azure Log Analytics to analyze Azure data to determine how much CPU or memory a virtual machine is using, and then automate processes to alleviate a CPU or memory bottleneck. If you anticipate extremely erratic or bursting traffic into a virtual machine, you can automate Virtual Machine Scale Sets to create more virtual machines to handle the increased traffic. Conversely, you can reduce the number of virtual machines as the traffic decreases to minimize the cost of the overall environment for that application

Current Azure SQL Database offers don’t provide entire SQL Server “Instance as a Service” as PaaS model. As a result, some of the instance-level features in Azure SQL Database PaaS such as SQL Agent or linked servers are not supported because they are not applicable on the database level. Azure SQL Database Managed Instance is fully managed SQL Server Database Engine instance hosted in Azure and placed in your network.

Related:  Migrating a Hyper-V based virtual machine to Azure [PDF]

Comments