Kubernetes has become the de facto standard container orchestration platform, and the easiest way to deploy it in production is to use managed containers as a service (CaaS) in the public cloud. A public cloud Kubernetes service offloads the need for I&O teams to build and support a container orchestration platform themselves. This allows the teams to focus their efforts on the productive use of a Kubernetes cluster, rather than its care and feeding.
A Kubernetes cluster consists of two parts:
- The control plane, which provides the primary interface for interacting with the orchestration system with the Kubernetes API.
- The data plane, which consists of worker nodes configured with the runtime engine needed to execute containers.
Public-cloud-based Kubernetes services such as Amazon Elastic Kubernetes Service (EKS), Google Kubernetes Engine (GKE), and Microsoft Azure Kubernetes Service (AKS) all operate Kubernetes control planes on behalf of customers. In this model of CaaS, the management of containerized applications, including scheduling, load-balancing, and resiliency management, is handled by the cloud service provider. Customers still have control over the data plane, i.e. the worker nodes on which the containers are scheduled.
All of these services have the same basic functionality, which is to provide cloud-based infrastructure for using the Kubernetes API and orchestration resources to deploy fleets of containerized services with an industry-standard abstraction layer that has minimal operational dependencies on administrators. However, Kubernetes itself only provides a subset of the functionality required for a complete CaaS platform. Each service has to be integrated with a variety of native functions in the underlying cloud platform in order to support key Kubernetes resources such as identity management, ingress, and storage.
Public cloud Kubernetes such as AKS, EKS, and GKE are differentiated in the depth of this integration, as well as other capabilities, and their functionality is still evolving and maturing. Each service balances technical leadership in some areas with lagging performance in others. This document (Gartner subscription required) compares the functional capabilities in these services based on 21 key criteria that are relevant for I&O technical professionals responsible for deploying or operating Kubernetes.
One of the main barriers to entry for production deployment of containers, and the one that users often hit first, is the sheer complexity of standing up a container orchestration platform for even a relatively simple containerized application. Despite the differences in their technical capabilities, Gartner recommends that I&O technical professionals use one of these CaaS platforms if they want to deploy containers in production with Kubernetes as quickly as possible.