The recent launch of AWS EKS Anywhere means AWS users now have two ways to host Kubernetes clusters in private data centers or colocation facilities. They can use EKS Anywhere, or they can launch EKS clusters via AWS Outposts.
So, which approach is better, EKS Anywhere or EKS on Outposts? Here’s a comparison of these two hybrid cloud Kubernetes offerings from AWS.
How AWS EKS Anywhere Works
EKS Anywhere, which Amazon announced in late 2020, lets users set up Kubernetes clusters on their own servers and manage them through EKS, Amazon’s managed Kubernetes service. You get the same deployment process and management features as you would from EKS itself, but you can bring your own infrastructure.
For now it appears that EKS Anywhere works only with servers hosted on-premises or in a colocation data center. Support for managing clusters that are hosted on a third-party cloud -- a feature that would bring AWS EKS Anywhere closer to matching the infrastructure-agnosticism of Google Anthos -- has been rumored but not confirmed.
How AWS EKS on AWS Outposts works
EKS Anywhere is not the first AWS service that makes it possible to run Kubernetes clusters on-premises and manage them via EKS. You can also do that with AWS Outposts, the hybrid cloud platform that Amazon announced three years ago.
AWS Outposts is about more than just AWS EKS. It makes it possible to run a variety of other AWS services, such as EC2 and S3, on private infrastructure. But like EKS Anywhere, it works only with private infrastructure, not third-party clouds like Azure and GCP.
Comparing EKS Anywhere and AWS EKS on AWS Outposts
Although EKS Anywhere and EKS on Outposts both produce the same end-product (EKS-managed Kubernetes clusters hosted on your own infrastructure) there are some key differences between them.
One is the hardware you can use to host your clusters.
According to Amazon, “AWS Outposts leverages AWS-designed infrastructure, and is only supported on AWS-designed hardware.” That means the servers you already own almost certainly won’t support Outposts. You need to buy purpose-built hardware from AWS, and it’s not particularly cheap.
In comparison, EKS Anywhere will work with any virtual or bare-metal servers you have in your data center. This could be a considerable advantage for organizations that want to bring AWS EKS clusters out of the public cloud but don’t want to invest in expensive new hardware to do it.
The extent to which you need to keep your on-prem or colocated Kubernetes clusters connected to the AWS cloud is also a key differentiator.
Because AWS Outposts is “not designed for disconnected operations or environments with limited to no connectivity,” according to Amazon, it won’t work well in situations where you can’t or don’t want to maintain a constant connection to AWS. That could be particularly limiting for certain edge use cases where permanent connectivity is not a possibility. It may also be a problem for customers who want to “airgap” their clusters by disconnecting them completely from the public cloud for privacy or security reasons.
AWS EKS Anywhere is more flexible. It offers three connectivity modes: fully connected (meaning you are always connected), partially disconnected (meaning you can disconnect intermittently, which may be useful for edge use cases), and fully disconnected (in which case your clusters are not connected to the AWS cloud at all, and you have to manage them locally using your own tools).
Although Amazon has yet to release pricing details for AWS EKS Anywhere, I’d wager that it’s likely to be a less expensive and more flexible option overall from a cost perspective.
In addition to requiring the purchase of special hardware, AWS Outposts charges various fees for the services that your on-premises or colocated workloads consume. It also locks customers into a three-year term. You can pay monthly if you want, but you are still committed to three years of service, according to AWS.
It’s possible that Amazon will be similarly restrictive with EKS Anywhere pricing, but this seems unlikely. I’d expect a pay-as-you-go pricing model with no fixed term.
Conclusion: When to Choose AWS EKS Anywhere
In short, if you want the most flexibility in extending EKS to private data centers, EKS Anywhere is probably the best option. AWS Outposts makes more sense if you have additional AWS services to run in your data center and if you can commit to a long-term deployment of Outposts hardware.