Since its debut in 2015, Kubernetes has achieved mainstream adoption at IT organizations running containers. But the effort and skill necessary to run the platform can be difficult for organizations to handle on their own. Rather than struggle with cluster management overhead, organizations should consider paying for a managed Kubernetes service instead.
Before looking at managed Kubernetes services, let's look at how a Kubernetes environment works: Kubernetes is an open source platform that runs and maintains containers across clusters of nodes. A Kubernetes cluster includes the Kubernetes master, which creates and schedules pods. Pods run containers on a host node and are the smallest unit deployed in a Kubernetes environment. The control plane is separate from worker nodes and provides system configuration and management functions. Nodes contain IT resources and include the services to host one or multiple pods.
Managed Kubernetes services run, deploy and operate Kubernetes clusters. Teams turn to these services to create and test new enterprise applications and deploy them. But with services varying in what they offer, it can be a challenge to choose.
Compare the key features, deployment options and pricing for Red Hat OpenShift, VMware Tanzu Kubernetes Grid, Rancher, DigitalOcean, Platform9, Amazon Elastic Kubernetes Service, Microsoft Azure Kubernetes Service, Oracle Container Engine for Kubernetes and Google Kubernetes Engine.
This list is not ranked.
Red Hat OpenShift
OpenShift is a flexible and extensible Kubernetes service that can be deployed in any type of environment and on major public clouds. The fully managed service is a form of platform as a service that runs all aspects of an application delivery and deployment.
Instead of using the kubectl tool, the service uses the OpenShift command-line interface (CLI). The oc command for this CLI provides additional features, like the ability to initiate a new application deployment. Another feature is OpenShift Pipelines, which is a CI/CD service based on Kubernetes resources to automate deployments across multiple platforms. The tool runs pipelines with the required dependencies in isolated containers.
There are many Red Hat OpenShift editions for different cloud providers and IT environments, such as editions for AWS, Microsoft Azure and IBM Cloud, as well as Red Hat OpenShift Dedicated. To deploy Red Hat OpenShift on AWS, the cluster fee costs $0.03 per hour, and on demand is $0.171 per 4vCPU per hour. Microsoft Azure provides on-demand cluster deployments for $0.171 per 4vCPU per hour and one-year reserved instances for $0.114 per 4vCPU per hour. Red Hat OpenShift Dedicated charges $0.03 per hour for its control plane or $263 per year. For worker nodes CPU, rates start at $0.171 per 4vCPU per hour, $0.114 for a one-year commitment and $0.076 for a three-year commitment. IBM provides prices upon request.
VMware Tanzu Kubernetes Grid
VMware Tanzu Kubernetes Grid helps organizations deploy and manage large-scale Kubernetes operations. The tool supports multi-cluster operations and enables deployments spanning data centers, public and private clouds, and edge infrastructure. To help reduce admins' workloads, VMware Tanzu Kubernetes Grid uses automated lifecycle management policies.
VMware Tanzu Kubernetes Grid is a part of the company's Tanzu-based tools portfolio. This means it can be deployed on a VMware-based private cloud. Organizations looking to deploy on premises can download and install the Tanzu Kubernetes Grid CLI. To run Tanzu Kubernetes Grid from a public cloud, use Tanzu Mission Control to maintain access to the control plane for security and customization while creating clusters.
Admins can use the add-on Tanzu Mission Control tool for monitoring and operations management. As a centralized management platform, it provides cluster lifecycle, policy and data protection management. It also adds another layer of security with identity and access management.
VMware Tanzu Kubernetes Grid can run as part of VMware Tanzu Basic, Tanzu Standard and Tanzu Advanced editions. But there are four different implementation options as well. Tanzu Kubernetes Grid is a multi-cloud Kubernetes service that can run both on premises in vSphere and in the public cloud on Amazon Elastic Compute Cloud (EC2) and Microsoft Azure. Tanzu Kubernetes Grid Service enables admins to create and operate Tanzu Kubernetes clusters in vSphere with Tanzu. Tanzu Kubernetes Grid Integrated Edition integrates with Cloud Foundry BOSH and Ops Manager. Tanzu Mission Control provides a hosted Tanzu Kubernetes Grid implementation as a managed service for public cloud environments. Contact VMware directly for pricing.
Rancher is a Kubernetes service that organizes and manages multiple Kubernetes clusters. It targets the operational and security challenges organizations face when running multiple Kubernetes clusters. It can run on all major cloud providers and on premises.
Rancher helps manage Kubernetes role-based access controls (RBAC) and network and pod security policies. It also provides flexible deployment options and simplified DNS management.
Rancher has a management UI from which admins can change and update clusters. The UI provides a full view of all managed Kubernetes clusters, whether on premises or in the cloud.
The system integrates with Lightweight Directory Access Protocol and Active Directory. If admins don't want to use Kubernetes RBAC, they have the option to manage access control policies based on these external frameworks.
Rancher provides pricing upon request.
DigitalOcean is a managed Kubernetes service that provides support and management resources. It includes fully automated upgrades, configuration guidance and managed support services.
DigitalOcean provides a setup process for admins to create a Kubernetes environment. The tool uses the kubectl and doctl command utilities to access and interact with clusters through Kubernetes APIs. Clusters can integrate with DigitalOcean load balancers, and the tool adjusts and updates the number of nodes in a cluster automatically.
DigitalOcean only runs on the DigitalOcean cloud.
DigitalOcean's managed Kubernetes starts at $10 per month, and the cost depends on the number of node hours used during a billing period. The service includes the control plane for free, but high availability features cost $40 per month.
Platform9 monitors and repairs clusters, and offers an interactive GUI to deploy nodes and clusters.
Platform9 provides auto-provisioning to bare-metal servers and a built-in virtualization layer for node deployments. In addition, the system automatically sets up the event monitoring tool Prometheus and data visualization tool Grafana during cluster deployments to monitor metrics.
Platform9 integrates with existing infrastructure automatically and supports hybrid clouds, edge locations and on-premises server infrastructure.
Platform9 is free for organizations looking to try Kubernetes, but provides up to two clusters and eight nodes only. For larger-scale operations, pricing varies by hosting location.
Amazon Elastic Kubernetes Service
Amazon Elastic Kubernetes Service (EKS) is a fully managed, cloud-based service to build, secure and maintain Kubernetes with AWS.
EKS manages and scales clusters of infrastructure resources on AWS with Kubernetes automatically. It automates patching, node provisioning and updates. The service provides admins with node management for greater access control. EKS also automatically manages the availability and scalability of a Kubernetes API server and etcd persistence layer.
AWS handles all the management tasks for the Kubernetes control plane. This includes all security configurations, upgrades and patches. Because it is an Amazon service, EKS integrates with Elastic Load Balancing, AWS Identity and Access Management, AWS CloudTrail and Amazon Virtual Private Cloud.
In addition to Amazon services, admins can move pods to non-AWS environments without application code changes. This is because EKS uses many open sources tools, such as Kubernetes and Docker.
Amazon EKS costs $0.10 per hour per cluster. Pricing varies if teams are using Amazon EC2, as you pay for the AWS resources necessary to run Kubernetes worker nodes.
Microsoft Azure Kubernetes Service
Microsoft Azure Kubernetes Service (AKS) is a managed container orchestration service. It reduces the complexity of container deployment and management and provides automation. It is available on the Azure public cloud.
Microsoft created the service for organizations to build scalable operations with Kubernetes and Docker within the Azure architecture. Admins can create clusters with the Azure CLI, the management console Azure Portal or Azure PowerShell.
Azure automatically creates and configures a Kubernetes control plane for each cluster. It provides self-healing clusters and one-click scaling. AKS nodes can scale up or down depending on fluctuations in resource demands, such as when admins change containerized application versions or scale the number of cluster nodes. In addition, the vendor handles all Kubernetes upgrades and new version updates within AKS.
AKS provides Azure Resource Manager templates for admins seeking to widen their deployment options and create their own templates.
It is a free container service, but prices for the VMs, associated storage and networking resources used are provided upon request.
Oracle Container Engine for Kubernetes
Oracle Container Engine for Kubernetes (OKE) deploys, scales and manages containerized applications. Admins can work with clusters through the Kubernetes dashboard, Kubernetes API and kubectl.
The service works with applications running on the Oracle Cloud Infrastructure and supports clusters on VMs, bare metal or both. OKE provides self-healing clusters that can span multiple available zones. For lifecycle management, OKE can integrate with Oracle Container Pipeline or other CI/CD tools.
OKE integrates with Oracle Cloud Infrastructure's load balancer and persistent volume services.
Oracle also offers a private, Docker-compatible image registry.
Oracle provides OKE as a free service. Cloud infrastructure prices start at $0.0980 per hour for general-purpose VMs.
Google Kubernetes Engine
Google Kubernetes Engine (GKE) is another managed Kubernetes service from a cloud vendor. Google developed Kubernetes and was the first major vendor to offer it as a managed service. GKE helps teams create, resize, update, upgrade and debug container clusters.
GKE provides a replication controller to run as many pods as necessary at a time. Features also include the ability to control configurations, attach multiple nodes to a cluster, isolate containers in sandbox environments and build applications with attached persistent storage. Admins can also set resource limits.
GKE runs on Google's managed infrastructure, so it works with Google Cloud and Google Cloud CLI.
Pricing varies depending on an organization's cluster usage and size, but autopilot clusters start at $0.10 per hour.