Kubernetes promises a degree of freedom from cloud vendor lock-in, providing an API and runtime for containers that most cloud providers support. Beyond the core of container orchestration, there are abstractions for load balancers, persistent storage and autoscaling, to name a few. With this in mind, when Manifold set out to switch cloud providers, we decided to do so by first using as many abstractions in the Kubernetes ecosystem as possible.
In this talk, we will explore how Manifold used Kubernetes to migrate between cloud providers. We will look at how to identify cloud specific services and APIs in use in your application, and how Manifold evaluated whether to uplift to a Kubernetes abstraction, translate to the other cloud provider’s service, or keep as is. Finally, we will discuss the challenges and successes of the actual migration between cloud providers.