microsoft docker meetup - tutum spring 2015
TRANSCRIPT
![Page 2: Microsoft Docker Meetup - Tutum Spring 2015](https://reader035.vdocuments.net/reader035/viewer/2022062406/55c51f1abb61ebab7d8b46f6/html5/thumbnails/2.jpg)
• 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](https://reader035.vdocuments.net/reader035/viewer/2022062406/55c51f1abb61ebab7d8b46f6/html5/thumbnails/3.jpg)
What is Tutum?
@tutumcloud
![Page 4: Microsoft Docker Meetup - Tutum Spring 2015](https://reader035.vdocuments.net/reader035/viewer/2022062406/55c51f1abb61ebab7d8b46f6/html5/thumbnails/4.jpg)
Develop Deploy ManageBuild
@tutumcloud
![Page 5: Microsoft Docker Meetup - Tutum Spring 2015](https://reader035.vdocuments.net/reader035/viewer/2022062406/55c51f1abb61ebab7d8b46f6/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/55c51f1abb61ebab7d8b46f6/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/55c51f1abb61ebab7d8b46f6/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/55c51f1abb61ebab7d8b46f6/html5/thumbnails/8.jpg)
TUTUM CONTAINER PLATFORM
Any application
Any infrastructureManagedSimple Flexible
Hybrid/Agnostic
Any Operating
System
Containers +
Other
@tutumcloud
![Page 9: Microsoft Docker Meetup - Tutum Spring 2015](https://reader035.vdocuments.net/reader035/viewer/2022062406/55c51f1abb61ebab7d8b46f6/html5/thumbnails/9.jpg)
• 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](https://reader035.vdocuments.net/reader035/viewer/2022062406/55c51f1abb61ebab7d8b46f6/html5/thumbnails/10.jpg)
on
![Page 11: Microsoft Docker Meetup - Tutum Spring 2015](https://reader035.vdocuments.net/reader035/viewer/2022062406/55c51f1abb61ebab7d8b46f6/html5/thumbnails/11.jpg)
Global presence
11 different regions Worldwide
on
![Page 12: Microsoft Docker Meetup - Tutum Spring 2015](https://reader035.vdocuments.net/reader035/viewer/2022062406/55c51f1abb61ebab7d8b46f6/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/55c51f1abb61ebab7d8b46f6/html5/thumbnails/13.jpg)
on
How does it work?
I need 1 small node for staging
![Page 14: Microsoft Docker Meetup - Tutum Spring 2015](https://reader035.vdocuments.net/reader035/viewer/2022062406/55c51f1abb61ebab7d8b46f6/html5/thumbnails/14.jpg)
on
How does it work?
Staging
![Page 15: Microsoft Docker Meetup - Tutum Spring 2015](https://reader035.vdocuments.net/reader035/viewer/2022062406/55c51f1abb61ebab7d8b46f6/html5/thumbnails/15.jpg)
on
How does it work?
Deploy my app to Staging
Staging
![Page 16: Microsoft Docker Meetup - Tutum Spring 2015](https://reader035.vdocuments.net/reader035/viewer/2022062406/55c51f1abb61ebab7d8b46f6/html5/thumbnails/16.jpg)
on
How does it work?
I need 3 large nodes for production
Staging
Production
![Page 17: Microsoft Docker Meetup - Tutum Spring 2015](https://reader035.vdocuments.net/reader035/viewer/2022062406/55c51f1abb61ebab7d8b46f6/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/55c51f1abb61ebab7d8b46f6/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/55c51f1abb61ebab7d8b46f6/html5/thumbnails/19.jpg)
on
DEMO
CACHE
APP
LB
LOGICAL REPRESENTATION
@tutumcloud
![Page 20: Microsoft Docker Meetup - Tutum Spring 2015](https://reader035.vdocuments.net/reader035/viewer/2022062406/55c51f1abb61ebab7d8b46f6/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/55c51f1abb61ebab7d8b46f6/html5/thumbnails/21.jpg)
on
Auth/Access DeployConfigure
Behind the scenes: Tutum provisioning infrastructure on Azure
@tutumcloud
![Page 22: Microsoft Docker Meetup - Tutum Spring 2015](https://reader035.vdocuments.net/reader035/viewer/2022062406/55c51f1abb61ebab7d8b46f6/html5/thumbnails/22.jpg)
on
1. Generate certificate 2. Download certificate 3. Upload certificate
1. Auth/Access
![Page 23: Microsoft Docker Meetup - Tutum Spring 2015](https://reader035.vdocuments.net/reader035/viewer/2022062406/55c51f1abb61ebab7d8b46f6/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/55c51f1abb61ebab7d8b46f6/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/55c51f1abb61ebab7d8b46f6/html5/thumbnails/25.jpg)
on
DEMO
CACHE
APP
LB
LOGICAL REPRESENTATION
@tutumcloud
![Page 26: Microsoft Docker Meetup - Tutum Spring 2015](https://reader035.vdocuments.net/reader035/viewer/2022062406/55c51f1abb61ebab7d8b46f6/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/55c51f1abb61ebab7d8b46f6/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/55c51f1abb61ebab7d8b46f6/html5/thumbnails/28.jpg)
on
Continuous Delivery
Git push
Staging
Build Deploy
@tutumcloud
DEMO