Amazon Embraces Docker, Following Google and Microsoft's Lead

The next big thing in cloud computing just found a prime spot on the world's largest cloud computing company.

The next big thing in cloud computing just found a prime spot on the world's largest cloud computing company.

On Thursday, Amazon announced a new cloud service that helps software developers and businesses build and operate their online applications using Docker, a technology that aims to make online software significantly more efficient.

Microsoft is getting behind Docker in a big way, even promising to offer something similar in the next version of Windows. Google just rolled out a cloud service that seeks to facilitate the use of Docker. And now, at its annual cloud computing conference in Las Vegas, Amazon has announced a similar tool called the EC2 Container Service.

You can think of Docker as a shipping container for software running on the internet. These containers make it easier to move software from machine to machine and run it more efficiently on each one. This is vitally important in an age when online software runs across tens, hundreds, or even thousands of machines.

Every major cloud computing company---from newcomers like Digital Ocean to old school providers like Rackspace and Joyent---is now embracing Docker. Amazon has long allowed developers to run Docker containers on its primary cloud computing service, EC2, a means of running software without setting up your own computer servers. But the new EC2 Container Service represents an even deeper commitment to the technology.

Containers are a bit like virtual machines in that they make it possible to bundle up several different pieces of software and run them on a single server without them interfering with each other. But unlike a traditional virtual machine created with tools from companies like VMware, a Docker container doesn't require its own operating system. That means you can pack far more containers onto a single server than you could virtual machines.

The trouble, Amazon Web Services CTO Werner Vogels explained at the conference, is that it's still hard to manage large numbers of containers. Figuring out how to pack all all these containers on each server in order to make the best use of that server's resources can be a bit like playing Tetris. The EC2 Container Service aims to ease that burden by automatically optimizing the placement of each container.

One of the most important aspect of the service is the ability to easily deploy containers across all of Amazon's various data centers, says Docker's senior vice president of product Scott Johnson. Amazon allows customers to select from different several geographically separated server farms---called "availability zones."

Customers can run applications in more than one availability zone so that if one zone goes down the application will stay up. The new container service will make it far easier to create this sort of resilient architecture.

The big thing still missing is, however, is a way to manage containers across different cloud providers. Amazon's new service is similar to Google's open source Kubernetes, which is the foundation of its Docker service, known as Google Container Engine, or Mesos, an open source clone of Google's internal technologies used at companies like Twitter. But it will only work on Amazon's own servers.

You can use the same Docker container on Amazon that you use on Google's cloud service, Johnson explains. But although the containers themselves don't vary, the tools themselves do. Johnson says that Docker has a plan to deal with this that will be announced next month.