Welcome to yet another article in our virtualization series, in which we will talk about lift-and-shift in the virtualization world.
The journey to the cloud is an exciting one, and is filled with promises of scalability, flexibility, and innovation. However, the path to the cloud isn’t a straightforward one and organizations don’t always assess their requirements before embarking on this journey. In this blog, we’ll delve into the reasons why the traditional “lift and shift” approach to migrating virtual machines may not be the best strategy. Instead, we’ll explore the benefits of modernizing applications to make them truly cloud-native.
What is Lift and Shift
“Lift and shift” is a migration approach where existing applications or workloads are moved from one environment to another without significant modifications. In the context of cloud computing, it often refers to moving on-premises applications or virtual machines to the cloud without redesigning or optimizing them for the cloud environment. Imagine you have a set of applications and data running on your own servers in a traditional data center. If you decide to adopt cloud services, the lift-and-shift approach involves essentially picking up those applications and their associated components and moving them to a cloud infrastructure, like lifting your belongings and shifting them to a new location.
This practice was heavily marketed by VMware in the mid 2010s when the company started consolidating partnerships with Cloud providers and designing their multi-cloud vision. As Cloud Native architecture is a change of mindset for many infrastructure folks, it gave them an “in” without throwing everything they knew to the bin.
Lifting and shifting virtual machines to the cloud might seem like the quickest route to migration. The process is fairly simple as it involves replicating or moving your existing on-premises virtual machines to a cloud environment. It’s like picking up your entire house and dropping it into a new neighborhood. Similar scenarios would typically involve tools like VMware HCX for the migration to move virtual machines to the likes of Azure VMware Solutions or VMware Cloud on AWS.
While this approach has its merits, it often falls short of unlocking the full potential of cloud computing and can lead to skyrocketing cloud usage costs that will give C-level executive a cold sweat and lead to rethinking the company’s cloud strategy.
Missed Opportunities for Optimization
Technically, lift and shift will get you to the cloud as your workloads will be physically running in AWS, Azure and so on. However, it won’t optimize your applications for the cloud environment and the virtual machines will simply be running on someone else’s hardware instead of your own. Of course, there are benefits to it such as, reduced overhead in infrastructure management for your infrastructure team as the provider will take care of the VMware layer for you, but it will not be more efficient by any means.
Cloud platforms offer a plethora of services and features that can significantly enhance performance, reduce costs, and improve scalability. By modernizing applications, you can leverage these services to their full extent or run them in highly available fashion in an orchestrator like Kubernetes.
Scalability and Elasticity
One of the core benefits of the cloud is its ability to scale resources dynamically based on demand. As a result, you only pay for what you consume and reduce the need for capacity planning or idle resources.
Lifted and shifted applications may struggle to fully exploit this feature, as they are often designed with static, on-premises infrastructure in mind. Specific features like Elastic DRS in VMware Cloud on AWS (VMC on AWS) may offer some level of flexibility as it will automatically scale the vSphere cluster when resource demand increases, but it will not be application aware.
Cloud-native applications, on the other hand, are built to scale effortlessly, adapting to varying workloads and maximizing efficiency.
Cloud-Native Transformation
Cloud-native applications are designed from the ground up to harness the power of the cloud and here is why you should consider this approach rather than moving full VMs to the cloud:
- Cloud-native applications are tailored to leverage the specific features and services offered by cloud platforms. This optimization will lead to improved performance, reduced latency, and an overall better user experience
- Cloud services operate on a pay-as-you-go model, allowing you to pay only for the resources you consume. By modernizing applications and taking advantage of cloud-native features, you can optimize resource utilization, leading to significant cost savings in the long run
- Cloud-native development encourages the use of microservices, containerization, and orchestration tools like Kubernetes. This modular approach enhances agility, making it easier to update and release new features. It fosters a culture of innovation, enabling teams to experiment, iterate, and deliver value at a faster pace
With that said, modernizing workloads to be cloud native isn’t as easy as I make it sound in this article. It is usually a significant investment but a worthwhile one in the long run.
Because such endeavour can be overwhelming, some companies with a pool of experts in this field can help organizations with their cloud native journey to modernize their applications and to run Kubernetes on VMware in safe and scalable manner. The transformation often involves several steps such as:
- Assessment and Planning:
- Evaluate current applications
- Identify candidates for modernization
- Containerization and Microservices:
- Containerize and orchestrate applications
- Refactor into microservices architecture
- Cloud-Native Development Practices:
- Adopt DevOps for CI/CD and automation
- Implement IaC, serverless, and cloud-native databases
- Security, Monitoring, and Culture Shift:
- Prioritize cloud-native security
- Implement monitoring and observability
- Invest in training and foster a culture of continuous improvement
The case of Disaster Recovery as a Service
While challenging Lift-and-Shift scenarios, I wanted to address a use case that could be perceived as such but that actually isn’t and has its place in the ecosystem. I am talking about Disaster Recovery as a Service (DRaaS). A few years ago, VMware unveiled DRaaS, a framework that allows you to recover your virtual machines in a VMware environment running in the cloud.
The pros of the solution lie in its flexibility as you can have running hosts for your critical workloads in order to minimize downtime, and when the time comes to spin them up in this cloud environment after sustaining an incident in the SDDC. But it can also dynamically spin up vSphere hosts and add them to the cluster to expand the capacity to the point where all the virtual machines can be restarted there. The benefit of this approach is that you don’t need to be paying for idle vSphere hosts running in the cloud just waiting for a disaster recovery plan to be invoked.
Wrap up
While lifting and shifting virtual machines may provide a quick entry point to the cloud and moving the workload closer to potential cloud services they might consume, it is essential to recognize the missed opportunities for optimization and innovation.
Embracing cloud-native transformation allows businesses to fully capitalize on the benefits of the cloud, optimizing performance, reducing costs, and fostering a culture of continuous innovation. In the ever-evolving landscape of technology, the future belongs to those who embrace change and leverage the full potential of cloud-native development.
Read More:
Virtualization Trends Series: 10 Free Tools to Improve your CLI Experience: Part 13
Follow our Twitter and Facebook feeds for new releases, updates, insightful posts and more.