docker on aws

43
DOCKER ON AWS Sascha Möllering | zanox AG

Upload: sascha-moellering

Post on 16-Jul-2015

609 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Docker on AWS

DOCKER ON AWSSascha Möllering | zanox AG

Page 2: Docker on AWS

Sascha Möllering

[email protected]

Lead Engineer / DevOps Hipster

zanox AG

http://autoscaling.io

@sascha242

ABOUT ME

Page 3: Docker on AWS

JAVA MAGAZIN 11.14

ARCHITEKTUR IM KONTEXT DER CLOUD: PATTERNS UND BEST

PRACTICES

AWS VIRTUAL CLOUD SUMMIT

CONTINUOUS DELIVERY IN AWS USING DOCKER

ENTWICKLER SPEZIAL: DOCKER

ÜBER DEN WOLKEN: EIN ERFAHRUNGSBERICHT ZUM DOCKER-

EINSATZ IN DER AMAZON CLOUD

ABOUT ME

Page 4: Docker on AWS
Page 5: Docker on AWS

●Our current project

●Highly scalable tracking application

●Multi-Region

●Multi-AZ

●Latency based routing

GENERAL ARCHITECTURE

Page 6: Docker on AWS

RegionUS-WEST (N. California) EU-WEST (Ireland)

ASIA PAC

(Tokyo)

ASIA PAC

(Singapore)

US-WEST (Oregon)

SOUTH AMERICA (Sao

Paulo)

US-EAST (Virginia)

GOV CLOUD

ASIA PAC

(Sydney)

EU-CENTRAL (Frankfurt)

GENERAL ARCHITECTURE

Page 7: Docker on AWS

Availability

Zone

GENERAL ARCHITECTURE

Page 8: Docker on AWS

Internet

Auto Scaling group

Auto Scaling group

Availability Zone

Availability Zone

GENERAL ARCHITECTURE

Apache Kafka

Page 9: Docker on AWS

IMMUTABLE SERVER

Berlin | 08.06.2012 | zanox | Company Präsentation

Page 10: Docker on AWS

IMMUTABLE SERVER

●Trash your servers!!!

●New deployment => new infrastructure

●Don’t change an existing server

●Problem: snowflake server

Page 11: Docker on AWS

IMMUTABLE SERVER

Berlin | 08.06.2012 | zanox | Company Präsentation

Page 12: Docker on AWS
Page 13: Docker on AWS
Page 14: Docker on AWS

IMMUTABLE SERVER

Page 15: Docker on AWS

IMMUTABLE SERVER

Page 16: Docker on AWS
Page 17: Docker on AWS

DOCKER REGISTRY

●Private Docker registry

●Based an EC2 and S3

●Stores custom images

Page 18: Docker on AWS

EC2 instance with Docker

registry (port 5000)

S3 bucket to store

Docker images

DOCKER REGISTRY

Page 19: Docker on AWS

DOCKER REGISTRY

Amazon Cloud

WorkstationGitHub

Jenkins

Python/Boto

Docker Image

Docker Registry S3 bucket with

Docker Images

Page 20: Docker on AWS

● Implementation progress:

● CloudFormation template

● Uses VPC and Multi-AZ

● Scalable (ELB)

● SSL support missing

● https://github.com/SaschaMoellering/docker-

registry-aws

DOCKER REGISTRY

Page 21: Docker on AWS

DEPLOYMENT

Page 22: Docker on AWS

DEPLOYMENT

Page 23: Docker on AWS

DEPLOYMENT

python start_docker_instance.py \

-r <myregistry>:5000 \

-i tracking-ppv \

-t 95 \

-q 4 \

-s quality \

-n 'Sascha Moellering’

-e '[email protected]'

-m trackingppv

-d '-d -p 8080:8080'

Page 24: Docker on AWS
Page 25: Docker on AWS

DEPLOYMENT

python start_elb.py \

-r <myregistry>:5000 \

-i tracking-ppv \

-t 95 \

-s quality \

-d '-d -p 8080:8080’

Page 26: Docker on AWS
Page 27: Docker on AWS

EC2 INSTANCES AND ELB

Page 28: Docker on AWS
Page 29: Docker on AWS

EC2 CONTAINER SERVICE

●Amazon EC2 Container Service (ECS):

● Container management service

● Fast

● Highly scalable

● Supports Docker

Page 30: Docker on AWS

EC2 CONTAINER SERVICE

●Cluster

●Container Instance

●Task Definition

●Task

●Container

Page 31: Docker on AWS

EC2 CONTAINER SERVICE

Page 32: Docker on AWS

EC2 CONTAINER SERVICE

Page 33: Docker on AWS

EC2 CONTAINER SERVICE

Page 34: Docker on AWS

EC2 CONTAINER SERVICE

#!/bin/bash

echo ECS_CLUSTER = \

your_cluster_name >> \

/etc/ecs/ecs.config

Page 35: Docker on AWS

EC2 CONTAINER SERVICE

Page 36: Docker on AWS

EC2 CONTAINER SERVICE

Page 37: Docker on AWS

EC2 CONTAINER SERVICE

Page 38: Docker on AWS

EC2 CONTAINER SERVICE

Page 39: Docker on AWS

EC2 CONTAINER SERVICE

Page 40: Docker on AWS

EC2 CONTAINER SERVICE

Page 41: Docker on AWS

EC2 CONTAINER SERVICE

Page 42: Docker on AWS

EC2 CONTAINER SERVICE

Page 43: Docker on AWS