more EC2 instances. Each cluster instance runs one or more Services • Servies: layer that manages and places Tasks • Tasks: container wrapper and Configuration around the process running on the instance
describing how a container should launch • Similar to Docker Compose config • Which Docker image to use • CPU & Memory • Launch Type (EC2 or Fargate) • Linked containers • Port mappings • Environment variables • Volumes • IAM role • JSON-based configuration
is to keep one task running along with status and history • Launch instances to maintain scheduling strategy • Keep task statistics and history • Expose tasks to the outside world • Track where in the cluster a task is running • Direct network traffic to the correct host and port
that determines how to spread tasks across a cluster, given CPU & memory requirements and available resources • Binpack places tasks based on the least available CPU or memory. Minimizes instances in use. • Spread places tasks evenly based on a container instance attribute (AZ) • Random places tasks on any random instance