Sometimes referred to as “lift-tinker-and-shift”, replatforming includes making a few cloud optimizations without changing the core architecture of the application. Replatforming modernizes your business by taking advantage of new cloud infrastructure in a way that best suits your business needs.
As with most migration and modernization routes, replatforming lets you start small and scale as needed. This means you can move some workloads to the cloud and experiment with the cloud environment without committing to a large migration effort. By replatforming, businesses can maximize the benefits of being cloud-native while minimizing the time and complexity of a full-scale migration.
Kicking off with Kuberenetes
If you’re thinking of replatforming, chances are that you’ve probably heard of Kubernetes. An open-source container orchestrating system, Kubernetes is slowly taking over as a platform on which to run applications. In a containerized system like Kubernetes, a container engine rests on top of the operating system and isolates the many applications running inside it. A container system is lighter and less time-consuming than a virtual machine and, from a security and performance perspective, provides enhanced separation and speed. Kubernetes is a way of running thousands of such containers on a cloud platform.
Kubernetes, with its self-healing capabilities, is cost-effective to operate and maintain. It lets you take advantage of the cloud without having to implement major changes to your application systems and allows you to run thousands of applications at internet-scale. Its scalability means that you can customize it to your evolving business needs. A healthy and sustainable Kubernetes environment comprises an ecosystem of 20 to 30 related programs that work to support and monitor the overall system. .
More and more businesses are moving away from virtual machines to easy-to-manage and lightweight containers. Now that you’ve decided to run Kubernetes on AWS, what are the next steps?
Managing with Amazon Elastic Kubernetes Services (EKS)
Amazon EKS is a managed container service that makes replatforming easier and more time-efficient by running and scaling Kubernetes applications in the AWS cloud or on-premises. As a certified Kubernetes-conformant, Amazon EKS is compatible with existing applications that run on upstream Kubernetes.
Whether you choose to replatform through Amazon EKS or not, these are some areas your team can start working on to assess how feasible the replatforming effort will be:
- Try to get your application into a container to test whether a container-based system is optimal for your business needs.
- Depending on what you choose to replatform with, analyzing relevant features of the platform, like the scalability of Kubernetes clusters and its operating speed, is a crucial step.
- Another key step is identifying how you’d like to balance the traffic between where the application lives currently and where you’re replatforming it to.
Customers often ask about how to reduce the risk of a replatform in terms of downtime or rollback strategy. For this, we use Consul.io, a free tool for splitting traffic between the existing virtual machine technology (VMware or Amazon EC2) to the platform you’re replatforming to. This reduces the amount of code you’ll need to change in the applications you’re replatforming and makes it an easier process. There are a lot of similar open-source tools available to support your replatforming journey.
Assembling your replatforming team
In our blog on rehosting, we identify four key roles required for a successful migration and modernization: scrum master, business analyst, DevOps expert and cloud architect. Replatforming also requires a similar team of experts, especially in terms of a DevOps team that has experience with Kubernetes and its ecosystem.
Replatforming provides a strong platform to refactor and rebuild, more details on which are discussed in the next blog.
Building solid cloud foundations
If you’ve decided to replatform, you need to start by building a solid cloud foundation. Establishing a strong foundation is important as it enables you to run older applications that have been rehosted as well as more modern and cloud native applications that you can eventually build upon. At Xerris, we help businesses build a strong cloud foundation so they can replatform in a secure and scalable environment.
To learn more about the importance of a solid cloud foundation, check out this blog where we go into more detail and discuss next steps.