SlideShare une entreprise Scribd logo
1  sur  41
Docker Orchestration on Azure with Rancher
Who am I?
Cloud Solution Architect
@ Xylos ICT
Started in IT about 15 years ago
Heterogeneous Background
Focused on Business Outcome
about.kvaes.be @kvaes blog.kvaes.be
Karim Vaes
Agenda
Let’s get sure everyone understands
the basics…
“Docker 101”
Show me the cake!
“Hands-on!”
Cooking up things is cool…
Though let’s talk about the
recipe first!
“The Recipe”
Sounds interesting… Show me!Say what?!?
Say what?!?
aka “Docker 101”
Traditional Current Emerging
Virtual Public Private
Container
Physical
Baremetal Virtual Machine
Private
N-tier Applications MicroservicesMonolithic Applications
Agile DevopsWaterfall
Build Ship
Run
Dev
QA
Source
Staging
Physical
Virtual
Cloud
Infrastructure Management
Infrastructure Management
DockerFile
Source Code
Repository
TESTTEST
TESTTEST
TEST
GCE RAX IBM
Mac/Win Dev
Machine
Boot2Docker
Docker
Analytics
DB
Prod Machine
Linux OS
DockerDocker
++
Users Collab
Provenance Policy
Docker Hub
Registries
Public Curated Private
Docker Hub API
Third Party Tools
Prod Machine
Linux OS
DockerDocker
Prod Machine
Linux OS
DockerDocker
VM
DockerDocker
VM
DockerDocker
VM
DockerDocker
QA Machine
Linux OS
DockerDocker
Build once, ship & run everywhere!
Containers vs Virtual Machines
Sample Dockerfile
# Pull the latest batch script
ENV HOME /root
COPY testblog.sh /data/bin/
COPY testblogcron /data/bin/
COPY startcron.sh /data/bin/
# Setup 755 on the scripts
RUN chmod 755 /data/bin/*.sh
# Setup Cron Job
RUN cat /data/bin/testblogcron >> /etc/crontab
# Setup Cron Log
RUN touch /var/log/testblog.log
# Define default command.
CMD ["/data/bin/startcron.sh"]
#
# BlogTest Dockerfile
#
# Source : https://bitbucket.org/kvaes/docker-testblog/
# Author : Karim Vaes
# Use Ubuntu 10.04 as a base
FROM ubuntu:10.04
# First let's do some updates!
RUN apt-get update && apt-get -y upgrade
# Install cron
RUN apt-get -y install cron
# Let's prep the directory
RUN mkdir -p /data/bin
Basic Docker Flow
What about changes & updates?
What makes containers lightweight?
Sounds Interesting…
aka “The Recipe”
The Recipe for today’s dish!
Ingredient : Azure
Resource
Manager
Traffic
Manager
Virtual
Machine
Scale Set
Storage
Account
Ingredient : Docker
Ingredient : Rancher
Ingredient : Community Contributions
Today’s Dish as a Stack
Show me!
aka “Hands-on”
Demo : Deploy our base setup
Demo : Deploy our base setup
Server
Leave “nodesApi” blank
Select “Server” for “deploymentType”
Base Configuration
Setup ACL
Browse to “Add Custom Host” & retrieve
API url
Nodes
Enter API url in “nodesApi”
Select “Nodes” for “deploymentType”
Choose “2” as “nodesCount”
https://github.com/Azure/azure-quickstart-templates/tree/master/docker-rancher
Demo : Service Upgrade
Demo : Service Upgrade
Version
1
Version
2
https://bitbucket.org/kvaes/azure-bootcamp-2016/src => rancher-example_upgrade-blog-test
Demo : Cross-Region/Host Networking
Demo : Cross-Region Networking
[Sidenote : the Azure quickstart deployment was a single region]
Demo : Service Scaling with a Shared Storage Account
Demo : Service Scaling
Demo : Service Scaling
Producer
AcsLoggingTestSimulate
Consumer
AcsLoggingTestAnalyze
Queue
Table
Storage Account
https://bitbucket.org/kvaes/azure-bootcamp-2016/src => rancher-example_acs-logging-test
Demo : Service Scaling
https://bitbucket.org/kvaes/azure-bootcamp-2016/src => rancher-example_acs-logging-test
Demo : Azure AutoScaling
Demo : Azure Autoscaling
[Sidenote: No Azure Quickstart templates available yet for Rancher & VMSS...]
Demo : Docker Volume Plugin for Azure File Storage
Volumes? #wtf
#
# OfxParser Dockerfile
#
# Source : https://bitbucket.org/kvaes/docker-ofxparser/
# Author : Karim Vaes
# Use Ubuntu 10.04 as a base
FROM ubuntu:10.04
# First let's do some updates!
RUN apt-get update && apt-get -y upgrade
# Install PHP5-cli, cron
RUN apt-get -y install php5-cli cron
# Let's prep the OfxParser install
RUN mkdir -p /ofx/bin && mkdir -p /ofx/in && mkdir -p
/ofx/out
# Pull the latest ofxparser source
ENV HOME /root
COPY config.php /ofx/bin/
COPY csv2oxf.php /ofx/bin/
COPY ofxcron /ofx/bin/
COPY parser.php /ofx/bin/
COPY startcron.sh /ofx/bin/
# Chmod 755 to scripts
RUN chmod 755 /ofx/bin/*.sh
# Setup Cron Job
RUN cat /ofx/bin/ofxcron >> /etc/crontab
# Setup Cron Log
RUN touch /var/log/ofx.log
# Setup Volumes
VOLUME ["/ofx/in"]
VOLUME ["/ofx/out"]
# Define default command.
CMD ["/ofx/bin/startcron.sh"]
Docker Volumes & Persistence
More info? https://kvaes.wordpress.com/2016/02/11/docker-storage-patterns-for-persistence/
Demo : Docker Volume Plugin for Azure File
Storage
Source : https://github.com/Azure/azurefile-dockervolumedriver
Demo : Docker Volume Plugin for Azure File
Storage
wget https://bitbucket.org/kvaes/azure-scriptbin/raw/888d4ff75d84839c8643fe0d9c49d95cd41c9a39/azurefile-dockervolumedriver/azurefile.sh
./azurefilebuild.sh my-storage-account-name my-storage-account-key
sudo docker volume create --name azure_volume-d azurefile-oshare=docker
azure_volume
docker run -i -t -v azure_volume:/data busybox
cd /data/
touch karim vaes docker with azure file storage test
ls -la
exit
docker run -i -t -v azure_volume:/data ubuntu
cd /data/
ls -la
mkdir testdirectory
echo "my little cloud storage share" > whoot.txt
exit
docker run -i -t -v azure_volume:/data busybox
cat /data/whoot.txt
exit
Source : https://kvaes.wordpress.com/2016/03/23/docker-azure-testdriving-the-azure-file-storage-volume-driver/
[Sidenote: Rancher currently does not support “options” for volume drivers]
[pending feature request]
One last thing…
Images courtesy of PokkO / Shutterstock.com, Lewis Hine - http://www.archives.gov/research_room/research_topics/american_cities/images/american_cities_069.jpg
The right approach to containers matters!
“Any questions I can help you with?”
Thank you for your time!
Xylos Cloud ServicesXylos Cloud Services

Contenu connexe

Tendances

JClouds at San Francisco Java User Group
JClouds at San Francisco Java User GroupJClouds at San Francisco Java User Group
JClouds at San Francisco Java User Group
Marakana Inc.
 

Tendances (20)

AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
 
Microsoft Azure Container Service - DockerCH
Microsoft Azure Container Service - DockerCHMicrosoft Azure Container Service - DockerCH
Microsoft Azure Container Service - DockerCH
 
Securing an Azure full-PaaS architecture - Data saturday #0001 Pordenone
Securing an Azure full-PaaS architecture - Data saturday #0001 PordenoneSecuring an Azure full-PaaS architecture - Data saturday #0001 Pordenone
Securing an Azure full-PaaS architecture - Data saturday #0001 Pordenone
 
(DVO306) AWS CodeDeploy: Automating Your Software Deployments
(DVO306) AWS CodeDeploy: Automating Your Software Deployments(DVO306) AWS CodeDeploy: Automating Your Software Deployments
(DVO306) AWS CodeDeploy: Automating Your Software Deployments
 
Quick and Solid - Baremetal on OpenStack | Rico Lin
Quick and Solid - Baremetal on OpenStack | Rico LinQuick and Solid - Baremetal on OpenStack | Rico Lin
Quick and Solid - Baremetal on OpenStack | Rico Lin
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
 
(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014
(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014
(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014
 
Alex Magnay - Azure Infrastructure as Code with Hashicorp Terraform
Alex Magnay - Azure Infrastructure as Code with Hashicorp TerraformAlex Magnay - Azure Infrastructure as Code with Hashicorp Terraform
Alex Magnay - Azure Infrastructure as Code with Hashicorp Terraform
 
無伺服器架構和Containers on AWS入門
無伺服器架構和Containers on AWS入門 無伺服器架構和Containers on AWS入門
無伺服器架構和Containers on AWS入門
 
DevOps Toolbox: Infrastructure as code
DevOps Toolbox: Infrastructure as codeDevOps Toolbox: Infrastructure as code
DevOps Toolbox: Infrastructure as code
 
Using amazon web services with cold fusion 11
Using amazon web services with cold fusion 11Using amazon web services with cold fusion 11
Using amazon web services with cold fusion 11
 
Microservices: 5 Things I Wish I'd Known - Code Motion Milan 2017
Microservices: 5 Things I Wish I'd Known - Code Motion Milan 2017Microservices: 5 Things I Wish I'd Known - Code Motion Milan 2017
Microservices: 5 Things I Wish I'd Known - Code Motion Milan 2017
 
Carlos Conde : AWS Game Days - TIAD Paris
Carlos Conde : AWS Game Days - TIAD ParisCarlos Conde : AWS Game Days - TIAD Paris
Carlos Conde : AWS Game Days - TIAD Paris
 
[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...
[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...
[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...
 
Accelerating Innovation with DevOps on AWS
Accelerating Innovation with DevOps on AWSAccelerating Innovation with DevOps on AWS
Accelerating Innovation with DevOps on AWS
 
Caching in Windows Azure
Caching in Windows AzureCaching in Windows Azure
Caching in Windows Azure
 
Azure Kubernetes Service - benefits and challenges
Azure Kubernetes Service - benefits and challengesAzure Kubernetes Service - benefits and challenges
Azure Kubernetes Service - benefits and challenges
 
Azure virtual machine-network
Azure virtual machine-networkAzure virtual machine-network
Azure virtual machine-network
 
Introduction into Cloud Foundry and Bosh | anynines
Introduction into Cloud Foundry and Bosh | anyninesIntroduction into Cloud Foundry and Bosh | anynines
Introduction into Cloud Foundry and Bosh | anynines
 
JClouds at San Francisco Java User Group
JClouds at San Francisco Java User GroupJClouds at San Francisco Java User Group
JClouds at San Francisco Java User Group
 

Similaire à Azure Bootcamp 2016 - Docker Orchestration on Azure with Rancher

Developing and Deploying PHP with Docker
Developing and Deploying PHP with DockerDeveloping and Deploying PHP with Docker
Developing and Deploying PHP with Docker
Patrick Mizer
 
Docker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualizationDocker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualization
Suresh Balla
 

Similaire à Azure Bootcamp 2016 - Docker Orchestration on Azure with Rancher (20)

The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, OrchestrationThe Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
 
Developing and Deploying PHP with Docker
Developing and Deploying PHP with DockerDeveloping and Deploying PHP with Docker
Developing and Deploying PHP with Docker
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
 
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsArchitecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based Deployments
 
Docker Container As A Service - Mix-IT 2016
Docker Container As A Service - Mix-IT 2016Docker Container As A Service - Mix-IT 2016
Docker Container As A Service - Mix-IT 2016
 
Deploying applications to Windows Server 2016 and Windows Containers
Deploying applications to Windows Server 2016 and Windows ContainersDeploying applications to Windows Server 2016 and Windows Containers
Deploying applications to Windows Server 2016 and Windows Containers
 
Docker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualizationDocker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualization
 
Docker fundamentals
Docker fundamentalsDocker fundamentals
Docker fundamentals
 
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development
 
Production sec ops with kubernetes in docker
Production sec ops with kubernetes in dockerProduction sec ops with kubernetes in docker
Production sec ops with kubernetes in docker
 
[Codelab 2017] Docker 기초 및 활용 방안
[Codelab 2017] Docker 기초 및 활용 방안[Codelab 2017] Docker 기초 및 활용 방안
[Codelab 2017] Docker 기초 및 활용 방안
 
時代在變 Docker 要會:台北 Docker 一日入門篇
時代在變 Docker 要會:台北 Docker 一日入門篇時代在變 Docker 要會:台北 Docker 一日入門篇
時代在變 Docker 要會:台北 Docker 一日入門篇
 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
 
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on AzureDocker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
 
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
 
Docker 進階實務班
Docker 進階實務班Docker 進階實務班
Docker 進階實務班
 
廣宣學堂: 容器進階實務 - Docker進深研究班
廣宣學堂: 容器進階實務 - Docker進深研究班廣宣學堂: 容器進階實務 - Docker進深研究班
廣宣學堂: 容器進階實務 - Docker進深研究班
 
手把手帶你學 Docker 入門篇
手把手帶你學 Docker 入門篇手把手帶你學 Docker 入門篇
手把手帶你學 Docker 入門篇
 
Docker workshop 0507 Taichung
Docker workshop 0507 Taichung Docker workshop 0507 Taichung
Docker workshop 0507 Taichung
 

Plus de Karim Vaes

Plus de Karim Vaes (8)

A Deepdive into Azure Networking
A Deepdive into Azure NetworkingA Deepdive into Azure Networking
A Deepdive into Azure Networking
 
Resiliency Patterns on Azure
Resiliency Patterns on AzureResiliency Patterns on Azure
Resiliency Patterns on Azure
 
ExpertsLive NL 2018 - A deepdive into Azure Networking
ExpertsLive NL 2018 - A deepdive into Azure NetworkingExpertsLive NL 2018 - A deepdive into Azure Networking
ExpertsLive NL 2018 - A deepdive into Azure Networking
 
Global Azure Bootcamp 2018 - Oh no my organization went Azure
Global Azure Bootcamp 2018 - Oh no my organization went AzureGlobal Azure Bootcamp 2018 - Oh no my organization went Azure
Global Azure Bootcamp 2018 - Oh no my organization went Azure
 
Global Azure Bootcamp 2017 - How to build a twitter bot in 15 minutes
Global Azure Bootcamp 2017 - How to build a twitter bot in 15 minutesGlobal Azure Bootcamp 2017 - How to build a twitter bot in 15 minutes
Global Azure Bootcamp 2017 - How to build a twitter bot in 15 minutes
 
Xylos Clients Day - Public cloud and security go hand in hand, if you approac...
Xylos Clients Day - Public cloud and security go hand in hand, if you approac...Xylos Clients Day - Public cloud and security go hand in hand, if you approac...
Xylos Clients Day - Public cloud and security go hand in hand, if you approac...
 
The IT Crowd stance on writing advice documents
The IT Crowd stance on writing advice documentsThe IT Crowd stance on writing advice documents
The IT Crowd stance on writing advice documents
 
Four Simple Rules for an Effective Meeting Rules (kvaes.be)
Four Simple Rules for an Effective Meeting Rules (kvaes.be)Four Simple Rules for an Effective Meeting Rules (kvaes.be)
Four Simple Rules for an Effective Meeting Rules (kvaes.be)
 

Dernier

audience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkkaudience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
lolsDocherty
 
Production 2024 sunderland culture final - Copy.pptx
Production 2024 sunderland culture final - Copy.pptxProduction 2024 sunderland culture final - Copy.pptx
Production 2024 sunderland culture final - Copy.pptx
ChloeMeadows1
 

Dernier (17)

Reggie miller choke t shirtsReggie miller choke t shirts
Reggie miller choke t shirtsReggie miller choke t shirtsReggie miller choke t shirtsReggie miller choke t shirts
Reggie miller choke t shirtsReggie miller choke t shirts
 
Bug Bounty Blueprint : A Beginner's Guide
Bug Bounty Blueprint : A Beginner's GuideBug Bounty Blueprint : A Beginner's Guide
Bug Bounty Blueprint : A Beginner's Guide
 
Premier Mobile App Development Agency in USA.pdf
Premier Mobile App Development Agency in USA.pdfPremier Mobile App Development Agency in USA.pdf
Premier Mobile App Development Agency in USA.pdf
 
Statistical Analysis of DNS Latencies.pdf
Statistical Analysis of DNS Latencies.pdfStatistical Analysis of DNS Latencies.pdf
Statistical Analysis of DNS Latencies.pdf
 
TORTOGEL TELAH MENJADI SALAH SATU PLATFORM PERMAINAN PALING FAVORIT.
TORTOGEL TELAH MENJADI SALAH SATU PLATFORM PERMAINAN PALING FAVORIT.TORTOGEL TELAH MENJADI SALAH SATU PLATFORM PERMAINAN PALING FAVORIT.
TORTOGEL TELAH MENJADI SALAH SATU PLATFORM PERMAINAN PALING FAVORIT.
 
Thank You Luv I’ll Never Walk Alone Again T shirts
Thank You Luv I’ll Never Walk Alone Again T shirtsThank You Luv I’ll Never Walk Alone Again T shirts
Thank You Luv I’ll Never Walk Alone Again T shirts
 
Free scottie t shirts Free scottie t shirts
Free scottie t shirts Free scottie t shirtsFree scottie t shirts Free scottie t shirts
Free scottie t shirts Free scottie t shirts
 
The Rise of Subscription-Based Digital Services.pdf
The Rise of Subscription-Based Digital Services.pdfThe Rise of Subscription-Based Digital Services.pdf
The Rise of Subscription-Based Digital Services.pdf
 
AI Generated 3D Models | AI 3D Model Generator
AI Generated 3D Models | AI 3D Model GeneratorAI Generated 3D Models | AI 3D Model Generator
AI Generated 3D Models | AI 3D Model Generator
 
Development Lifecycle.pptx for the secure development of apps
Development Lifecycle.pptx for the secure development of appsDevelopment Lifecycle.pptx for the secure development of apps
Development Lifecycle.pptx for the secure development of apps
 
Registry Data Accuracy Improvements, presented by Chimi Dorji at SANOG 41 / I...
Registry Data Accuracy Improvements, presented by Chimi Dorji at SANOG 41 / I...Registry Data Accuracy Improvements, presented by Chimi Dorji at SANOG 41 / I...
Registry Data Accuracy Improvements, presented by Chimi Dorji at SANOG 41 / I...
 
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkkaudience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
 
GOOGLE Io 2024 At takes center stage.pdf
GOOGLE Io 2024 At takes center stage.pdfGOOGLE Io 2024 At takes center stage.pdf
GOOGLE Io 2024 At takes center stage.pdf
 
Cyber Security Services Unveiled: Strategies to Secure Your Digital Presence
Cyber Security Services Unveiled: Strategies to Secure Your Digital PresenceCyber Security Services Unveiled: Strategies to Secure Your Digital Presence
Cyber Security Services Unveiled: Strategies to Secure Your Digital Presence
 
Production 2024 sunderland culture final - Copy.pptx
Production 2024 sunderland culture final - Copy.pptxProduction 2024 sunderland culture final - Copy.pptx
Production 2024 sunderland culture final - Copy.pptx
 
I’ll See Y’All Motherfuckers In Game 7 Shirt
I’ll See Y’All Motherfuckers In Game 7 ShirtI’ll See Y’All Motherfuckers In Game 7 Shirt
I’ll See Y’All Motherfuckers In Game 7 Shirt
 
iThome_CYBERSEC2024_Drive_Into_the_DarkWeb
iThome_CYBERSEC2024_Drive_Into_the_DarkWebiThome_CYBERSEC2024_Drive_Into_the_DarkWeb
iThome_CYBERSEC2024_Drive_Into_the_DarkWeb
 

Azure Bootcamp 2016 - Docker Orchestration on Azure with Rancher

  • 1. Docker Orchestration on Azure with Rancher
  • 2. Who am I? Cloud Solution Architect @ Xylos ICT Started in IT about 15 years ago Heterogeneous Background Focused on Business Outcome about.kvaes.be @kvaes blog.kvaes.be Karim Vaes
  • 3. Agenda Let’s get sure everyone understands the basics… “Docker 101” Show me the cake! “Hands-on!” Cooking up things is cool… Though let’s talk about the recipe first! “The Recipe” Sounds interesting… Show me!Say what?!?
  • 5. Traditional Current Emerging Virtual Public Private Container Physical Baremetal Virtual Machine Private N-tier Applications MicroservicesMonolithic Applications Agile DevopsWaterfall
  • 6. Build Ship Run Dev QA Source Staging Physical Virtual Cloud Infrastructure Management Infrastructure Management DockerFile Source Code Repository TESTTEST TESTTEST TEST GCE RAX IBM Mac/Win Dev Machine Boot2Docker Docker Analytics DB Prod Machine Linux OS DockerDocker ++ Users Collab Provenance Policy Docker Hub Registries Public Curated Private Docker Hub API Third Party Tools Prod Machine Linux OS DockerDocker Prod Machine Linux OS DockerDocker VM DockerDocker VM DockerDocker VM DockerDocker QA Machine Linux OS DockerDocker Build once, ship & run everywhere!
  • 8. Sample Dockerfile # Pull the latest batch script ENV HOME /root COPY testblog.sh /data/bin/ COPY testblogcron /data/bin/ COPY startcron.sh /data/bin/ # Setup 755 on the scripts RUN chmod 755 /data/bin/*.sh # Setup Cron Job RUN cat /data/bin/testblogcron >> /etc/crontab # Setup Cron Log RUN touch /var/log/testblog.log # Define default command. CMD ["/data/bin/startcron.sh"] # # BlogTest Dockerfile # # Source : https://bitbucket.org/kvaes/docker-testblog/ # Author : Karim Vaes # Use Ubuntu 10.04 as a base FROM ubuntu:10.04 # First let's do some updates! RUN apt-get update && apt-get -y upgrade # Install cron RUN apt-get -y install cron # Let's prep the directory RUN mkdir -p /data/bin
  • 10. What about changes & updates?
  • 11. What makes containers lightweight?
  • 13. The Recipe for today’s dish!
  • 17. Ingredient : Community Contributions
  • 18. Today’s Dish as a Stack
  • 20. Demo : Deploy our base setup
  • 21. Demo : Deploy our base setup Server Leave “nodesApi” blank Select “Server” for “deploymentType” Base Configuration Setup ACL Browse to “Add Custom Host” & retrieve API url Nodes Enter API url in “nodesApi” Select “Nodes” for “deploymentType” Choose “2” as “nodesCount” https://github.com/Azure/azure-quickstart-templates/tree/master/docker-rancher
  • 22. Demo : Service Upgrade
  • 23. Demo : Service Upgrade Version 1 Version 2 https://bitbucket.org/kvaes/azure-bootcamp-2016/src => rancher-example_upgrade-blog-test
  • 25. Demo : Cross-Region Networking [Sidenote : the Azure quickstart deployment was a single region]
  • 26. Demo : Service Scaling with a Shared Storage Account
  • 27. Demo : Service Scaling
  • 28. Demo : Service Scaling Producer AcsLoggingTestSimulate Consumer AcsLoggingTestAnalyze Queue Table Storage Account https://bitbucket.org/kvaes/azure-bootcamp-2016/src => rancher-example_acs-logging-test
  • 29. Demo : Service Scaling https://bitbucket.org/kvaes/azure-bootcamp-2016/src => rancher-example_acs-logging-test
  • 30. Demo : Azure AutoScaling
  • 31. Demo : Azure Autoscaling [Sidenote: No Azure Quickstart templates available yet for Rancher & VMSS...]
  • 32. Demo : Docker Volume Plugin for Azure File Storage
  • 33. Volumes? #wtf # # OfxParser Dockerfile # # Source : https://bitbucket.org/kvaes/docker-ofxparser/ # Author : Karim Vaes # Use Ubuntu 10.04 as a base FROM ubuntu:10.04 # First let's do some updates! RUN apt-get update && apt-get -y upgrade # Install PHP5-cli, cron RUN apt-get -y install php5-cli cron # Let's prep the OfxParser install RUN mkdir -p /ofx/bin && mkdir -p /ofx/in && mkdir -p /ofx/out # Pull the latest ofxparser source ENV HOME /root COPY config.php /ofx/bin/ COPY csv2oxf.php /ofx/bin/ COPY ofxcron /ofx/bin/ COPY parser.php /ofx/bin/ COPY startcron.sh /ofx/bin/ # Chmod 755 to scripts RUN chmod 755 /ofx/bin/*.sh # Setup Cron Job RUN cat /ofx/bin/ofxcron >> /etc/crontab # Setup Cron Log RUN touch /var/log/ofx.log # Setup Volumes VOLUME ["/ofx/in"] VOLUME ["/ofx/out"] # Define default command. CMD ["/ofx/bin/startcron.sh"]
  • 34. Docker Volumes & Persistence More info? https://kvaes.wordpress.com/2016/02/11/docker-storage-patterns-for-persistence/
  • 35. Demo : Docker Volume Plugin for Azure File Storage Source : https://github.com/Azure/azurefile-dockervolumedriver
  • 36. Demo : Docker Volume Plugin for Azure File Storage wget https://bitbucket.org/kvaes/azure-scriptbin/raw/888d4ff75d84839c8643fe0d9c49d95cd41c9a39/azurefile-dockervolumedriver/azurefile.sh ./azurefilebuild.sh my-storage-account-name my-storage-account-key sudo docker volume create --name azure_volume-d azurefile-oshare=docker azure_volume docker run -i -t -v azure_volume:/data busybox cd /data/ touch karim vaes docker with azure file storage test ls -la exit docker run -i -t -v azure_volume:/data ubuntu cd /data/ ls -la mkdir testdirectory echo "my little cloud storage share" > whoot.txt exit docker run -i -t -v azure_volume:/data busybox cat /data/whoot.txt exit Source : https://kvaes.wordpress.com/2016/03/23/docker-azure-testdriving-the-azure-file-storage-volume-driver/ [Sidenote: Rancher currently does not support “options” for volume drivers] [pending feature request]
  • 38. Images courtesy of PokkO / Shutterstock.com, Lewis Hine - http://www.archives.gov/research_room/research_topics/american_cities/images/american_cities_069.jpg The right approach to containers matters!
  • 39. “Any questions I can help you with?”
  • 40. Thank you for your time!
  • 41. Xylos Cloud ServicesXylos Cloud Services