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 [email protected]
thank you