Transcript

THE CONTAINER PLATFORM

Continuous Delivery & Management of your Multi-container Apps with

DockerHub and Tutum by

Borja Burgos

• @borja_burgos • CEO @ Tutum • Computers, gadgets, hardware… • Telecom, cloud, security… • Started using docker v0.4 • CaaS in Fall 2013 w/ docker v0.6 • Container Platform in Fall 2014

ABOUT ME – BORJA BURGOS

@tutumcloud

What is Tutum?

@tutumcloud

Develop Deploy ManageBuild

@tutumcloud

Develop Deploy ManageBuild

CI CD

Code repo

Image repo

Monitoring

Logging

Scaling

Networking

Storage

Service Discovery

Composability

Security

Many Hosts Public Cloud Private CloudAcross: Environments

@tutumcloud

Develop Deploy ManageBuild

CI CD

Code repo

Image repo

Monitoring

Logging

Scaling

Networking

Storage

Service Discovery

Composability

Security

Many Hosts Public Cloud Private CloudAcross: Environments

Develop Deploy ManageBuild

CI CD

Code repo

Image repo

Monitoring

Logging

Scaling

Networking

Storage

Service Discovery

Composability

Security

Many Hosts Public Cloud Private CloudAcross: Environments

TUTUM CONTAINER PLATFORM

@tutumcloud

TUTUM CONTAINER PLATFORM

App InfrastructureManagedSimple Flexible

Hybrid + Agnostic

Operating System Container

• Public beta • 320,000+ containers deployed on 22,000+ nodes (VMs/hosts) around the World

TUTUM TODAY

@tutumcloud

How does it work?

I need 1 small node for staging

Infrastructure Provider

How does it work?

Staging

Infrastructure Provider

How does it work?

Deploy my app to Staging

Staging

Infrastructure Provider

How does it work?

I need 3 large nodes for production

Staging

Production

Infrastructure Provider

How does it work?

Deploy my app to staging with a load balancer

and make it highly available

Staging

Production

Infrastructure Provider

1-click Docker Upgrades

Overlay Network

Aggregate-loggingScaling

Monitoring

Image Cleanup

Service Discovery

Log rotation

Continuous Delivery

Free Private Image Registry

Data Volumes0-downtime deployments

Stacks + Docker Compose

docker build

docker exec

*

Continuous Delivery

Git push Build Deploy

@tutumcloud

WORKSHOP

WORKSHOP

WORKSHOP

@tutumcloud

1. Up & runningGithub

DockerHub Tutum

Infrastructure

WORKSHOP

@tutumcloud

CACHE

APP

CACHE

APP

LOGICAL REPRESENTATION PHYSICAL REPRESENTATION

@tutumcloud

WORKSHOP

@tutumcloud

2. Continuous Buildusing Github and DockerHub Automated Build

Git push Build

WORKSHOP

@tutumcloud

3. Continuous Deploymentusing DockerHub and Tutum’s Redeploy Trigger

Build Deploy

Continuous Delivery

Git push Build Deploy

@tutumcloud

WORKSHOP

APP APP

APP CACHE

APP

APP

APP

LB

CACHE

APP

LB

LOGICAL REPRESENTATION PHYSICAL REPRESENTATION

@tutumcloud

WORKSHOP

APP APP

APP CACHE

APP

APP

APP

LB

CACHE

APP

LB

LOGICAL REPRESENTATION PHYSICAL REPRESENTATION

@tutumcloud

WORKSHOP

LB

WORKSHOP

@tutumcloud

4. Blue/Green Deployment

@tutumcloud

lb: image: 'tutum/haproxy:latest' autorestart: always links: - web-blue ports: - '80:80' roles: - global deployment_strategy: high_availability

redis: image: 'tutum/redis:latest' autorestart: always environment: - REDIS_PASS=password

web-blue: image: 'borja/containerdays:v1' autorestart: always links: - redis target_num_containers: 3 deployment_strategy: high_availability

web-green: image: 'borja/containerdays:v1' autorestart: always links: - redis target_num_containers: 1 deployment_strategy: high_availability

CACHE

APPv1

LB

@tutumcloud

WORKSHOP

APPv1

Starting point

CACHE

APPv1

LB

Update Blue to v2

@tutumcloud

WORKSHOP

APPv2

CACHE

APPv1

LB

Point LB to Blue

@tutumcloud

WORKSHOP

APPv2

CACHE

APPv1

LB

@tutumcloud

WORKSHOP

APPv2

Rollback to v1 by pointing LB to Green

CACHE

APPv1

LB

@tutumcloud

WORKSHOP

APPv2

Point to Blue v2 again

CACHE

APPv3

LB

@tutumcloud

WORKSHOP

APPv2

Update Green to v3

CACHE

APPv3

LB

@tutumcloud

WORKSHOP

APPv2

Point LB to Green v3

@tutumcloud tutum.co info@tutum.co

thank you

top related