Team Kontena was present at re:Invent again this year. We had our own booth to showcase what we have built, and oh boy, was it a busy few days. Our T-shirt swag ran out before day 1 closed. :) I think in the end, we ended up talking with more than a thousand people about containers and container management. In this blog post, I'll reflect on the discussions we had with people and, of course, cover how we see the new AWS container related offerings.
Containers are here to stay
I think the biggest take-away from our discussions is that containers are definitely here to stay. Most of the people we spoke with were already using containers at some scale, or were at least planning to use them; only a hand-full of folks had no idea if they ever will use containers. Of course this is not statistically meaningful sampling as the natural draw of our booth are people that use or plan to use containers.
Also when thinking about some of the new product reveals AWS made during the event, it's pretty safe to say that, yes, containers are definitely here to stay.
It comes as no big surprise that many of the folks we spoke with were already using an AWS ECS service to run their containers, d'oh, it was an AWS event so quite naturally people are relying on their services. What was a bit surprising was the amount of people who mentioned using either Docker Swarm or Rancher; surprising being that the number was really low. I think only handful of people mentioned or asked anything relating to either Swarm or Rancher. In the past, we've seen many more questions like, "How does Kontena relate to Swarm or Rancher?". Does this mean that they are having less traction, or is this only a statistical anomaly as it was an AWS event? I personally think it might be bit of both. For Rancher's case, they've moved pretty much completely to the Kubernetes ship, which, to be honest, is already a pretty crowded ship and it's hard to stand out there.
Most of the people we spoke with saw the benefits of Kontena's approach to the problem. What we've built is basically a fully integrated solution, in which all batteries are included, and is not strictly run on AWS. And of course our new(ish) fully hosted option was also highly appreciated. With that, users get a turn-key solution to run their containers; just turn on the platform on Kontena Cloud and in just a few short minutes, one can run their own application containers. A big portion of folks don't really want to invest too much time into fiddling around with the platform they're deploying into, they just want it to work with minimum attention and for it to be easy to use for their devs. Looking at the AWS product announcements, it really seems that we'll see some level of container platform commoditization in the near future.
A lot of people seemed to be almost mesmerized by our beautiful UI for containers. We had our UI looping over on a large display at our booth, and people appreciated the fact that they can easily drill down to all the aspects of how their apps are running.
EKS and Fargate
To everyone's surprise, AWS announced a managed Kubernetes service called EKS during the keynote on Wednesday. No, it was really no surprise at all. :) I think this is something everyone working with containers was able to "see" happening for a few months now. By the looks of it, it seems that EKS is pretty much a vanilla upstream Kubernetes, whereas AWS "just" manages the masters for you. You'll still interface the setup with plain
kubectl commands and other such tooling. The only AWS specific thing there I can see is the out-of-box integration with AWS IAM.
What was more interesting was the unveiling of a service called Fargate. With Fargate, a user can schedule containers without needing to have any infrastructure setup beforehand. Not sure how Fargate achieves this, but I'd guess that it actually automatically "schedules" all needed resources "behind the scenes". When a user is scheduling a container, resource usage reservation has to be made. Basically each scheduled container has a mem and CPU reservation set. While this approach offers some benefits over managing a "separate" infrastructure for the containers, it also has some tradeoffs. Of course not having to manage the infrastructure at all is really nice, in itself, but with a common infrastructure for all your containers, one benefit is you can share some of the resources. With Fargate you basically have to reserve, and thus pay, for resources separately for each container. That then means that you cannot just use the "idle" capacity of some server in your cluster to spin up some new containers because, well, you don't have a cluster of servers. :) So for example, when you spin up a container with 4 vCPUs and 4GB memory, you pay for those resources regardless if your container actually uses them or not.
Kontena provides the most easy-to-use, fully integrated solution for DevOps and software development teams to deploy, run, monitor and operate containers on the cloud. The underlying Kontena Platform technology is open source and available under Apache 2.0 license. It is used by hundreds of startups and software development teams working for some of the biggest enterprises in the world. www.kontena.io
Image: Taken by myself from the Skyfall Lounge at Delano