buchachon - Fotolia
Get to know the top managed Kubernetes services in the cloud
All managed Kubernetes providers address the pain points of deploying and maintaining the container orchestration platform, but they do so in different ways, as outlined in this brief cheat sheet.
Kubernetes has plenty of industry momentum, but complexities surrounding the open source orchestration tool have led to a flood of managed offerings in the market.
Enterprises can go with stand-alone managed Kubernetes services, including PaaS-like offerings from Red Hat, VMware and others. But many IT teams opt instead for cloud-based alternatives, because they integrate with many of the native services they already use, including DevOps, monitoring, and identity and access management tools.
These services provide highly available clusters that run on top of cloud instances. The vendor manages the Kubernetes control plane, including version updates, provisioning and, in most cases, scaling. In addition, these managed services support Kubernetes plugins and provide a higher degree of portability than most cloud-based workloads, because they rely on open source technologies.
Use the list below to explore managed Kubernetes services from AWS, Microsoft, Google, IBM and Oracle.
Amazon Elastic Kubernetes Service (EKS): AWS is a bit of an outlier in the cloud Kubernetes market. It continues to invest in its original container offering -- Amazon Elastic Container Service -- and even recommends it as the preferred option for its users, saying the ECS orchestrator is better suited to work with other native AWS offerings.
That's not to say AWS is opposed to Kubernetes. EKS, formerly known as Elastic Container Service for Kubernetes, automatically distributes clusters across three availability zones, which is a feature not found in some competitors' offerings. Users provision worker nodes with Amazon Machine Images and CloudFormation, and AWS handles the rest of the control plane, including replacing unhealthy clusters.
Still, EKS does lack some of the native support found in ECS. For example, AWS Fargate, which eliminates the need to provision or manage VMs and clusters, currently only works with ECS.
AWS charges $0.20 per hour for each cluster users create with EKS. There are also standard charges for any additional resources users consume through the service.
Azure Kubernetes Service (AKS): Microsoft began with support for multiple container orchestration tools before going all-in on Kubernetes. The vendor will deprecate its original offering, Azure Container Service, in 2020.
AKS provides self-healing clusters and one-click scaling. A cluster autoscaling feature is currently in preview, though event-driven autoscaling is available through KEDA. It can also orchestrate containers across IoT devices and Azure Stack, Microsoft's on-premises version of its public cloud, and it integrates CI/CD tools, such as Visual Studio Code and Azure DevOps.
AKS is free as a service, and enterprises only pay for the Azure resources consumed through their use of AKS.
Google Kubernetes Engine (GKE): Google, which used its own proprietary cluster management tool long before containers became mainstream, developed and then-open-sourced Kubernetes. Google's experience with the technology gives it an inside edge with some users, and it was the first major cloud vendor to offer a managed Kubernetes service.
GKE is fully aligned with Kubernetes, and Google typically implements updates sooner than other managed Kubernetes providers do for their offerings. In addition to some of the features commonly found on other managed Kubernetes services, GKE enables users to set their own resource limits, isolate containers in sandbox environments and build stateful, containerized apps with attached persistent storage.
GKE also comes in an on-premises version as part of Anthos, Google's hybrid cloud software stack aimed at creating parity between environments. Anthos also includes a feature that containerizes and migrates legacy apps onto GKE.
GKE charges users for each Compute Engine instance consumed, until deleted.
IBM Cloud Kubernetes Service: IBM offers two managed Kubernetes options: a community Kubernetes version and Red Hat OpenShift on IBM. Both options support horizontal scaling, automated rollouts and self-healing.
The community version can run on IBM Virtual Private Cloud. It supports the latest Kubernetes distribution and the ability to create free clusters. OpenShift, which came over as part of the Red Hat acquisition, integrates with Jenkins, as well as IBM Cloud Paks and middleware. It also provides an app console and stricter default security settings.
Pricing varies depending on the service and deployment method.
Oracle Container Engine for Kubernetes: Oracle was slow to embrace cloud, but it's made significant strides in recent years, including adding a managed Kubernetes service.
Container Engine for Kubernetes runs on Oracle Cloud Infrastructure, which means users can deploy containers on bare metal, VMs or both. Self-healing clusters can span multiple availability zones, and developers can integrate Oracle Container Pipelines or other CI/CD tools for lifecycle management.
Users are only charged for the underlying resources they consume through the service.