Blogs

Moving From Lift-and-Shift to Cloud-Native

Analyst firm Forrester recently predicted that 2022 “will see big organizations move decisively away from lift-and-shift approaches to the cloud, embracing cloud-native technologies instead.”

According to Gartner, more than 85% of enterprises “will embrace a cloud-first principle by 2025 and will not be able to fully execute on their digital strategies without the use of cloud-native architectures and technologies.”

As the Gartner analysts put it, “cloud-native platforms improve on the traditional lift-and-shift approach to cloud, which fails to take advantage of the benefits of cloud and adds complexity to maintenance.”

What’s happening here? Is lift-and-shift–long seen as a relatively quick and inexpensive way to migrate existing workloads to the cloud–really going the way of the dinosaur? Has the cloud-native future really arrived?

I think the true answer is somewhere in the middle right now. Yes, many companies have adopted a cloud-first strategy, turning to the cloud as an assumed starting point for most or all of their application needs. But many others still have a mix of on-premises infrastructure and public cloud infrastructure with opportunistic lifting-and-shifting from one to the other rather than a holistic cloud-native model.

Lift-and-shift has been and remains a perfectly natural and effective step in many organizations’ cloud journeys. All you do is redirect a copy of an application from an on-premises data center to the cloud–no need to redesign the app’s architecture or code.

This method offers a fast and efficient way to leverage the cloud’s benefits: The ability to focus IT dollars on operational (rent) rather than capital (own) expense and take advantage of the extensible computing power, storage and other services in the cloud.

In contrast with lifting and shifting, a cloud-native approach takes longer and is more labor-intensive because it takes many moving parts to redesign the entire app ecosystem. The payoff comes later with lower total cost of ownership and more flexible, responsive infrastructure.

If many companies are still lifting-and-shifting, why are the analysts so bullish that it is on its way out? Because lift-and-shift isn’t as simple and inexpensive as it looks. It essentially defers the eventual re-engineering to cloud-native and yet still requires an investment in capacity, people, money and time.

First, despite lift-and-shift’s promise as an easy way to migrate existing applications to the cloud, it is common for organizations, no matter how much they plan, to hit some technical roadblocks in the execution. An app that worked a certain way in the legacy environment might not work exactly the same way in the cloud, and these details must be worked out.

Second, companies are often caught off guard by cloud “sticker shock”–the unpleasant billing surprises that occur when workloads exceed the capacity agreed on with the cloud provider.

Third, while lift-and-shift is a way to advance on the cloud path, it’s not the ultimate destination.

The Cloud Native Computing Foundation defines cloud-native technologies as empowering organizations “to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.”

That’s a much bigger vision than the intermediary steps that lift-and-shift entails.

What should companies still engaged in a lot of lifting-and-shifting be doing to prepare for their cloud-first future?

1. Containerize like crazy. Virtualization was a game-changer because it allowed companies to abstract away hardware and run multiple virtual machines (VMs) on a single piece of hardware. This allowed a move in best practices toward a VM-per-function. Process containers, made famous by Docker and Kubernetes, are a logical extension of this concept: Stripping out redundant pieces of an operating system so that each logical unit contains only what is needed for the function it is designed to achieve. That, combined with a more deliberate approach to separating application and data, is the secret sauce of a cloud-native enterprise. Container adoption has been growing rapidly in enterprises–Gartner has predicted that containers will be the “default choice for 75% of new customer enterprise applications” by 2024. This trend bodes well for the move away from lift-and-shift to cloud-native and brings organizations closer to “write once, deploy anywhere” as each of the major cloud platforms and many on-premises tools provide mechanisms to run containers as first-class citizens.

2. Consider the skills equation and where you want to focus your efforts. Every company embarking on a cloud-native strategy needs to carefully examine to what extent they’ll need architects and other skilled pros to carry it out. They need to think about what makes sense in terms of hiring people in-house, outsourcing to third-party experts and leveraging public cloud offerings such as serverless computing that reduce labor requirements.  It may be more sensible, for example, to focus on migrating application development to containers but rely on public cloud container platforms, low-ops Kubernetes or managed data center Kubernetes services rather than trying to build that competence in parallel.

3. Rely heavily on automation. One of the advantages of containers encapsulating everything they need is that it makes it easier to build, test and deploy them as part of a CI/CD pipeline. Given they are also normally easier to scale horizontally, it is possible to automate how the application will scale to respond to external factors. Taking a model-driven approach to cloud-native applications can help DevOps teams and developers understand the conceptual pieces and relationships between complex software deployments while automating some of the details and life cycle management. Monitoring microservices brings its own set of challenges, so it is important to ensure that the observability tools you are using were designed to be effective with cloud-native applications. Cloud-native can bring great scalability benefits, but only with sufficient automation to limit friction in the cloud-first journey.

4. Have a strong update strategy. Moving to containers distributes your software provenance and update problem across a much greater number of pieces; containers are not normally updated but instead are replaced with an updated version. This changes your traditional update approach. It is more important than ever that the pieces you are putting into those containers at build-time have a good software provenance and update story.

5. Think holistically. Ruthlessly evaluate what apps can be cloud-native and which should remain in the data center and then consider the true benefits of hybrid cloud. Some organizations get caught up in thinking they need to move everything to the cloud wholesale. Maybe cloud-native isn’t right for everything.

The industry-wide transition from lift-and-shift to cloud-native is accelerating. By keeping these five points in mind, companies can feel confident they’re moving forward, too. 

Alexander Gallagher

Alexander Gallagher, Vice President of Cloud at Canonical, publishers of Ubuntu, leads the Cloud Division on two fronts, to enable the Public Clouds with Ubuntu/Canonical products/services and supports the end users adoption and operations of Secure Open Source Software.

Recent Posts

GitLab Adds AI Chat Interface to Increase DevOps Productivity

GitLab Duo Chat is a natural language interface which helps generate code, create tests and access code summarizations.

1 hour ago

The Role of AI in Securing Software and Data Supply Chains

Expect attacks on the open source software supply chain to accelerate, with attackers automating attacks in common open source software…

7 hours ago

Exploring Low/No-Code Platforms, GenAI, Copilots and Code Generators

The emergence of low/no-code platforms is challenging traditional notions of coding expertise. Gone are the days when coding was an…

1 day ago

Datadog DevSecOps Report Shines Spotlight on Java Security Issues

Datadog today published a State of DevSecOps report that finds 90% of Java services running in a production environment are…

2 days ago

OpenSSF warns of Open Source Social Engineering Threats

Linux dodged a bullet. If the XZ exploit had gone undiscovered for only a few more weeks, millions of Linux…

2 days ago

Auto Reply

We're going to send email messages that say, "Hope this finds you in a well" and see if anybody notices.

2 days ago