DEV Community

Roman
Roman

Posted on

AWS Elastic Container Service Cheat Sheet

Elastic Container Service

  • Microservices are built in multiple programming languages
  • Containers simplify deployment of microservices:
    • Step 1 : Create a self contained Docker image
    • Application Runtime (JDK or Python), Application code and Dependencies
    • Step 2 : Run it as a container any where Local machine OR Corporate data center OR Cloud
  • Use On-Demand instances or Spot instances
  • Launch type: EC2 or Fargate
  • Data volumes attached to containers
  • Deployment type:
    • Rolling update
    • Blue/green deployment (powered by AWS CodeDeploy)
  • Task Placement Strategies:
    • binpack - Leave least amount of unused CPU or memory. Minimizes number of container instances in use
    • random - Random task placement
    • spread - Based on specified values:
    • Host (instanceId)
    • (OR) Availability Zone(attribute:ecs.availability-zone)
    • (Alowed) Combine strategies and prioritize
  • How do you manage 100s of containers?
  • ECS - Fully managed service for container orchestration
    • Step 1 : Create a Cluster (Group of one or more EC2 instances)
    • Step 2: Deploy your microservice containers
  • AWS Fargate: Serverless ECS. DON'T worry about EC2 instances.
  • Cloud Neutral: Kubernetes
    • AWS - AWS Elastic Kubernetes Service (EKS)
  • Load balancing:
    • Performed using Application Load Balancers
    • Dynamic host port mapping: Multiple tasks from the same service are allowed per EC2 (container) instance
    • Path-based routing: Multiple services can use the same listener port on same ALB and be routed based on path (www.myapp.com/microservice-a and www.myapp.com/microservice-b)

Elastic Container Service

Top comments (0)