Kubernetes has won users with a vibrant open source ecosystem, flexibility and scalability for Docker container...
Kubernetes is the de facto container orchestration platform with support from every major infrastructure software vendor and cloud service. With abundant options, IT shops should carefully compare the managed Kubernetes platform choices, in particular with regard to hybrid cloud containers.
AWS is the final major provider to add native Kubernetes integration and support. Ostensibly, AWS resisted out of fear for its public cloud business. A cross-platform container manager enables cloud users to set up hybrid container cloud designs, which AWS executives had once dismissed as fake cloud years ago. AWS acquiesced to the inevitable in 2017 -- first, with a partnership to run VMware Cloud on AWS and then with Elastic Container Service for Kubernetes (EKS), a managed high availability cluster service that runs the latest version of open source Kubernetes with master controllers in limited release to three of Amazon's availability zones. To see how the AWS EKS offering stacks up, compare it to Google Kubernetes Engine (GKE).
GKE is several years older than EKS and embraces hybrid cloud designs with several services that help organizations move data and applications between Google Cloud Platform (GCP) and private environments. Concurrently with AWS' VMware partnership, GCP underpinned Pivotal Cloud Service (PKS), a collaboration with Pivotal Labs and VMware to serve as a bridge between private Pivotal environments, running on vSphere, and GCP.
EKS vs. GKE play by play
Managed Kubernetes services from AWS and Google, as well as the one from Microsoft, are based on open source code, so existing plug-ins, scripts and cluster configurations are portable across platforms.
Users should not assume that the configuration setup on one managed Kubernetes environment will instantly run on the other. Because each defaults to and supports different version of Kubernetes, some minor discrepancies creep in from one cloud platform to another. At the time of writing, EKS supports Kubernetes 1.7, and GKE defaults to 1.8.8, although users can configure versions 1.7 through 1.9.
Both GKE and EKS automatically install Kubernetes upgrades and patches and automatically restart failed cluster nodes. Both managed services can connect to virtual private cloud networks that segment an organization's traffic for integration with private data center infrastructures.
However, GKE has benefits over EKS. For example, EKS cannot automatically scale clusters by adding or removing nodes based on aggregate workload. It also does not support mixed instance types within a cluster or instance type alteration following cluster deployment. EKS users must set up AWS CloudWatch monitoring service events to run tasks, rather than use standard cron jobs to schedule workloads. GKE offers a beta feature that marks nodes in a cluster as available for particular Kubernetes Pods but not others, which makes it easier to use mixed instance-type clusters.
EKS automatically sets up multiple controllers in different availability zones. GKE creates a cluster master and nodes in a single zone by default. GKE users can configure multizone or multiregion clusters to make GKE automatically replicate masters and nodes across multiple zones. Users also can rescale nodes in available zones to meet capacity needs if one zone fails.
EKS is still in preview as a managed Kubernetes offering, with limited publicly available documentation. With EKS maturation, users can expect feature parity with GKE; many of these features might be included upon general availability.
Hybrid cloud containers on Google and PKS
Google created Kubernetes, so it is no surprise that GKE was already the most feature-rich managed Kubernetes service. With the Pivotal partnership, GCP enables hybrid cloud. Pivotal has developed Cloud Foundry into a container-based platform as a service that works well on vSphere and other VMware products -- notably, NSX virtual networks and vSAN virtual storage. Pivotal extended Cloud Foundry BOSH infrastructure deployment and management software with PKS to GCP to provide a unified control system for both container environments.
BOSH, developed to deploy VMs and system images, gained container support through the Kubo project, which enables it to manage Kubernetes clusters. PKS connects BOSH with GCP Service Broker, which enables containerized apps to move among on-premises vSphere and Cloud Foundry environments, as well as GKE, and still access other GCP services via native APIs.
PKS' tight integration with vSphere and other VMware services makes it the best hybrid cloud container choice for organizations with significant investments in VMware software and training. While there is a learning curve with BOSH, it is a short-term hindrance. BOSH provides features like multi-cloud deployment, health monitoring of both server and application processes, storage management and rolling upgrades that aren't built into Kubernetes.
EKS is too early in its development to clearly assess in terms of a hybrid container environment. Aside from being limited to select customers, EKS lacks the features and integrations to enable transparent multi-environment Kubernetes clusters. Given its use of open source Kubernetes, EKS enables users to manually migrate workloads between environments with minimal or no changes, but it doesn't provide the automation needed for a true hybrid deployment. And it isn't the only managed Kubernetes service with this hang-up: Azure Container Instances shares most of the same problems.