It’s been more than 5 years since I am testing and comparing 1st party migration tools. I have seen these tools getting better over the years, with major improvements by acquisitions, end-of-life products, continuous changes, and improvements not just the tools but the methodology around, well-architected, CaF, the concept of the landing zone, 5Rs become 7Rs. In this article, I am sharing my experiences with the most commonly used cloud migration tools.
AWS MGN – Amazon Web Services – Application Migration Service
Let’s start with the agent-based or agentless dilemma. I can test both agent-based and agentless approaches thanks to my great VMware source LAB. Some people told me that the taco-lover-hipster-style-cloud-native people will never use silly-unpredictable-bottleneck-heavy agentless solutions 🙂 These guys designed Netflix and similar immutable systems, so I need to admit that they are right, and I was wrong at some point about flavoring agentless migrations (possible proxy/transfer gateway bottleneck design issues). But still, choosing between agent-based or agentless VM disk replication is not a religious question – each option has pros and cons. I think large enterprises still hate to install agents, especially in production on-premises (vSphere or Hyper-V virtualized) systems, unless it is a must.
You can make mistakes in networking configuration so you will see “Stalled” replication status and agent authentication issues.
When it comes to networking, the agent needs ports TCP/1500 (which might be blocked) and TCP/443.
Agent installation on Windows is similar to Linux – quite easy
I really liked the concept of using EC2 Launch Templates in MGN.
Without further do, my quick assessment
- combined with AWS Migration Factory and AWS Control Tower this can possibly handle very large migrations
- agent installation is very easy and high-scale automation-friendly
- this is a mature solution with a long history, not only Linux, AWS is keen to get Windows Workloads to their cloud, and it offers both Database Migration, Schema Conversion, and App Migration tools as well.
- for me, using proxies for replication and flavor agentless solutions, it was a bit interesting to see that each source VM gets a target replication VM (a small individual Linux) to receive disk replication data, somewhat waste of resources in the cloud, but nevertheless, this is no additional cost, and I understand the scalability and durability reasons (less/no bottleneck).
- each AWS region has its own MGN, this is not a global service, if you plan to migrate multiple regions, you might need multiple MGN configurations or build a custom orchestration on the top
- testing VMs as slow as Azure Migrate, come on, GCP made it fast. I think the admin user experience makes sense. no one likes to wait at the cloud console 🙂
Kudos (this is how Microsoft people say thanks) to Ivan Trbovic | LinkedIn my partner in MGN crime(s). Special thanks to Mattia Lepri Berluti | LinkedIn who is probably the most experienced expert in this topic. Thank you, guys!
GCP M4C – Google Cloud Platform – Migrate for Cloud
Changing gears, and let’s see what GCP can do for us. I used Aga’s blog to study how she tested M4C a little earlier (as a Google employee). I was impressed with Azure Migrate that time working at Microsoft 🙂
Migrating VMs from VMware on-prem (or GCVE ) to Google Compute Engine – SOFTWARE DEFINED BLOG
It starts again with pimpimg my VMware Source system to create users and roles for M4C to connect to vSphere.
Well, I need to admit that I failed to generate an SSH key using Windows OS and PuTTY. I have no idea of how to do this. But I do not care, because I found the right solution.
I was a bit upset about losing an hour on deploying a VMware template and connecting to it.
Then I decided to use my Ubuntu VM to generate an SSH key
Please take a look at this important screenshot, this is how to nail it
The appliance command line configuration was kind of easy, with no drama, just followed the documentation.
I got a public IP to test VM
- Speed. Mind-blowing fast. Finally. Test migration in less than a minute. This is how it should be. Well done Google.
- A modern interface and perfect APIs and automation opportunities.
- Easy to setup, especially if you generate the appliance SSH on Linux 🙂
- Still a bit non-mature, i.e. new. I am not sure about large-scale migration capacity.
- Semi-automated test cleanup
- Lack of/limited ecosystem, especially compared to Microsoft Azure Migrate
Kudos to Sándor Tibor Polák | LinkedIn who wanted to check out this tool with me as an afternoon GCP hands-on challenge for an Azure and AWS expert.
MS AZMIG – Microsoft Azure Migrate in 2019
I remember, that back in 2019 it was only Cloudamize as 3rd party assessment tool available as part of the Azure Migrate ecosystem.
At that time, I was deploying side by side the VMware vSphere and the Microsoft Hyper-V-based appliances to see what are the differences.
I remember, that besides the connection credentials to Hyper-V or vCenter, the VMware version of the appliance required you to install VMware Disk tools. Just like today in 2022.
In 2019, working at Microsoft I was happily using Hyper-V next to my VMware clusters. However, never managed to connect Azure Migrate to a cluster, only a single node standalone Hyper-V. Maybe the product was in preview (buggy), or I did a mistake on the Hyper-V cluster credentials configuration. At that time, I was a happy System Center User. Up to Windows Azure Pack. Deploying something called Cloud OS Network to service providers in Central Eastern Europe together with Microsoft delivery partners. Lots of fun. Early days of Azure.
I can’t have a happy life without having a cool VMware source lab, so that time in 2019 my VMware lab looked like this
For the Linux source system, I used ISPConfig, which has a sense of multi-tenancy (LAMP hosting control panel) instead of a single admin boring WordPress. Ups, apologize AWS, the migration workshop demo is still very cool (WordPress based). But I am a special hosting mindset service provider geek, I like to challenge myself with advanced source workloads.
The insider preview portal in 2019 was quite similar to the 2022 version of Azure Migrate. Below you see a 4-node basic Windows workload assessment. Obviously, everything is super green. Next time I will add some Gentoo Linux w. custom compiled kernel/modules 🙂
It was really nice to map each disk to the target, an example is an MS SQL server with multiple disks.
I do not think that MS had the Bastion Host in 2019 🙂 I used traditional point2site or site2site VPN and tested with RDP to private IP. Or sometimes put a temporary jump box VM to the target network, actually networks, one for the test and one for the production.
MS AZMIG – Microsoft Azure Migrate in 2022
Let’s fast forward in time and see how Azure Migrate looks today.
First thing first, this is not only for servers anymore. It can handle databases and web apps. Because there is Database Migration Service. I still remember from 2014 www.movemetothecloud.net (Introducing Azure Websites Migration Assistant | Azure Blog and Updates | Microsoft Azure) which is now part of Azure Migration and Modernization Center | Microsoft Azure – see Web App section.
For the Azure Migrate VMware appliance, you still need to download VDDK.
I was running training on Azure Migrate in May 2022 for another partner. We spent soo much time on understanding how to connect to vCenter with the very minimum permissions to do the discovery and the actual replication and migration.
If you need more real-time and accurate information I highly recommend to monitor Azure Migrate Appliance on your network firewall
That’s it. No drama. Azure Migrate does its job.
- quite easy to use
- it works for smaller workloads, not only Windows, and not only MS SQL. Microsoft loves Linux.
- nice 3rd party ecosystem of assessment and discovery tools – that’s huge, well done
- quite slow orchestration, especially compared to GCP M4C 🙂 Starting up a single small demo VM in Azure (test migrate) from already replicated disks takes ages.
- I like agentless. However, SCOM/Log Analytics/Dependency mapping or whatever agent is still not the replication agent what and how AWS MGN does.
- scalability, I can group VMs to assessments, and it works nicely within the range of 5-50VM, I am not sure about 1000+ VMs. There is a lack of large-scale orchestration and automation without using 3rd party ecosystem.