Container Management with Amazon ECS

Preview:

Citation preview

©2016, Amazon Web Services, Inc. or its affiliates. All rights reserved

Container Management with Amazon ECSSascha Möllering

Solutions Architect

AWS Global Infrastructure

13 Regions35 Availability Zones63 Edge Locations

Agenda

• Amazon EC2 Container Service• Amazon EC2 Container Registry• Common patterns• Demo

Amazon EC2 Container Service

Easily manage clusters for any scale

• Nothing to run• Complete state• Control and monitoring• Scale

Flexible container placement

• Applications• Batch jobs• Multiple schedulers

Designed for use with other AWS services

• Elastic Load Balancing• Amazon Elastic Block Store• Amazon Virtual Private

Cloud• AWS Identity and Access

Management (IAM)

Designed for use with other AWS services

• AWS CloudTrail• Auto Scaling• CloudWatch Logs

Extensible

• Comprehensive APIs• Open source agent• Custom schedulers

Amazon EC2 Container Registry

Fully managed

• Nothing to run• Control and monitoring• Scale

Secure

• IAM resource based policies• Transfer via HTTPS• Encryption at rest

Simplified Workflow

• Tight integration with Amazon ECS

• Use Docker CLI commands (e.g., push, pull, list, tag)

Highly Available

• Backed by Amazon S3• Images redundantly stored

across multiple facilities and multiple devices in each facility

Common Patterns

Pattern 1: Services and applications

• Simple to model• Micro services• Blue/green deployments

Pattern 2: Batch jobs

• Share resource pools• Ideal for bursty jobs• Spot instances

Amazon ECS Terminology

Amazon EC2 instances

Docker daemon

Amazon ECS agent

Key components: container instances

Regional

Resource pool

Grouping of container instances

Start empty, dynamically scalable

Key Components: Clusters

Key components: task definitions

Volume definitions

Container definitions

Unit of work

Grouping of related containers

Run on container instances

Key components: tasks

Key components: Run a task

Good for short-lived containers, e.g.

batch jobs

Key components: Create a service

Good for long-running applications

and services

Key components: Create a service

• Load balance traffic across containers• Automatically recover unhealthy containers• Auto Scaling• Discover services

Elastic Load Balancing

Key components: Update a service

• Scale up• Scale down

Elastic Load Balancing

Key components: Update a service

• Deploy a new version• Drain connections

Elastic Load Balancing

Typical user workflow

I want to run a service.

Typical user workflow

Run Instances

Amazon EC2

Use custom AMI with Docker support and

ECS agent. Instances register

with specified cluster.

Typical user workflow

Create Task DefinitionDeclare resource requirements for

containers

Typical user workflow

Create ServiceDeclare resource requirements for

service

X 5

Elastic Load Balancing

Typical user workflow

Describe Service

Demo

Summary

• ECS is a highly scalable container management service

• ECR is a fully-managed Docker container registry

• Designed for use with other AWS services

BERLIN

Recommended