How to Select a Managed Kubernetes Service
Many vendors offer managed Kubernetes services, which are often the easiest method of setting up and managing a Kubernetes cluster. But with so many managed Kubernetes platforms available, it can be hard to determine which one is the right fit for your team’s feature requirements and budget.
This article explains how to evaluate managed Kubernetes services and determine which one is the best for your needs.
What is a managed Kubernetes service?
A managed Kubernetes service is a platform that automates some or all of the tasks required to set up and manage a production Kubernetes cluster. Some managed Kubernetes services, like AWS EKS and Google Cloud’s GKE, are built into public cloud platforms. Others are standalone offerings.
Virtually all managed Kubernetes services automatically provision the infrastructure necessary to host a cluster. Some also offer features that automate Kubernetes upgrades, as well as the deployment of plugins to support resources like storage and networking. They often include monitoring and observability tooling as well.
It’s worth noting that there is a fair amount of variation within the feature sets of managed Kubernetes services. Some platforms, such as those that are available from the major public cloud providers, focus mostly just on infrastructure automation. They leave most cluster management and monitoring tasks to users. In other cases, third-party providers offer tooling that can automate almost all core Kubernetes deployment and management tasks. They may also provide managed support services from actual engineers for cases where users need more help than automated tools can deliver.
Factors to consider in selecting a managed Kubernetes service
Because managed Kubernetes services vary significantly with regard to what they include, you’ll want to assess each offering carefully in order to select the right platform for your needs. Following are key considerations to weigh.
Deployment options
Some managed Kubernetes services support a range of deployment options. They can set up and manage clusters on any mainstream public cloud IaaS platform. Some even offer tools to automate cluster setup in a private data center or on-premises. Meanwhile, other managed Kubernetes services only work with one public cloud.
If infrastructure flexibility is important to you, you’ll want to select a managed Kubernetes service that supports a range of deployment locations and types.
Pricing model
When evaluating pricing for managed Kubernetes services, it’s important to consider, first, the base cost, which typically reflects how many nodes are in your cluster, how many resources the nodes contain and how many hours the nodes run each month.
But you should also check the pricing details. In some cases — especially if you choose a managed Kubernetes service that is part of a public cloud platform — you may need to pay additional fees for storage and networking. If that’s the case, use the cloud provider’s cost calculator to estimate your total monthly cost in order to perform an accurate comparison with other managed Kubernetes platforms that charge just a simple base price.
Automated restarts and scaling
Some managed Kubernetes services will attempt to restart failed applications automatically when something goes wrong. They may also automate the deployment of additional nodes to ensure application stability if your workload starts to exhaust the resources available from your initial configuration.
Features like these simplify Kubernetes management and may help to maximize uptime, especially for teams that lack the in-house staff or expertise necessary to manage Kubernetes availability issues quickly. But not all managed Kubernetes services offer these features.
Monitoring and observability
Managed Kubernetes services vary significantly when it comes to monitoring and observability. Some leverage native monitoring tooling, such as the monitoring services that are built into public clouds. Others integrate with third-party monitoring and observability stacks to collect and analyze logs. Others let users configure whichever external Kubernetes monitoring integrations they wish, although doing so may require a fair amount of manual setup on the part of users.
If you want to use a particular monitoring and observability stack, be sure your managed Kubernetes service supports it.
Hands-on support services
Most managed Kubernetes services alert users when something goes wrong, then expect users to resolve the issue. In certain cases, as noted above, the services may be able to remediate some issues automatically, but they can’t auto-resolve every type of problem.
But some services also provide hands-on managed support from live engineers as part of their core offering. If you want a Kubernetes expert to walk you through troubleshooting issues when they arise, or just fix the problems for you, you may find value in managed Kubernetes services that provide hands-on support.