So you are now running containers in production and you are starting to get the hang of things. You notice that while it was easy to get started, now your costs are going up as you add more and more containers. It my be time to move to a different service or cloud but is it easier said than done? Here are some tips to avoid getting locked in and easily move your containers anywhere you want.
1. Use your own private registry
While it’s easy and attractive to use Docker hub or the registry provided by your cloud provider, having your own that you control and manage makes it easy and affordable to move. Harbor is an open source container registry full of commercial grade features.
2. Use a standard multi-cloud management tool
Why learn all the intricacies of one kubernetes distro just to have to re-learn it for other clouds. Tanzu Mission Control allows you to standardize on one management interface across kubernetes distros.
3. Use persistentVolumeClaims
If you use persistent disks based on constructs from a particular cloud provider you are going to have to re-wirte and test all your YAML files to work on a new cloud. Using a persistent volume claim works across different cloud and is built into VMware vSphere Private Clouds.
4. Deploy your own Kubernetes cluster
While Kubernetes services are easy to start with and convenient there is a catch. These service’s are built using proprietary implementation of Kubernetes. So slight differences could make it more difficult and time consuming to redeploy your containers to other kubernetes installations. Tanzu Community Edition is an industry standard Kubernetes distribution that is easy and free to deploy.
5. Bring your own backup solution
Again, it may be convenient to use the cloud providers back up solution but how do you move that somewhere else? Will it be able to restore at your new provider? Velero allows you to standardize your Kubernetes Cluster and resource backups, restores and even supports disaster recovery and ransomware features.