microsoft docker meetup - tutum spring 2015

29
@tutumcloud tutum.co [email protected] +

Upload: luisamariethm

Post on 08-Aug-2015

230 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Microsoft Docker Meetup - Tutum Spring 2015

@tutumcloud tutum.co [email protected]

+

Page 2: Microsoft Docker Meetup - Tutum Spring 2015

• 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

@tutumcloud

Page 3: Microsoft Docker Meetup - Tutum Spring 2015

What is Tutum?

@tutumcloud

Page 4: Microsoft Docker Meetup - Tutum Spring 2015

Develop Deploy ManageBuild

@tutumcloud

Page 5: Microsoft Docker Meetup - Tutum Spring 2015

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

Page 6: Microsoft Docker Meetup - Tutum Spring 2015

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

Page 7: Microsoft Docker Meetup - Tutum Spring 2015

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

Page 8: Microsoft Docker Meetup - Tutum Spring 2015

TUTUM CONTAINER PLATFORM

Any application

Any infrastructureManagedSimple Flexible

Hybrid/Agnostic

Any Operating

System

Containers +

Other

@tutumcloud

Page 9: Microsoft Docker Meetup - Tutum Spring 2015

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

TUTUM TODAY

@tutumcloud

Page 10: Microsoft Docker Meetup - Tutum Spring 2015

on

Page 11: Microsoft Docker Meetup - Tutum Spring 2015

Global presence

11 different regions Worldwide

on

Page 12: Microsoft Docker Meetup - Tutum Spring 2015

VM-type portfolio

21 different VM types supported

16 CPUs 112 GB RAM

1 CPU 750 MB RAM

on

Page 13: Microsoft Docker Meetup - Tutum Spring 2015

on

How does it work?

I need 1 small node for staging

Page 14: Microsoft Docker Meetup - Tutum Spring 2015

on

How does it work?

Staging

Page 15: Microsoft Docker Meetup - Tutum Spring 2015

on

How does it work?

Deploy my app to Staging

Staging

Page 16: Microsoft Docker Meetup - Tutum Spring 2015

on

How does it work?

I need 3 large nodes for production

Staging

Production

Page 17: Microsoft Docker Meetup - Tutum Spring 2015

on

How does it work?

Deploy my app to staging with a load balancer

and make it highly available

Staging

Production

Page 18: Microsoft Docker Meetup - Tutum Spring 2015

on

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*

*

Page 19: Microsoft Docker Meetup - Tutum Spring 2015

on

DEMO

CACHE

APP

LB

LOGICAL REPRESENTATION

@tutumcloud

Page 20: Microsoft Docker Meetup - Tutum Spring 2015

on

DEMO

STAGING

AZURE A2

CACHE

APP

LB

LOGICAL REPRESENTATION

PRODUCTION

AZURE D3 AZURE D3 AZURE D3

Page 21: Microsoft Docker Meetup - Tutum Spring 2015

on

Auth/Access DeployConfigure

Behind the scenes: Tutum provisioning infrastructure on Azure

@tutumcloud

Page 22: Microsoft Docker Meetup - Tutum Spring 2015

on

1. Generate certificate 2. Download certificate 3. Upload certificate

1. Auth/Access

Page 23: Microsoft Docker Meetup - Tutum Spring 2015

on

network = ConfigurationSet()        network.input_endpoints.input_endpoints.append(            ConfigurationSetInputEndpoint("docker", "tcp", "2375", "2375"))        network.input_endpoints.input_endpoints.append(            ConfigurationSetInputEndpoint("weave_tcp", "tcp", "6783", "6783"))        network.input_endpoints.input_endpoints.append(            ConfigurationSetInputEndpoint("weave_udp", "udp", "6783", "6783"))        network.input_endpoints.input_endpoints.append(            ConfigurationSetInputEndpoint("ssh", "tcp", "22", "22"))

2. Configure

a. Create new Azure Cloud Service b. Upload custom data (aka cloud-init) c. Create OS Storage + Data Storage d. Configure initial firewall configuration

Page 24: Microsoft Docker Meetup - Tutum Spring 2015

on

#!/bin/bashset -o pipefail

if [ ! -f /var/lib/docker/.tutum-ebs ] && [ -b /dev/sdc ]; then    echo "Formatting new data volume and mounting in /var/lib/docker..."    echo -e "o\nn\np\n1\n\n\nw" | fdisk /dev/sdc    mkfs -t ext4 /dev/sdc1    mkdir -p /var/lib/docker    sed -i "/^\/dev\/sdc/d" /etc/fstab    echo "/dev/sdc1 /var/lib/docker ext4    defaults,nofail 0   2" >> /etc/fstab    mount -a    touch /var/lib/docker/.tutum-ebsfi

MAX_RETRIES=10

echo "Installing tutum-agent..."mkdir -p /var/log/tutumretries_counter=1while :do    curl -LSs --retry 30 --retry-delay 10 --connect-timeout 10 {{ NodeProvisioningScript }} 2> /var/log/tutum/install.log | sh -s {{ TutumToken }} {{ TutumUUID }} {{ CertCommonName }} >> /var/log/tutum/install.log 2>&1    RET=$?    if [ "$RET" != "0" ]    then        if [ $retries_counter -le $MAX_RETRIES ]        then            (( retries_counter += 1 ))        else            echo "Max retries reached. Aborted."            break        fi        echo "Failed to cURL node provision script with error $RET. Retrying in 5 seconds..."        sleep 5    else

set-up /var/lib/docker

install tutum-agent

3. Deploy VM

Page 25: Microsoft Docker Meetup - Tutum Spring 2015

on

DEMO

CACHE

APP

LB

LOGICAL REPRESENTATION

@tutumcloud

Page 26: Microsoft Docker Meetup - Tutum Spring 2015

on

DEMO

STAGING

AZURE A2

CACHE

APP

PRODUCTION

AZURE D3 AZURE D3 AZURE D3

CACHE

APP

LB

LOGICAL REPRESENTATION PHYSICAL REPRESENTATION

@tutumcloud

Page 27: Microsoft Docker Meetup - Tutum Spring 2015

on

DEMO

STAGING

AZURE A2

CACHE

APP

PRODUCTION

AZURE D3 AZURE D3 AZURE D3

APP APP

APP CACHE

APP

APP

APP

LB

CACHE

APP

LB

LOGICAL REPRESENTATION PHYSICAL REPRESENTATION

@tutumcloud

Page 28: Microsoft Docker Meetup - Tutum Spring 2015

on

Continuous Delivery

Git push

Staging

Build Deploy

@tutumcloud

DEMO

Page 29: Microsoft Docker Meetup - Tutum Spring 2015

@tutumcloud tutum.co [email protected]

thank you