Amazon EC2 Container Service allows you to easily run and manage Docker containers across a cluster of Amazon EC2 instances. Applications packaged as containers locally will deploy and run in the same way in containers managed by EC2 Container Service. Amazon EC2 Container Service provides you complete information about the state of your cluster, eliminating the need to install and operate your own cluster management infrastructure or configuration management system. Amazon EC2 Container Service allows you to schedule container-enabled applications across your cluster based on your resource needs and availability requirements. Amazon EC2 Container Service allows you to start and stop from several to several thousand containers in seconds.
With EC2 Container Service, you have complete visibility and control of your cluster from creating and terminating Docker containers to viewing detailed cluster state information. You can easily integrate and use your own container scheduler (e.g. Chronos or Marathon) or connect EC2 Container Service into your existing software delivery process (e.g., continuous integration and delivery systems).
Amazon EC2 Container Service supports the Docker platform and enables you to run and manage Docker containers across a cluster of Amazon EC2 instances. Each EC2 instance in a cluster managed by EC2 Container Service runs a Docker daemon, so whatever application you package as a container locally will deploy and run on EC2 Container Service without the need for any configuration changes.
Managing your own container management infrastructure involves installing and operating your own cluster management software, configuration management systems, and monitoring solutions. Architecting and managing the availability and scalability of these systems is difficult. Amazon EC2 Container Service just takes out all the complexity of container management. With EC2 Container Service, you just launch a cluster of Container Instances, specify the tasks you want to run, and EC2 Container Service handles all the cluster management for you.
Amazon EC2 Container Service is a building block service, and provides you with a set of simple APIs to allow you to integrate and extend the service. The APIs allow you to create and delete clusters, register and deregister tasks, launch and terminate Docker containers, and provide detailed information about the state of your cluster and its instances.
Amazon EC2 Container Service allows you to define tasks through a declarative JSON template. Within a task you can specify one or more containers required for your task, including the Docker repository and image, memory and CPU requirements, and how the containers are linked to each other. You can launch as many tasks as you want from a single task definition file that you can register with the service.
Amazon EC2 Container Service comes with a default scheduler that schedules containers to help find the optimal instance placement based on your resource needs (e.g., CPU or RAM) and availability requirements. The EC2 Container Service APIs also provide you with complete cluster state information, allowing you to write your own scheduler or integrate existing 3rd party schedulers if you choose.
Amazon EC2 Container Service can be used with any third party or accessible private Docker registry, or Docker Hub, a hosted Docker image repository. All you need to do is specify the repository in your Task Definition and EC2 Container Service will fetch appropriate images for your applications.