Migrate to Containers (GCP) | HCLTech
Engineering

Migrate to Containers in GCP clusters

Migrate to Containers is a Google Cloud Platform product that automates the migration and modernization of legacy applications to container-based platforms in one step.
 
5 minutes read
Rahul Chaudhary

Author

Rahul Chaudhary
Senior Technical Lead
5 minutes read
Share
Migrate to Containers in GCP clusters

The adoption of containerized applications is rapidly increasing among enterprises, driven by the need to modernize their applications and system infrastructures. Migrating your applications from on-premises bare metal servers and physical machines or virtual machines offers numerous benefits, including improved performance, enhanced security, optimal resource utilization, accelerated go-to-market time, faster development/deployment cycle, swift release cycle and other factors. However, realizing these advantages requires migrating old or legacy applications to container-based applications or rewriting/redeploying your applications from scratch using a containerization approach and technologies. While rearchitecting applications using a containerized approach is preferred, it can be challenging for complex legacy enterprise applications. Assessing whether the deployment and CI/CD team are equipped to manually handle the intricacies of application migration is crucial. Automated tools can significantly simplify this process reducing time, cost and potential errors.

In this blog, we will introduce a popular automated tool enterprises use during their migration journeys. Migrate to Containers in Google Cloud Processing (GCP) clusters facilitates automated migration from various supported source platforms to target container-based platforms, alleviating the need to list down and execute the manual activities, which can be very challenging.

Cloud adoption journey

Figure 1: Cloud adoption journey

Overview

Migrate to Containers is an automation product provided by GCP that assists enterprises in migrating legacy applications from supported source platforms to target container-based supported platforms with ease and flexibility. The tool supports the modernization of legacy applications without necessitating access to source code and rearchitecting the applications, as it is not always feasible to access source code and other artifacts in the case of third-party applications.

Below are the supported source and target platforms.

Supported source platforms

  1. GCP Compute Engine VM (Virtual Machine)
  2. VMWare VMs
  3. AWS (AMAZON WEB SERVICES) EC2 VMs
  4. Azure VMs

Supported target platforms

  1. Google Kubernetes Engine
  2. Cloud Run
  3. Anthos Clusters on Bare Metal and other Clouds (AWS)

Benefits

  1. Migrate and modernize in one fell swoop
  2. Choose the right migration path for the right workloads
  3. Get the benefits of containerization
  4. Take advantage of the benefits of GKE
  5. Incorporate services into legacy applications

Architecture

Architecture/workflow diagram

Figure 2: Architecture/workflow diagram

The Migrate to Containers solution consists of four operational components:

  1. Processing:

    The Migrate to Containers consists of some processing components that need to be installed on some clusters, which helps in migrating workload from VMs to Google Kubernetes Engine.

  2. Control

    The tool offers a utility called [migctl] to configure and operate the migration activities through the command line interface and the console. The utility facilitates tasks such as installing/uninstalling Migrate to Containers' processing components from the cluster, validating the deployment, configuring migration sources, managing workflow actions and providing comprehensive visibility into migration status, progress and logs.

  3. Workload execution:

    Generated containerized workloads can be run on Google Kubernetes Engine or Anthos Clusters, meeting the minimum requirements.

  4. Maintenance

    This phase involves maintaining the migrated workloads, such as upgrading required software packages, embedded file changes or runtime software upgrades.

Migrate to Virtual Machines (VMs)

With Migrate to Containers, any enterprise can seamlessly migrate their workloads from Compute Engine-based VMs to Google Kubernetes Engine or Anthos Clusters. However, for workloads not running on Google Cloud but on on-prem virtual machines or other cloud virtual machines, Migrate to VM (M2VM) steps in. M2VM can aid in the first migration of applications to Google Cloud Compute Engine-based VMs. Subsequently, using Migrate to Containers, applications can be migrated from Compute Engine VMs to GKE or Anthos cluster as container-based applications.

You might decide to break down your migration journey as:

  1. Migrate your applications from on-prem or other cloud to GCP Compute Engine VMs using Migrate to VM
  2. Migrate your applications from GCP Compute Engine-based VMs to GKE or Anthos cluster using Migrate to Containers

This two-step approach makes sense when you want to migrate the whole data center to the cloud or all workloads to Compute Engine VMs and subsequently move some suitable applications to container-based platforms GKE or Anthos cluster using Migrate to Containers.

Migration journey

To migrate enterprise workloads from your source environment to container-based platforms on GCP, you can follow the migration process below.

Figure 3 below shows the path of your migration journey.

Migration journey

Figure 3: Migration journey

  1. Assess: In this phase, the tool assesses each workload on each virtual machine in your source environment to determine whether it needs to be migrated to Google Cloud.
  2. Plan: In this phase, the basic infrastructure required for the migration is prepared. This encompasses provisioning the resources needed, processing the cluster and setting up the required network access to your source environment.
  3. Deploy: In this phase, the required workloads are migrated and deployed to the target environment GKE, Anthos cluster or Cloud Run using the Migrate to Containers tool.
  4. Optimize: In this phase, the workloads or applications already deployed are optimized on the container-based target environment with Google Cloud tools, technologies and native capabilities.

Summary

Migrate to Containers tool is extremely useful in migrating and modernizing the legacy or on-premises applications from customer environments to the GKE. It saves much time doing manual and error-prone activities and costs doing the same migration automatically instead of manually. The main advantage is that it combines migration and modernization into one step, removing the complexity of doing most of the heavy lifting behind the scenes. With a few clicks and no manual process and code rewriting, you can migrate and modernize your applications from the data center or other clouds into containers in GKE.

References

  1. https://cloud.google.com/migrate/containers
  2. https://cloud.google.com/solutions/application-modernization
  3. https://cloud.google.com/architecture/migrating-vms-migrate-for-compute-engine-getting-started
  4. https://blog.searce.com/?gi=3a8605185c40
Share On