Managed Kubernetes vs. Kubernetes on-premises – should I use a managed Kubernetes offering or is it better to run Kubernetes myself? For some, of course, this question does not even arise, as it is strategically dictated by the company or their own operations. For everyone else, the following lines should help to provide an overview of the advantages and disadvantages of managed Kubernetes and on-premises and point out technical challenges.
Why Kubernetes?
In order to pick up readers who are not quite ready yet, I would like to start by explaining why there is so much hype about Kubernetes and why you should definitely look into it. Kubernetes is the clear winner in the battle for container orchestration. It’s about much more than just launching containers on a large number of nodes. It is the way in which the application is decoupled and abstracted from the infrastructure. Text-based and versionable configuration files, a fairly complete feature set, the ecosystem of the Cloud Native Computing Foundation and other third-party integrations are currently a guarantee for the success of the framework. No wonder it is currently the “developer’s darling” – despite a relatively steep learning curve. Kubernetes sees itself as the “first-class citizen” of the cloud. Cloud here refers to the Infrastructure as a Service offerings of hyperscalers such as AWS, Azure and Google, but of course also other hosters such as NETWAYS Managed Service. Kubernetes feels particularly at home on the basis of this existing IaaS infrastructure, as it reuses infrastructure services for storage and networking, for example. Another special feature of Kubernetes is that it is “cloud-agnostic”. This means that the cloud used is abstracted and you are independent of the cloud service provider. Multi-cloud strategies are also possible. Our webinar and our Kubernetes blog series show and explain how to get started with Kubernetes and its possibilities.
Managed Kubernetes
The easiest way to achieve a functional Kubernetes cluster is certainly to use a Managed Kubernetes offering. Managed Kubernetes offerings are ready for use in just a few clicks and therefore in just a few minutes and usually include a managed Kubernetes control plane and associated nodes. As a customer, you can choose to consume a highly available Kubernetes API, which is ultimately used to operate the Kubernetes cluster. The provider then takes care of updates, availability and operation of the K8s cluster. Payment is based on the cloud resources deployed and used. There are only marginal differences in the billing model. Some providers advertise a free control plane, but the VMs used then cost more. The technical features are comprehensive, but the differences between the offers are rather minimal. There are differences in the Kubernetes version used, the number of availability zones and regions, the option for high-availability clusters and auto-scaling or whether, for example, an activated Kubernetes RBAC implementation is used. The real advantage of a Managed Kubernetes offering is that you can start immediately, do not need any operational data center or Kubernetes expertise and can rely on the expertise of the respective provider.
Kubernetes On-Premises
In total contrast to this is the option of operating Kubernetes in your own data center. In order to achieve cloud-like functionality in your own data center, the Managed Kubernetes solutions would have to be replicated as far as possible. This is quite a challenge – this much can be revealed in advance. If you are lucky, you will already be operating some of the necessary components. Technically, there are a few challenges:
Automatic deployments
For the deployment of one or more Kubernetes clusters and to ensure consistency, it is advisable – if not absolutely necessary – to set up an automatic deployment process, i.e. configuration management with e.g. Ansible or Puppet in combination with the bootstrapping tool kubeadm. Alternatively, there are projects such as kubespray that can deploy Kubernetes clusters with Ansible playbooks.
Network
In addition to the actual network in which the nodes are located, Kubernetes forms an additional network within the cluster. One challenge is choosing the right container network interface. An understanding of solutions that use technologies such as VXLAN or BGP is also essential and helpful. In addition, there is a special feature for ingress traffic that is routed into the cluster network. A Kubernetes service object with the type “Loadbalancer” is usually created for this type of traffic. Kubernetes then manages this external load balancer. This is not a problem in an IaaS cloud with LBaaS functionality, but it can be more difficult in a data center. Proprietary load balancers or the open source project MetalLB can be helpful.
Storage
Similar to selecting the right CNI, it is sometimes difficult to choose the right storage volume plugin. Of course, the right storage must also be operated. Ceph, for example, is popular and suitable. As a reader, you can probably quickly answer for yourself whether you want to face these technical challenges. However, they should by no means be underestimated. In return for the hard and rather rocky road, your own setup will definitely give you independence from third parties and full control over your IT at all times. The know-how you acquire can be just as valuable. Financially, whether there is an actual advantage depends heavily on existing structures and components. If you only compare the costs for compute resources, it may well be cheaper. However, the enormous initial time required for evaluation, proof of concept, setup and the subsequent ongoing effort for operation should not be underestimated.
Conclusion
As always, there are advantages and disadvantages to both the Managed Kubernetes and Kubernetes On-Premises variants presented. Depending on the company, structure and personnel, there are certainly good reasons to opt for one or the other variant. Of course, there are also manufacturers who try to strike a balance between the two worlds. Which type is the most efficient and sensible for a company must therefore be decided on an individual basis. If you are leaning towards a managed solution, there are good reasons to opt for NETWAYS Managed Kubernetes. For example, there is our dedicated team with our competent MyEngineers®, who successfully accompany our customers on their journey into the world of containers. Another reason is the direct and personal contact with us. My colleagues and I will be happy to explain other good reasons and advantages in person.





0 Comments