Skip to content

Instantly share code, notes, and snippets.

@alexturek
Last active June 7, 2017 18:40
Show Gist options
  • Save alexturek/812f34ba81d9535382654cc024a65801 to your computer and use it in GitHub Desktop.
Save alexturek/812f34ba81d9535382654cc024a65801 to your computer and use it in GitHub Desktop.

ECS Glossary

  • A Service is a homogenous set of Task Definitions. Think of it as a fleet definition. It's responsible for making sure there are enough Tasks (servers or background workers) running at all times. It includes
    • Which Task Definition to run - name + version (e.g. foo-service:30)
    • How many instances of the Task Definition to run
    • Uptime strategies (minimum/maximum healthiness of the fleet)
  • A Task Definition is a definition of how to run a set of docker containers. This includes what volumes to mount, what environment variables to pass into the container, what its CPU/Memory requirements are, port mappings - think everything available as part of the docker run command. Generally we only run one at a time, so we can update services one-type-of-process-at-a-time.
  • A Task is an instance of a running Task Definition. Usually this will be a single docker container. We won't generally run Tasks manually - we let a Service run them for us, aiming for a steady-state of capacity.
  • ECR (Elastic Container Repository) is a Docker repo. It's analagous to a Git remote, but for Docker images instead of Git repos.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment