In this article, we will introduce you to Migrate for Anthos. Migrate for Anthos is a set of tools that inspects existing workloads running in virtual machines and automatically creates the needed container artifacts for modernization. Let us break down that last sentence into two parts and talk separately about where these virtual machines might be running and what types of artifacts Migrate for Anthos creates.
Migrate for Anthos can migrate both Windows and Linux applications. Windows applications can be running on a Google Compute Engine VM. In addition to Google Compute Engine, Linux applications can also be hosted on-prem with one of the following:
- VMware vSphere
- AWS EC2
- Azure VMs
In Migrate for Anthos, where your VM currently resides is called the migration source. For this article, the source will be an application running in a VM on Compute Engine. The output from Migrate for Anthos is a comprehensive set of artifacts that you can use to deploy your newly containerized application. These artifacts include:
- A Kubernetes YAML file that you can use to create Kubernetes deployments and services
- A Dockerfile that can be used to create a new container image.
- And other YAML files that describe what was actually migrated.
Once you have these artifacts, you can deploy the containerized version of your application to an Anthos cluster or to the various flavors of Google Kubernetes Engine, including GKE running on Google Cloud, on-prem, or on AWS.
Advantages of Migrate for Anthos:
There are several key benefits to migrating your workloads. They are discussed and listed below:
- The first is density. Containers are much lighter weight than VMs since they don’t contain the operating system, and therefore, require considerably fewer compute and memory resources. This in turn allows a greater density of workloads across your clusters, fine-grained resource allocations, and overall lower infrastructure costs.
- Another benefit is security. GKE offers automatic operating system upgrades, freeing you from the burden of maintaining your operating system. You can also augment legacy apps with modern services. GKE allows you to leverage platform add-on services to integrate up-to-date functionality with existing apps. Additionally, you can leverage Cloud Logging and Cloud Monitoring with your applications.
- Unified policy and integrated resource management. GKE allows you to focus on managing applications, not infrastructure. It offers the power of declarative desired state management with powerful tagging strategies and selector policies. You can also move to modern image-based management and orchestration.
- Migrate for Anthos offers a unique capability to extract an application from the VM workload and construct a Docker image and related artifacts, which in turn, allows you to modernize the application lifecycle and operations management. This could include integrating with a CI/CD pipeline, using tools like Cloud Build to implement day 2 maintenance procedures.
- Furthermore, image-based management enables customers to use GKE to perform rolling updates, dynamic scaling, self-healing, and more.
So now you have a general idea of what Migrate for Anthos does and why you might choose to use it, let’s jump into an actual migration. Migrate for Anthos has three primary components– the Discovery tool, which assesses how successful migration of a given application might be; the Processing Cluster, a Kubernetes cluster that is used to examine the source VM and create the migration plan, as well as execute the actual migration; and migctl, a command-line tool, like kubctl, for interacting with the processing cluster. Migctl is already installed in Cloud Shell.