docker on aws

Post on 16-Jul-2015

609 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

DOCKER ON AWSSascha Möllering | zanox AG

Sascha Möllering

sascha.moellering@zanox.com

Lead Engineer / DevOps Hipster

zanox AG

http://autoscaling.io

@sascha242

ABOUT ME

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

●Our current project

●Highly scalable tracking application

●Multi-Region

●Multi-AZ

●Latency based routing

GENERAL ARCHITECTURE

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

Availability

Zone

GENERAL ARCHITECTURE

Internet

Auto Scaling group

Auto Scaling group

Availability Zone

Availability Zone

GENERAL ARCHITECTURE

Apache Kafka

IMMUTABLE SERVER

Berlin | 08.06.2012 | zanox | Company Präsentation

IMMUTABLE SERVER

●Trash your servers!!!

●New deployment => new infrastructure

●Don’t change an existing server

●Problem: snowflake server

IMMUTABLE SERVER

Berlin | 08.06.2012 | zanox | Company Präsentation

IMMUTABLE SERVER

IMMUTABLE SERVER

DOCKER REGISTRY

●Private Docker registry

●Based an EC2 and S3

●Stores custom images

EC2 instance with Docker

registry (port 5000)

S3 bucket to store

Docker images

DOCKER REGISTRY

DOCKER REGISTRY

Amazon Cloud

WorkstationGitHub

Jenkins

Python/Boto

Docker Image

Docker Registry S3 bucket with

Docker Images

● Implementation progress:

● CloudFormation template

● Uses VPC and Multi-AZ

● Scalable (ELB)

● SSL support missing

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

registry-aws

DOCKER REGISTRY

DEPLOYMENT

DEPLOYMENT

DEPLOYMENT

python start_docker_instance.py \

-r <myregistry>:5000 \

-i tracking-ppv \

-t 95 \

-q 4 \

-s quality \

-n 'Sascha Moellering’

-e 'sascha.moellering@zanox.com'

-m trackingppv

-d '-d -p 8080:8080'

DEPLOYMENT

python start_elb.py \

-r <myregistry>:5000 \

-i tracking-ppv \

-t 95 \

-s quality \

-d '-d -p 8080:8080’

EC2 INSTANCES AND ELB

EC2 CONTAINER SERVICE

●Amazon EC2 Container Service (ECS):

● Container management service

● Fast

● Highly scalable

● Supports Docker

EC2 CONTAINER SERVICE

●Cluster

●Container Instance

●Task Definition

●Task

●Container

EC2 CONTAINER SERVICE

EC2 CONTAINER SERVICE

EC2 CONTAINER SERVICE

EC2 CONTAINER SERVICE

#!/bin/bash

echo ECS_CLUSTER = \

your_cluster_name >> \

/etc/ecs/ecs.config

EC2 CONTAINER SERVICE

EC2 CONTAINER SERVICE

EC2 CONTAINER SERVICE

EC2 CONTAINER SERVICE

EC2 CONTAINER SERVICE

EC2 CONTAINER SERVICE

EC2 CONTAINER SERVICE

EC2 CONTAINER SERVICE

top related