EKS vs GKE vs AKS: 8 Key Criteria To Compare Managed Kubernetes

EKS vs GKE vs AKS: Comparing Managed Kubernetes

Evaluating EKS vs GKE vs AKS?  Whether you’re considering getting your feet wet with Kubernetes, or are looking at Kubernetes as the foundation to deploy applications consistently across hybrid/multi cloud environments, you are likely evaluating at the big three cloud providers and their Kubernetes offerings. (Read more: 6 Ways Kubernetes Simplifies Multi-Cloud Management)

This article provides 8 key criteria, along with a more comprehensive checklist, to compare and contrast Managed Kubernetes offerings from the three major cloud providers: Amazon Elastic Kubernetes Service (EKS)  from Amazon Web Services (AWS), Azure Kubernetes Service (AKS) from Microsoft Azure, and Google Kubernetes Engine (GKE) from Google Cloud.

When selecting which hosted Kubernetes offering is best for you, you have to look beyond just price. Additional considerations like scalability, standardization, update frequency, recovery, and whether or not a service mesh is included are all critical to making the best decision.

Amazon EKS logoEKS: Amazon Web Services’ Elastic Kubernetes Services

Elastic Kubernetes Services (EKS) is one of the managed container offerings that are available on AWS, and is the least integrated offering as far as interacting with other AWS services like CI/CD pipelines. Elastic Container Service (ECS) that preceded EKS and Fargate are more preferred offerings within the AWS ecosystem; but as EKS is based on Kubernetes, most everything you will need to connect to it will work, as the industry is moving towards supporting Kubernetes as a deployment target for applications and data source for logs and application performance metrics.

EKS is a good choice if you already have a large AWS footprint and are either experimenting with Kubernetes or want to migrate workloads from Kubernetes on other clouds.

Google Kubernetes Engine LogoGKE: Google Cloud Platform Kubernetes Engine

The Google Cloud Platform (GCP) entry in the hosted Kubneretes space is Google Kubernetes Engine (GKE). GKE is the most resilient and well-rounded Kubernetes offering when compared to AKS and EKS. It has the highest SLA for uptime (see table below) and is the only one with a marketplace to deploy applications from. It has support for the Istio service mesh, and gvisor for an extra layer of security between running containers. It also has an on-premises offering in development as part of Google’s Anthos offering for hybrid/multi cloud environments on dedicated hardware.

Microsoft Azure Kubernetes Service LogoAKS: Microsoft Azure Kubernetes Service

AKS is the Microsoft developed Kubernetes offering that runs on Azure Public Cloud, Government Cloud, and even Azure Stack for on-premises. It is deeply integrated with the rest of the Microsoft cloud services and has managed worker nodes (unlike EKS). Like most things Microsoft does, it is definitely best-of-breed when it comes to seamless integration with their cross-platform development tools, including VS Code and DevOps (formerly Visual Studio Team Services).

If you have an established relationship with Microsoft, and no strong preference for another cloud, then AKS will fit your needs.

Note: Microsoft also offers Azure Red Hat OpenShift (ARO) as a managed tier-1 service on Azure. However, the ARO service abstracts Kubernetes functionality away from the cloud user, and is not a real Kubernetes offering, but merely embeds Kubernetes for its own use.

8 Key Criteria to compare EKS vs GKE vs AKS:

  • Pricing: All services charge standard compute rates for worker nodes and they are roughly competitive. AWS EKS is the only one to charge for the control plane at a cost of $0.20/hour.
  • Kubernetes Release: As of October 2019, Kubernetes has released version 1.16. GKE, EKS, and AKS have 1.14 as their regular stable release, though GKE has “rapid” stream that runs 1.15.
  • Global Availability: All three providers have their offering available in most regions globally. A notable exception is that EKS is not available in the AWS government cloud; AKS, however, is in at least one Azure government cloud. (For reference, Google has no government clouds.)
  • Upgrades: AKS and GKE will both handle security patches on the control plane and nodes; the nodes in EKS are not managed in the same way. You can enable automatic upgrades to the control plane on GKE, and all three offer on-demand upgrades of the control plane to newer versions.
  • Node Groups: EKS and GKE both allow nodes in a cluster to be grouped so applications can be targeted at specific nodes, and  the entire cluster does not need to have more expensive nodes like GPU enabled ones. AKS recommends separate clusters in these scenarios.
  • Bare Metal Nodes: Only EKS allows the use of bare metal nodes. GKE and AKS can only use virtual machines. It is fair to note that EKS defaults to virtual machines, as bare metal are much more expensive.
  • Management via CLI: GKE and AKS have full support to manage all aspects of their Kubernetes clusters via their CLI tool. EKS has partial support via the CLI, which makes some automation harder to enact without 3rd party tools.
  • Resource Monitoring: GKE (StackDriver) and AKS (Azure Monitor) have native support for resource monitoring within their Kubernetes cluster, with StackDriver having far more capabilities. EKS requires the use of a third-party product and recommends Prometheus like any other non-hosted Kubernetes offering would use.

EKS vs GKE vs AKS, A Comprehensive Comparison Checklist:

Below is a table that summarizes the ones already mentioned, and includes a few more.

Amazon EKS logo EKSGoogle Kubernetes Engine LogoGKEMicrosoft Azure Kubernetes Service Logo AKS
Year Released201820142017
Kubernetes Versions1.12, 1.13, 1.141.13, 1.14, 1.151.12, 1.13, 1.14
Global AvailabilityYesYesYes + Government
SLA99.9%99.5% (zone)

99.95% (regional)

99.5%
Control Plane Cost$0.20/hrFreeFree
Control Plane UpgradesOn-DemandAutomation and On-DemandOn-Demand
Worker UpgradesNoYesYes
Bare Metal NodesYesNoNo
GPU NodesYesYesYes
Linux ContainersYesYesYes
Windows ContainersYesYesYes
Resource Monitoring3rd PartyYes (StackDriver)Yes (Azure Monitor)
Nodes per Cluster1005000500
App Secret EncryptionNoYesNo
RBACYesYesYes
Network Policies3rd PartyYesBeta
KNative SupportNoYesYes
Load BalancerYesYesYes
Global Load BalancingYes (Manually)YesYes (Traffic Manager)
Service MeshYes (App Mesh)Beta (Istio)No (In Development)
DNS SupportIntegrated ($)NoIntegrated (Free)
MarketplaceNoYesNo
ComplianceHIPAA, SOC, ISO, PCI DSSHIPAA, SOC, ISO, PCI DSSHIPAA, SOC, ISO, PCI DSS
FedRAMPHighModerateHigh
DocumentationWeak but complete, and a strong communityNot very thorough, but has an active communityExtensive official documentation and a strong community
CLI SupportPartialYesYes
A Buyer's Guide to Enterprise Kubernetes Solutions

A Buyer's Guide to Enterprise Kubernetes Solutions

Learn how VMware Tanzu, Google Anthos, Red Hat OpenShift, Rancher, and Platform9 Managed Kubernetes stack-up against each other considering 19 detailed capabilities including:
    • Provisioning of Kubernetes Clusters
    • Deployment Models Supported
    • Monitoring and Operations Management
    • And more!

Get the Guide

Conclusion

Given the critical importance of Kubernetes and large market presence of cloud providers, it is natural to want to compare EKS vs GKE vs AKS to understand how these solutions compare.

If your interested in a managed Kubernetes offering that works across all public clouds, as well as your own existing infrastructure, check out our Managed Kubernetes plans that start at zero cost and scale as you grow. Platform9 Managed Kubernetes (PMK) provides the simplicity, ease of deployment, and operational simplicity of these services, while being cloud-agnostic.  With Platform9 Managed Kubernetes, you can choose to run Kubernetes on-premises, on AWS, GCP or Azure, or at the edge.  Since Platform9 doesn’t have a vested interest in any one cloud usage, you get a truly “open” Managed Kubernetes experience, without as much lock-in to cloud provider proprietary services (for e.g. monitoring, observability, network and storage integrations, application services).  To learn more, try Platform9 for free, it takes just a few minutes!

You may also enjoy

Understanding Kubernetes LoadBalancer vs NodePort vs Ingress

By Platform9

Why Choosing the Right Kubernetes Partner is Critically Important

By Peter Fray

The browser you are using is outdated. For the best experience please download or update your browser to one of the following: