Managed Kubernetes (or Kubernetes as a service) offerings are cropping up all around the container ecosystem. Should you use a managed version? Here’s a list of Kubernetes-as-a-service pros and cons.
Kubernetes, of course, is the container orchestration engine that originated from an internal Google project. It’s a tool for automating the provisioning and management of containers.
While hard data on Kubernetes market share is hard to find, it’s a pretty good bet that Kubernetes is the most popular container orchestrator of the moment. It likely beats Docker Swarm, Mesos and other orchestrators in market share.
Kubernetes is open source, and anyone can download and run it for free. Traditionally, that is how most people used Kubernetes.
Over the past couple of years, however, an increasing number of cloud-based managed Kubernetes, or Kubernetes-as-a-service, offerings have appeared. These include GKE on Google Cloud, the managed Kubernetes service that IBM added to the Bluemix cloud last spring and Stackpoint‘s managed Kubernetes offering.
Even Oracle is now getting into the managed Kubernetes game.
Benefits of Managed Kubernetes
Should you use a managed Kubernetes service such as one of these rather than setting up and managing Kubernetes yourself?
Here are the factors to weigh:
- Cost. Unsurprisingly, managed Kubernetes services cost money. There is no direct cost associated with using Kubernetes on your own.
- Ease of use. Kubernetes can be difficult to set up and manage, especially in large-scale environments. Kubernetes as a service handles that burden for you.
- Infrastructure. Most (but not all) managed Kubernetes services include infrastructure along with Kubernetes management. This is the case in particular with most Kubernetes services running on public clouds. They give you the benefit of not having to purchase or maintain hardware, in addition to covering Kubernetes management.
- Vendor lock-in. Although Kubernetes is open source, some managed Kubernetes services are built with customized versions of Kubernetes. This can create some concerns related to vendor lock in. For most organizations, they are not likely to be major concerns; the risk of Kubernetes lock-in is lower than, say, using a cloud-based container service built with a fully proprietary orchestrator, such as ECS. Still, if you’re really concerned about lock-in, this is a factor to weigh before choosing Kubernetes as a service.
- How much management do you need? Kubernetes as a service simplifies part of the work required to run a Docker environment. However, it doesn’t outsource everything for you. If you want a fully seamless and painless process for containers, you might opt for a fully managed containers-as-a-service (CaaS) platform. A CaaS provides all of the components required to run containers, not just the orchestrator.