…tional services can be launched in containers on that instance that make use of the idle resources. Of course, deploying services in containers, managing which services are running on which hosts, and tracking the capacity utilization of all hosts that are running containers will quickly become unmanageable if done manually.
The recently announced Amazon EC2 Container Service (Amazon ECS) takes care of all of this for you. With Amazon ECS, you define a pool of compute resources called a “cluster.” A cluster consists of one or more Amazon EC2 instances. Amazon ECS manages the state of all container-based applications running in your cluster, provides telemetry and logging, and manages capacity utilization of the cluster, allowing for efficient scheduling of work. Amazon ECS provides a construct called a “task definition”, which is used to define a grouping of containers that comprise an application. Each container in the task definition specifies the resources required by that container, and Amazon ECS will schedule that task for execution based on the available resources in the cluster.