docker in der cloud

31
DOCKER IN DER CLOUD Sascha Möllering | zanox AG

Upload: sascha-moellering

Post on 18-Jul-2015

445 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: Docker in der Cloud

DOCKER IN DER CLOUDSascha Möllering | zanox AG

Page 2: Docker in der Cloud

Sascha Möllering

[email protected]

[email protected]

Lead Engineer / DevOps Hipster

zanox AG

http://autoscaling.io

@sascha242

ABOUT ME

Page 3: Docker in der Cloud

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 in der Cloud

AGENDA

1. Docker

2. Amazon Web Services

3. Docker Container Deployment

4. Immutable Server Pattern

5. EC2 Container Service

Page 5: Docker in der Cloud
Page 6: Docker in der Cloud

DOCKER

●Docker

●Container technology for Linux

●Uses cgroups and kernel

namespaces

● Isolation of processes

Page 7: Docker in der Cloud
Page 8: Docker in der Cloud

DOCKER

●Amazon Web Services

●Collection of remote computing

services

●Cloud computing platform by

Amazon.com

●Well known: EC2 and S3

Page 9: Docker in der Cloud
Page 10: Docker in der Cloud

DOCKER DEPLOYMENT

●Amazon Services with Docker support:

●Amazon OpsWorks

●Elastic Beanstalk

●EC2 Container Service

Page 11: Docker in der Cloud

DOCKER DEPLOYMENT

Amazon Cloud

WorkstationGitHub

Jenkins

Python/Boto

Docker Image

Docker Registry S3 bucket with

Docker Images

Page 12: Docker in der Cloud

EC2 instance with Docker

registry (port 5000)

S3 bucket to store

Docker images

DOCKER DEPLOYMENT

Page 13: Docker in der Cloud

DOCKER DEPLOYMENT

Page 14: Docker in der Cloud

DEPLOYMENT

Page 15: Docker in der Cloud

DOCKER DEPLOYMENT

●Deployment of Docker containers

1. Remote API

2. EC2 user data

Page 16: Docker in der Cloud

DOCKER DEPLOYMENT

●API to access Docker daemon

●Can be bound to specific host/port

●E.g. Jenkins can trigger deplyoments

●GET /containers/json

REMOTE API

Page 17: Docker in der Cloud

DOCKER DEPLOYMENT

●Data to configure instance during

launch

● Install Docker

●Start Daemon

●Run Docker container

EC2 USER DATA

Page 18: Docker in der Cloud
Page 19: Docker in der Cloud

IMMUTABLE SERVER

●Trash your servers!!!

●New deployment => new infrastructure

●Don’t change an existing server

●Problem: snowflake server

Page 20: Docker in der Cloud

IMMUTABLE SERVER

Page 21: Docker in der Cloud
Page 22: Docker in der Cloud

IMMUTABLE SERVER

Page 23: Docker in der Cloud

IMMUTABLE SERVER

Blue

Green

Version 3

Version 4

Page 24: Docker in der Cloud
Page 25: Docker in der Cloud

EC2 CONTAINER SERVICE

●Amazon EC2 Container Service (ECS):

● Container management service

● Fast

● Highly scalable

● Supports Docker

Page 26: Docker in der Cloud

EC2 CONTAINER SERVICE

●Cluster

●Container Instance

●Task Definition

●Task

●Container

Page 27: Docker in der Cloud

EC2 CONTAINER SERVICE

Page 28: Docker in der Cloud

EC2 CONTAINER SERVICE

Page 29: Docker in der Cloud

EC2 CONTAINER SERVICE

#!/bin/bash

echo ECS_CLUSTER = \

your_cluster_name >> \

/etc/ecs/ecs.config

Page 30: Docker in der Cloud

EC2 CONTAINER SERVICE

Page 31: Docker in der Cloud