AWS Services Key Points
ECS & Fargate
Elastic Container Service (ECS) is fully-managed container orchestration service. Highly secure, reliable, and scalable way to run containers.
Components of ECS
- Cluster Multiple EC2 instances which will house the docker containers.
- Task Definition A JSON file that defines the configuration of (upto 10) containers you want to run.
- Task Launches containers defined in Task Definition. Tasks do not remaining running once workload is complete.
- Service Ensures tasks remaining running eg. web-app.
- Container Agent Binary on each EC2 instance which monitors, starts and stops tasks.
- More Details: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html
Elastic Container Registry (ECR) A fully-managed Docker container registry that makes it easy for developers to store, manage and deploy Docker container images.
Fargate is Serverless containers. Don't worry about servers. Run containers, and pay based on duration and consumption
- Fargate has cold starts so if this is an issue for you then use ECS.
- Duration As long as you want.
- Memory Up to 30 GB.
- Pricing Pay at least 1 min and every additional second.
- More Details: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html