Which Kubernetes Management Platform is Right for You?
The adoption of Kubernetes has more than doubled since 2017 and continues to grow without any signs of slowing down. Over the last few years, the Kubernetes ecosystem has significantly matured, and we’ve seen a lot of consolidation in the market. It now spans a wide range of well-established cloud and on-premises solutions designed to simplify installing, configuring and running Kubernetes.
This list includes the 10 of the most popular Kubernetes offerings we’ve seen in the market, and is split into two categories: cloud provider services and enterprise-grade management platforms that can be run locally, in the cloud or as hybrid. The solution you choose depends on how much effort you want to put into managing Kubernetes clusters, and whether clusters exists on-premises or in the cloud. But before I dive in, let’s note a distinction between a Kubernetes distro and a platform.
Generally, a K8s distribution is a slightly modified version of upstream Kubernetes and, in many cases, it’s open source, like OKD or Amazon EKS Distro. Whereas a platform is a fully commercial product that provides features and tools on top of K8s and integrates it with the rest of the stack. For example, OpenShift and Rancher wrap Kubernetes in many features that, while making it easier to manage, also make it harder to migrate to other platforms or open source K8s.
Cloud Provider Solutions
As organizations continue to adopt Kubernetes, they are increasingly turning to managed cloud services, such as Google Kubernetes Engine (GKE), Amazon Elastic Kubernetes Service (EKS), and Azure Kubernetes Service (AKS).
Google Kubernetes Engine, the first cloud-based managed Kubernetes service on the market, celebrated its fifth anniversary this year. GKE is a managed environment for deploying, scaling and managing containerized applications in a secure Google infrastructure. According to Datadog’s annual container report, about 90% of organizations running Kubernetes on Google Cloud are relying on GKE to manage their environments.
Since K8s itself was created by Google engineers for in-house container orchestration, GKE is considered one of the most advanced Kubernetes platforms available. Designed for use on Google Cloud, it can be deployed in hybrid environments and on-premises as well. Apart from making it easy for you to create clusters, GKE offers some advanced cluster management features, including load balancing, auto-scaling, auto upgrades, auto repair, logging and monitoring, and more.
A relatively newer service (GA announced in June 2018), Amazon Elastic Kubernetes Service has also seen a strong uptick in adoption in recent years and continues to grow steadily. With EKS, you can start, run, and scale Kubernetes applications in the AWS cloud or on-premises. Based on upstream Kubernetes, the service is available across multiple AWS availability zones. Amazon EKS is gradually replacing AWS’s proprietary orchestrator, ECS, which is still widely used.
While automating key Kubernetes management tasks such as patching, node provisioning, and updates, EKS also includes built-in security and encryption, automatic updating, and integration with CloudWatch for logging, CloudTrail for auditing, and IAM for access permissions. To maximize functionality for its users, AWS also contributes to the open source K8s codebase.
Most recently, at re:Invent 2020, AWS also introduced a new open source K8s distribution, EKS Distro, and a new deployment option for Amazon EKS, Amazon EKS Anywhere, that allows you to create and operate Kubernetes clusters on your own infrastructure, including virtual machines and bare metal.
Microsoft’s AKS is quickly becoming the norm for Kubernetes users on Azure, with two-thirds having adopted it. As with GKE and EKS, AKS offers a managed upstream K8s environment with automatic upgrades and cluster monitoring to simplify the deployment, management, and operations of Kubernetes. AKS offers multiple ways to provision a cluster – web console, command line, Azure resource manager, Terraform.
Azure Kubernetes Service (previously ACS - Azure Container Service) began as an orchestrator-agnostic platform supporting Kubernetes, Mesosphere DC/OS, and Docker Swarm. In late 2017, Microsoft started offering Kubernetes management services and, as a result, deprecated ACS and continued with AKS.
One of the first fully managed and mature Kubernetes offerings in the cloud, IBM’s service has been generally available since May 2017 as IBM Cloud Container Service. In 2018, it has been renamed IBM Cloud Kubernetes Service. The new name aims to highlight IBM’s strategic investment in Kubernetes while also reflecting the fact that IBM is a founder of CNCF K8s Conformance Testing.
IBM Cloud Kubernetes Service is a managed offering that lets you create your own Kubernetes cluster to deploy and manage containerized apps on IBM Cloud. The service provides native Kubernetes capabilities such as intelligent scheduling, self-healing, horizontal scaling, service discovery and load balancing, automated rollouts and rollbacks, and secret and configuration management.
Hybrid and On-Premises Solutions
The following offerings provide a management layer over Kubernetes that adds features without restricting you to a specific vendor. Built on top of core container orchestration capabilities, Kubernetes-based platforms deliver complete lifecycle management for containerized applications. These solutions can be deployed to almost any infrastructure including your own datacenter.
Red Hat OpenShift (now part of IBM)
As one of the leading contributors to Kubernetes, Red Hat has built key features and components of the original open source project. In 2019, IBM acquired RedHat bringing in instant expertise and installed base of RedHat OpenShift based on 9 years of experience supporting customers running containers in production.
Red Hat OpenShift is a robust tightly-integrated platform based on Kubernetes for enterprise application development and deployment. All of the components within OpenShift are developed within the open source community and can be viewed on GitHub. At the heart of the OpenShift platform is OKD, the Community Distribution of Kubernetes (previously OpenShift Origin), an upstream open source K8s distribution.
As a solution from a major enterprise vendor, OpenShift comes with many pre-configured tools enterprises need to run, deploy, and manage containers. It’s a relatively inflexible Kubernetes distribution as it doesn’t give you a lot of choice when it comes to the tools you can use to build out your stack. OpenShift can be run entirely in a public cloud, as a managed, highly-available private cluster hosted on a public cloud, or as a Platform-as-a-Service (PaaS) in your data center or private cloud.
Over the last few years, VMware completed a series of acquisitions and has introduced a portfolio of application products and services under the VMware brand called Tanzu. It is built upon VMware infrastructure products and further expanded with the acquired technologies of Pivotal, Heptio, Wavefront, Bitnami, and others.
VMware Tanzu Kubernetes Grid Integrated Edition (formerly known as VMware Enterprise PKS) is a production-grade Kubernetes-based container platform equipped with advanced networking, a private container registry (Harbor), and full lifecycle management. You can deploy TKGI both on-prem on vSphere and in public clouds.
TKGI’s standout feature is close integration with the VMware virtualization stack. Any organization with an investment in VMware and a growing interest in Kubernetes may want to consider TGKI to make the most of their existing VMware setup.
Rancher (now part of SUSE)
Rancher is a mature, stable, enterprise-grade, and easy-to-use Kubernetes management platform with over 37,000 active users and greater than 100 million downloads. Rancher also comes with its own Kubernetes distribution, Rancher Kubernetes Engine (RKE) that runs entirely within Docker containers.
Rancher’s infrastructure-agnostic architecture supports any CNCF-certified Kubernetes distribution. As open source company, Rancher is committed to delivering 100% true open source software with no vendor lock-in. In July 2020, Rancher was acquired by an open source vendor SUSE, the company behind one of the oldest Linux distributions.
Rancher places a special emphasis on multi-cluster Kubernetes deployments, which could be useful if you want to deploy Kubernetes across multiple clouds. Rancher is similar to OpenShift in that it integrates Kubernetes with a variety of other tools, although it is a bit more flexible because it provides some choice for which components to use.
Docker Enterprise (now part of Mirantis)
As we all know, at the end of 2019, Docker got split up – Docker Enterprise (commercial platform with 400 installs at that time) was acquired by Mirantis, an OpenStack and K8s services company, while the open source product remained within Docker Inc. that refocused on developer tools. Mirantis kept the Docker Enterprise name and recently rolled out some major updates to the product that aim to help it better compete with the leading hybrid cloud players such as Red Hat.
Docker Enterprise is the only platform that allows you to run both orchestrators Kubernetes and Swarm (developed by Docker) in the same cluster, although Swarm usage is waning, and it is likely to disappear in a year or two. It also integrates with many open source Docker tools (optionally enhanced with Mirantis plugins), as well as with Lens, the world’s most popular Kubernetes IDE, letting you visualize, analyze, and iterate code rapidly on one or multiple clusters.
Canonical, the company that develops Ubuntu Linux, offers a robust and well-supported Kubernetes distribution. One of its major benefits is the widely respected, well-understood, and commonly deployed Ubuntu Linux distribution underneath. Canonical’s stack works in any cloud or on-prem deployment, with support included for both CPU- and GPU-powered workloads.
Canonical’s distribution is also available in a lightweight version, Microk8s, that Kubernetes newcomers can use this for testing or even production on low-profile hardware. Other than requiring you to use Ubuntu, Canonical’s Kubernetes offering is a relatively “pure-play” distribution as you can integrate it with any components you want. Paying customers can have their Kubernetes cluster remotely managed by Canonical engineers.
The Giant Swarm platform provides 24/7 managed Kubernetes clusters to run containerized applications. Because it's fully managed, Giant Swarm will maintain your infrastructure regardless of where it's running, be it on AWS, Azure, or on-premise.
Giant Swarm aims to give customers freedom of choice by providing plain vanilla Kubernetes anywhere without vendor lock-in. This allows you to move your workloads easily from a Kubernetes cluster managed by Giant Swarm to another vanilla Kubernetes cluster. The company keeps their open source code on Github where it is free to use.
As the adoption of Kubernetes continues to grow, its ecosystem of tools and platforms will evolve. For enterprises with large container environments, these enterprise Kubernetes management platforms offer the benefits of Kubernetes without the challenges of deploying, configuring and managing a cluster all on your own.