Posted On: Dec 3, 2019
Amazon Elastic Container Service (ECS) Capacity Providers are now available. Capacity Providers are a new way to manage compute capacity for containers, that allow the application to define its requirements for how it uses the capacity. With Capacity Providers, you can define flexible rules for how containerized workloads run on different types of compute capacity, and manage the scaling of the capacity. Capacity Providers improve the availability, scalability, and cost of running tasks and services on ECS.
Previously, you could use a Launch Type to control whether a task used EC2 or Fargate, and you could use placement constraints and placement strategies to control where tasks would run. However, only capacity that was already available (such as EC2 instances already running) could be used to run tasks, and placement constraints and strategies would only account for the capacity already available.
Capacity Providers work with both EC2 and Fargate. With EC2, you can create a Capacity Provider associated with an EC2 Auto Scaling Group (ASG). The Capacity Provider can be used to manage scaling of the ASG through ECS Cluster Auto Scaling (launching today), ensuring that the capacity necessary to run your task is requested even if it is not yet available. When running tasks and services, you can split them across multiple Capacity Providers. This enables new capabilities such as running a service in a predefined split percentage across Fargate and Fargate Spot (launching today), or ensuring that a service runs an equal number of tasks in multiple availability zones without requiring the service to rebalance.