At AWS re:Invent today, Amazon Web Services (AWS) announced almost native support for Docker containers with EC2 Container Service (ECS), a highly scalable, high performance container management service.
Until now, a container could be deployed to ASW. But it only meant containers could be launched, not networked or orchestrated. With the news, AWS is making it possible to run any number of Docker containers across a managed cluster of Amazon Elastic Compute Cloud (EC2) instances using APIs and other tools.
The AWS launch of ECS follows a meteoric rise for Docker, now with 50 million downloads, said Docker CEO Ben Golub on stage at the conference.
According to the AWS blog, the news means that the manual tasks of managing containers on Docker is getting automated. It means a user does not have to install cluster management software, purchase and maintain the cluster hardware, or match hardware inventory to a user’s software needs. Instead, that is now handled by ECS.
The user launches a cluster, defines tasks, and start them. ECS is built around a scalable, fault-tolerant, multi-tenant base that takes care of all of the details of cluster management on the user’s behalf.
“It’s good to see big names in cloud computing interested and betting on container technology,” said Borja Burgos, co-founder of Tutum, a networking and tool provider in the Docker ecosystem. “With AWS announcement, users now have the ability to work with containers natively on Amazon’s cloud. The basic building block is no longer the VM (EC2 instance), but the container.”
ECS is not a “true” container native service, as it relies on the underlying EC2 service, Burgos said. It still means that a user has to “manage” and pay the underlying VM (instance) based infrastructure.
Ultimately it’s a scheduling layer for containers on top of the EC2 infrastructure.
“We are just in the beginning of a new era, other cloud services will follow with their own implementations of container management.”
The AWS blog has a list of the features that come with ECS and how it is used.
According to the blog, ECS-enabled AMI and instances will be checked into a default cluster. If launched into a different cluster, a user can specify it by modifying the configuration file in the image, or passing in User Data on launch. To ECS-enable a Linux AMI, you simply install the ECS Agent and the Docker daemon.
ECS will add the newly launched instance to its capacity pool and run containers on it as directed by the scheduler. This means a user can add capacity to any of their clusters by launching additional EC2 instances in them.
The ECS Agent will be available in open source form under an Apache license. You can install it on any of your existing Linux AMIs and make a call to add them to a cluster.