Deconstruct Amazon’s Container Services Strategy
Container services and related technologies took center stage at AWS re: Invent 2020, which has gone virtual. Since launching ECS / EKS through the “Anywhere” strategy, transforming Elastic Container Registry into a free open registry, and adding container support to Lambda, Amazon has responded appropriately to the competition and changing market dynamics.
This year’s re: Invent also marks Amazon’s official entry into the multi-cloud world. While the term multi-cloud is taboo for AWS, the “Anywhere” suffix implicitly indicates that some of its services can now run in other clouds, including Google Cloud and Microsoft Azure.
AWS’s product marketing and branding teams have worked hard to create the “Anywhere” theme that acts as a nickname for multi-cloud. So when you see an AWS Portfolio product with the suffix “Anywhere”, interpret it as a multi-cloud service.
Current trends in the container landscape
Over the past two years, two key trends have emerged in the container market. The first transformed Kubernetes into a preferred platform for hybrid cloud and multi-cloud computing. The second trend has resulted in a centralized control plane for managing multiple Kubernetes clusters running in almost any environment.
Google Anthos, Microsoft Azure Arc, VMware Tanzu Mission Control, Rancher, and Red Hat OpenShift with Advanced Cluster Manager platforms are based on these trends. What is common among these offers? You can either launch a managed cluster running in any environment or attach an existing cluster to the central control plane.
Anthos is one of the first platforms built on the principle of Kubernetes as a control plane for hybrid and multi-cloud workloads. Google made it possible to run Google Kubernetes Engine (GKE), its flagship product and the industry’s best implementation, including AWS, Azure, VMware, and even bare metal. It is also possible to associate non-GKE clusters with Anthos. Regardless of where the clusters are running and how they are deployed, they are visible to the Anthos control plane running in Google Cloud.
Once a Kubernetes cluster is connected to the cloud, public cloud providers can do a lot of things with it. It becomes a vehicle for pushing managed cloud services to hybrid and multi-cloud environments. Microsoft’s Arc Compatible Data Services and Google BigQuery Omni are examples of this trend. The former brings SQL and PostgreSQL managed services to any Kubernetes cluster, while the latter leverages Kubernetes to run BigQuery in AWS.
Google and Microsoft will leverage Kubernetes to effectively decouple workloads from AWS managed services. Today, it is possible to run an analytical workload in AWS that only relies on EC2 and S3 but uses BigQuery Omni as a data warehouse instead of Amazon’s own Redshift. The same is true for workloads using Arc-enabled data services deployed on Kubernetes clusters running on EC2.
In the multi-cloud world, Kubernetes is emerging as the new operating system. Any cloud provider can create a Kubernetes cluster in any other cloud and offer managed services transparently, even if they are running in their competitor’s environment.
This trend is a serious concern for AWS which promises to remove the bulk of the undifferentiated work involved in operations. The worrying thing for Amazon is that the competition is doing the heavy lifting to make it easy for customers to reduce their dependence on the AWS cloud.
With the competition officially running their managed services in AWS, the value of the Amazon cloud is reduced to a collection of EC2 instances. The initial promise to lift undifferentiated heavy loads is hijacked by Google and Microsoft.
Amazon cannot remain a silent spectator of the growing threat of competition exploiting its infrastructure. He must answer them before it is too late.
ECS and EKS Anywhere – Unleashing Amazon’s Container Orchestrators
AWS announced two new versions of its container orchestration engines: ECS Anywhere and EKS Anywhere.
AWS chose ECS Anywhere, EKS Anywhere, and EKS Distribution to address the growing threat of multi-cloud and Kubernetes.
Amazon created ECS long before Kubernetes became the de facto standard for container orchestration. Built on EC2, ECS is a sophisticated container scheduler that orchestrates a containerized workload. It’s the foundation of Fargate, the serverless container platform and managed batch service, AWS Batch.
With ECS Anywhere, customers can run ECS compute clusters outside of AWS while managing them like a traditional ECS cluster. From bare metal servers to virtual machines and even a collection of Raspberry Pi devices, ECS can manage external clusters running in a variety of environments, including non-AWS clouds.
Even after Kubernetes gained popularity with customers, AWS waited a long time to announce a managed Kubernetes service in the form of EKS. Amazon wanted its customers to use ECS as their preferred orchestrator in the AWS environment. After realizing that customers were deploying Kubernetes with open source tools like Kops, he reluctantly launched EKS. Today, the majority of Kubernetes clusters running in the cloud are on AWS.
EKS Anywhere is a deployment tool that can provision a Kubernetes cluster based on the same components as the managed EKS stack. The only difference is that the control plane and worker nodes run outside of AWS. Customers get the same binaries, components, open source codebase used by EKS teams. It’s as good as running EKS, but in your own environment or on a non-AWS cloud platform with no SLA from Amazon.
Amazon opened the EKS stack under EKS Distribution which is available on GitHub. The cloud-managed EKS service and EKS Anywhere are both based on the same codebase – the EKS distribution.
ECS Anywhere and EKS Anywhere provide a solid foundation for Amazon’s hybrid cloud and multi-cloud ambitions.
The next part of this article analyzes how Amazon wants to leverage ECS Anywhere to expand its hybrid footprint.