A forklift migration enables you to move VMs and their dependencies from a local data center to the public cloud, but you must pay careful attention to preparation and tool deployment to ensure a successful migration.
Some refer to forklift migration as lift and shift. It's generally the preferred approach for the migration of legacy enterprise applications that aren't cloud-native.
A forklift migration typically starts by identifying the local VM that should be migrated. Normally, this involves a careful evaluation of any prerequisites and limitations involved, such as suitable OS versions, image format requirements and OS licensing.
The next step in forklift migration is to gather and deploy any necessary tools. For example, if you're seeking to forklift VMs to AWS Elastic Compute Cloud instances, you'll likely need to install EC2 command-line interface tools on the local system with the VM images. Similarly, Google Cloud Platform users might opt to use a workflow tool such as Daisy, which can create guest OS images for GCP, import physical or virtual disks to Google Compute Engine instances, deploy GCE environments and perform testing in GCE.
Prepare the VM for forklift migration
Migration preparation might involve a wide range of steps depending on the VM's OS and the VM's use of underlying system resources. For example, preparing a VM for GCP might require you to uninstall VMware Tools from a VMware VM, disconnect any drives, set the network to use dynamic host configuration protocol for dynamic IP addressing rather than using static IP addressing and enable remote desktop protocol under Windows, or secure shell access under Linux. A preparation process will usually conclude with shutting down the VM to be migrated and exporting that VM from the virtual environment to create an image file in a desirable format.
Next, use the appropriate tools to move the VM image file to a suitable storage instance in the public cloud. For example, AWS users would use the EC2 command-line interface to invoke an import such as the ec2-import-instance command, which enables you to specify the VM image name, format, desired target instance type, target storage instance and other parameters. You can then check the status of the import using the ec2-describe-conversion-tasks command, which reports the import status as active, cancelling, cancelled or completed. If the import fails for any reason, you can determine the problem, correct it and try the import to the public cloud again.
Once the import to the public cloud is complete, the VM image will reside in a storage instance, such as an Amazon Simple Storage Service bucket. You can then log onto the cloud provider's regular management console, locate and select the imported instance and start that instance. After the instance starts, you can connect it to other components, test and verify it and delete the imported image from storage, which eliminates the cost of ongoing image storage.
Take these steps to ensure a smooth VM migration process
Migration requires detailed preparation of your VMs, including proper configuration and tool installation. AWS in particular has granular configuration requirements that need to be met before migration.
After, double-check that common cloud compatibility issues won't disrupt the migration process. Different public cloud providers have different standards, so it's important to build compatibility checks into migration preparation. A common issue that will need addressing is a lack of support for VMs that host alternative OSes.
Take advantage of some cloud migration best practices and assess cost and suitability. Due to the high degree of variance between public cloud providers, admins will need to learn different VM migration techniques to keep up. Admins must be critical of VMs before deciding how to migrate them and even consider, in some cases, not migrating at all.
Use tools to make VM migration easier
A forklift migration process like the one described here includes many manual steps. Each poses the possibility for errors and oversights that might require unnecessary troubleshooting and remediation. Fortunately, public cloud adopters can use a variety of tools to aid in forklift migration.
Examples include the AWS Server Migration Service, which can automate, schedule and monitor bulk VM migrations to the public cloud. Microsoft's Azure migration center offers an alternative tool for Azure users. CloudEndure enables the migration of VMs to major public clouds including AWS, GCP, Azure and VMware.
A forklift migration isn't the only approach to workload migration. It's sometimes best to migrate workloads piecemeal. In this process, you would migrate select components or resources to the cloud first, such as data sets, and then migrate other components or dependencies systematically over time, such as databases or other middleware. This ensures that the overarching application continues to work properly each step along the way.
You can also fundamentally rearchitect the workload into a cloud-native form, such as a container-based microservices architecture, and design it to work with the cloud instead of the local data center. Organizations, however, typically reserve cloud-native application initiatives for the newest software development projects rather than for the reworking of existing applications.