Amazon’s CTO Werner Vogels today revealed a Container Service for AWS's EC2 cloud.
Speaking at the web bazaar's Reinvent conference in Las Vegas, Vogels was joined on stage by Ben Golub, CEO of Docker – which is supported by the new container service.
“Developers are largely stuck in the dark ages,” said Golub, arguing that programmers too often tie their applications too closely to infrastructure.
Think of Docker as diet virtualization: it lets developers package up software environments into boxes and deploy them on Linux. Picture a web app developer knocking out code on his or her laptop and then testing that code in a container that matches the containers running in production.
It's a $400m business, apparently.
Docker CEO Brian Golub on stage at Amazon Reinvent
The ability to run Docker on Linux virtual machines on AWS EC2 is not new. However, the EC2 Container Service makes Docker boxes, which are the only supported container, first-class cloud citizens: customers can purchase a cluster of EC2 Container Instances and manage them using the Container Service API.
That means you can control which virtual machine instances should run particular containers, or let AWS optimize that for you. There is also a scheduler that lets you add and remove containers according to predicted demands.
You do not have to use an Amazon-provided virtual machine: if you prefer, you can use any Linux VM with the EC2 Container Service provided it meets Amazon’s specification. A cluster using the new service can scale from a single VM to thousands of instances across multiple Amazon availability zones for resilience.
Amazon's new Docker support fits nicely in with another software development trend. Called micro-services, the idea is to break up applications into many loosely coupled services, each of which has a narrow focus. Each of these services can be "Dockerized" and, depending on a particular task, bunched together for deployment.
The EC2 Container Service is free, which makes sense since it encourages EC2 use.
What about Docker and Microsoft’s recent announcement of Windows support for Docker containers? Although the Docker Engine has been ported to Windows, this runs software built for Windows rather Linux, and Amazon’s new service does not support them.
Microsoft's Azure cloud can run Linux Docker containers, and Google has also announced Docker integration, so in one sense Amazon is late to the party, but at least it has a comprehensive service.
There is more to come. According to a Docker blog post, “Amazon and Docker have a longer-term plan to provide close integration between the Amazon EC2 Container Service and the growing ecosystem of Docker-based services.”
The EC2 Container Service is available now in preview mode, with a sign-up list for those who wanting to try it. ®