Kubernetes is coming to Amazon Web Services, which until now has been the only major cloud provider not offering a supported version of the open source container orchestration platform to its users. On Wednesday at the AWS re:Invent event in Las Vegas, the company announced EKS, short for Amazon Elastic Container Service for Kubernetes. It's not ready for prime time just yet, but is available as a preview. General availability is expected sometime in 2018.
This move is far from a surprise. In August, AWS became the last major cloud provider to join the Cloud Native Computing Foundation, the Linux Foundation project behind Kubernetes, and something like this was an expected next move.
The cloud service already offers it's own homegrown container platform, Elastic Container Service, but that's been problematic to users with a multi-cloud approach because ECS comes with its own version of vendor lock-in. It's not portable. Containers created with ECS won't work on other clouds.
This has led many AWS users to deploy Kubernetes on their own, which requires specialized expertise and manual work to install and maintain Kubernetes' masters across multiple Availability Zones. In spite of the difficulty, CNCF says that 63 percent of Kubernetes clusters running in the cloud are on AWS.
"While we have over a hundred thousand active Amazon ECS clusters running on AWS and more customers running Kubernetes on AWS than on any other cloud, customers have also asked us to build a managed Kubernetes service like we have with Amazon ECS," Deepak Singh, AWS's GM of Containers and High Performance Computing Services, said in a statement.
What AWS will be offering is the upstream version of Kubernetes that's been tweaked for AWS. This will allow users to continue use familiar Kubernetes plugins and tooling they might be using elsewhere. Added to this will be Amazon developed enhancements, such as Fargate which will allow developers to run containers at the task level rather than having to think about servers or clusters.
Another enhancement, which will allow a single sign on for AWS and EKS, was developed as a collaborative project with Heptio, a Seattle based Kubernetes startup founded by Craig McLuckie and Joe Beda, two of the three developers who created Kubernetes at Google.
Beda, who is Heptio's CTO, explained to ITPro how the company came to get involved with the Amazon project.
"It was a little bit of serendipity," he said. "We had a security engineer who wrote, sort of as a side project, a little experiment on how we could use Amazon's native identity and authentications to be able to log in and identify yourself to Kubernetes. We released it as open source to see if anyone was interested, and it turns out that the Amazon team was interested."
He also said that AWS jumping on the Kubernetes bandwagon will not only be good for Kubernetes, but for container tech in general.
"It's a huge boost for Kubernetes in general to have all the major cloud providers on board," he said. "It really legitimizes Kubernetes as a way to describe applications into the cloud.
"It shifts a lot of the focus moving forward to higher level things. How do you deploy stuff to the cloud? How do you integrate this with your corporate system? How do you take this platform or this raw set of building blocks and do interesting stuff with it? I think we're going to see a shift, now that Amazon's there, towards people building on top of Kubernetes instead of just worrying about how do I get Kubernetes up and running."
Those who are already running their own Kubernetes instances on AWS will want to know that it won't be necessary to move everything to EKS in order to take advantage of the added functions AWS has planned.
"This project, and some of the other projects that are necessary to make EKS work, are being open sourced, and they're useful even if you're not running EKS," Beda explained. "If you're running your own Kubernetes cluster on top of Amazon you can go ahead and use this and use the networking system that they're developing. It's not an EKS only feature, but it's the type of thing they're investing in to make sure that Kubernetes runs well on AWS no matter how you run Kubernetes."