Content outline

Oct 15, 2024
4 Min read

What is right for me: managed or self-managed Kubernetes

Managed vs self-managed Kubernetes.

You have two options to get started with Kubernetes; managed or self-managed.

Managed Kubernetes is the popular option, but you could have reasons for a self-managed Kubernetes deployment.

So, let’s dig deeper and decide.

Outline

What is managed Kubernetes

A managed Kubernetes service, as the name implies is Kubernetes offered as a managed service.

A managed Kubernetes service provider bundles open-source Kubernetes with several other tools and add-ons such as CNI plugins, ingress controllers, GUI dashboards, monitoring solutions, etc., into a Kubernetes distribution.

The provider then takes care of deploying and operating Kubernetes clusters for you at a fee.

As the consumer of the managed Kubernetes service, you get to focus on developing and operating your software applications instead of worrying about Kubernetes and the underlying cloud infrastructure.

Cloud service providers are the well-known managed Kubernetes service providers.

Also, there are cloud-independent managed Kubernetes distributions like RedHat OpenShift, Platform9 managed Kubernetes, Ubuntu charmed Kubernetes, etc.

Managed Kubernetes service providers price their offerings in different models. The number of clusters, number of nodes, and CPU cores are typical pricing parameters for managed Kubernetes services. Refer to the respective managed Kubernetes service provider to find out the actual pricing as the parameters vary across distributions.

What is self-managed Kubernetes

Kubernetes is an open-source project. You can simply download and install Kubernetes on your own either in on-premise hardware or on the cloud.

This kind of Kubernetes cluster is called self-managed Kubernetes because you are responsible for managing your Kubernetes clusters.

When running self-managed Kubernetes you are not tied up to any pricing model. You don’t have to pay any supplier for your Kubernetes clusters. But also if something goes wrong there’s no one to back you up. You are on your own to fix it.

Pros of managed Kubernetes

The biggest selling point with managed Kubernetes is the service assurance. A managed Kubernetes service provider maintains certain availability KPIs and fault recovery SLAs for your Kubernetes clusters. If something goes wrong, the provider is bound to rectify the problem so you can continue your business.

The managed Kubernetes service providers are capable of doing this because they have the experience of running Kubernetes clusters for many customers and can afford the expertise also.

Managed Kubernetes distributions are also pre-integrated with tools and add-ons that you can start using from day-1 without spending time on integration work.

Because of these reasons, many DevOps teams tend to prefer managed Kubernetes over self-managed.

Challenges in managed Kubernetes

A managed Kubernetes distribution has a predefined way of doing things. You don’t get much room to customize. So a managed Kubernetes service may not meet all your technical or business requirements.

A managed Kubernetes service comes at a cost. Often this cost is tied to a parameter like the number of CPU cores, the number of nodes in a cluster, etc. As you scale up your Kubernetes clusters, this cost will proportionally increase and can even make the cost of managed Kubernetes uneconomical.

Pros of self-managed Kubernetes

Self-managed Kubernetes gives you full control over your Kubernetes clusters. You choose where you deploy and what tools and add-ons you want to use.

Self-managed Kubernetes could be your only option if you need to meet specific business or technical requirements.

When you are scaling up your Kubernetes deployments the cost of self-managed Kubernetes will not increase proportionally. In fact, the unit cost of a self-managed Kubernetes will decrease as you scale.

Challenges in self-managed Kubernetes

Operating Kubernetes in production on your own is no easy feat. You need to have a dedicated team of experts at hand.

Also, if something goes wrong you are entirely responsible to fix it up in time. If not, the business gets affected.

When deploying self-managed Kubernetes, you must allocate some time and effort to integrate Kubernetes with supporting tools and components like ingress controllers, monitoring solutions etc. These things could affect your delivery timelines.

Cost of managed vs self-managed Kubernetes

The cost of managed Kubernetes can be estimated relatively easily using the pricing model of your managed Kubernetes service provider.

The cost of self-managed Kubernetes is not so straightforward. The simple fact that you don’t have to pay any fee for Kubernetes does not mean self-managed Kubernetes is completely free.

Self-managed Kubernetes has more operational overhead than managed Kubernetes. You must have the resources and expertise to ensure the smooth operation of your Kubernetes clusters.

How to choose between managed and self-managed Kubernetes

When starting out with Kubernetes, managed Kubernetes must be your first choice.

Go for self-managed only if you check one or both boxes below.

  • You want full control of your cluster to meet specific business or technical requirements.

  • You are planning an ultra-large Kubernetes deployment where the pricing model of managed Kubernetes is not economical.

What’s your view on managed Kubernetes vs self-managed. Share your thoughts in the comments below.