Migration as Code: The End of the Lift and Shift Era

[rt_reading_time label=”Read Time:” postfix=”minutes” postfix_singular=”minute”]

The discussion around migration has evolved from “if” to “when,” leading many businesses to consider important migration decisions. For most companies, this means choosing the right cloud provider. While that is important, what is equally (if not more) important is focusing on the actual migration method itself.

Although the Lift and Shift migration model has long been the “tried and true” way of doing migrations, there are a number of challenges and problems that exist and continue in a Lift and Shift migration. What many people don’t know is there’s an alternative in the Migration as Code approach.

What is Workload Migration?

A workload is the amount of processing that a computer is required to do at any given time. A workload migration is the process of transitioning how and/or where these workloads are processed. For example, the process of moving data, applications or other business elements to a cloud computing environment is a workload migration call a cloud migration.

What is Lift and Shift in AWS?

Lift and shift is a type of workload migration, where you remove workloads and tasks from one storage location (usually on-premise) and placing them in another (usually cloud-based) location (namely AWS) with minimal modification. Lift and shift is a popular migration method because it allows you to move applications quickly and easily without needing to re-architect them.

What is Migration as Code?

Migration as Code takes some of the core tenets of DevOps and applies them to workload migration, allowing for real-time movement without human involvement. This opens up opportunities for automation and improvement throughout the migration process. Although Migration as Code is still a relatively new practice, it offers a lot of distinct advantages that should have companies considering it over the Lift and Shift approach.

How Migration as Code Addresses the Challenges of Lift and Shift

Lift and Shift migrations can seem a quick means of moving from the data center to a cloud platform, however, there are a lot of drawbacks to taking this approach, even if it initially seems quicker. Lift and Shift is a literal transfer of data, meaning that the systems stay largely the same. This includes any existing problems or challenges from the data center. Unfortunately, this also means that the cloud is treated as a data center, which defeats the purpose of a cloud migration. Treating the cloud as a data center is one of the biggest mistakes that can be made in a migration.

Infrastructure operates differently in the cloud, and the cloud has many advantages over an on-premise system. A failure to account for this means that customers aren’t taking full advantage of the cloud. In turn, this means they’re making large investments in a migration without optimizing ROI. This means they are not taking advantage of benefits such as scalability, disaster recovery, or other cloud native features that make a cloud architecture advantageous.

With Migration as Code, migration isn’t treated as a one-to-one. Instead, there’s a greater focus on delivering applications. Through automation of application migration, infrastructure components are represented as infrastructure as code and are moved in and out of environments in an iterable fashion. While this may be a slower process upfront due to the build out of continuous integration and deployment pipelines (CI/CD), these pipelines can be reused, creating greater value in the long run while also addressing infrastructure issues often left in place by Lift and Shift.

Understanding the Migration as Code Method

In order to understand the migration as code method, it’s important to understand the agile and incremental approach that is continuous delivery. CI/CD pipelines are built in order to promote automation and create sustainability. Applications are the unit of work and everything is done on the application level, with delivery focused on applications moved in and out of environments one piece at a time. Deployment patterns are identified and re-used for simplification of future migration needs. This also simplifies quality assurance and security of applications, as they’re easily code reviewed. The pipeline format also allows for greater adaptability down the road as you can test and try new things in the environment at a quicker speed.

The ultimate result is a migration done in overall less time, and with less wasted investment. And instead of being one and done, the pipelines are reusable for future initiatives such as DevOps Transformation.

Knowing your options when it comes to migration can set you up for cloud success in the future. By choosing Migration as Code over the more common Lift and Shift approach, you can elevate your migration for better opportunities at cloud innovation, and match the level of cloud maturity needed to accomplish your business goals.

For more on Onica’s Migration as Code offering and how you can elevate your AWS workloads, check out our page!


Hidden layer

Share on linkedin
Share on twitter
Share on facebook
Share on email

Onica Insights

Stay up to date with the latest perspectives, tips, and news directly to your inbox.

Explore More Cloud Insights from Onica


The latest perspectives on navigating an ever-changing cloud landscape

Case Studies

Explore how our customers are driving cloud innovation in their industries


Watch an on-demand library of cloud tutorials, tips and tricks


Learn how to succeed in the cloud with deep-dives into pressing cloud topics