SlideShare a Scribd company logo
1 of 11
Download to read offline
Containers Patterns for Rails
Jairo Diaz @codescrum
London Ruby User Group
Sep 2015
Overview
● Pets vs Cattle
● Containers vs Virtual Machines
● Running Rails on Containers
○ Docker compose
○ Kubernetes
Pets vs Cattle
● Pets are given names
● They are unique, lovingly hand
raised
● When they get ill, you nurse
them back to health
● Cattle are given numbers
● They are almost identical to
other cattle
● When they get ill, you get
another one
Containers vs Virtual Machines
Docker: A happy family!
Docker
Go Language
Linux
Docker Engine
Docker Machine
Docker Compose
Docker Hub
Mac OS Setup for Docker
rais-image
Local environment
Docker Machine (with daemon)
db-image
rais-app-1
rais-app-2
db
ruby-image
ruby-image
db-image
other-image
Docker Hub
(On the Internet)
Dockerfile
Rails with Docker Compose
Rails with Docker Compose
File: docker-compose.yml (½)
Rails with Docker Compose
File: docker-compose.yml(2/2)
Rails with Kubernetes
rais-image
Local environment
Kubernetes Minion
db-image
rais-app-1 rais-app-2
db
ruby-image Kubernetes
Master
APIs
Replication
Controller
Scheduler
etcd
Kubelet
Proxy
Replication Controller
Web Service
Db Service
Replication Controller
CLI
More information:
Code examples at:
http://github.com/codescrum/
Blog post on docker compose:
http://blog.codescrum.com/
Get in touch with Jairo Diaz @codescrum

More Related Content

What's hot

Slack の過去ログ倉庫を建てよう (2017 合宿 LT)
Slack の過去ログ倉庫を建てよう (2017 合宿 LT)Slack の過去ログ倉庫を建てよう (2017 合宿 LT)
Slack の過去ログ倉庫を建てよう (2017 合宿 LT)Yutaka Kato
 
Java Garbage Collector and The Memory Model
Java Garbage Collector and The Memory ModelJava Garbage Collector and The Memory Model
Java Garbage Collector and The Memory ModelErnesto Arroyo Ron
 
Tectonic Summit 2016: The Origins of Kubernetes
Tectonic Summit 2016: The Origins of KubernetesTectonic Summit 2016: The Origins of Kubernetes
Tectonic Summit 2016: The Origins of KubernetesCoreOS
 
reInvent 2021 Recap and k9s review
reInvent 2021 Recap and k9s reviewreInvent 2021 Recap and k9s review
reInvent 2021 Recap and k9s reviewFaheem Memon
 
SSTable Reader Cassandra Day Denver 2014
SSTable Reader Cassandra Day Denver 2014SSTable Reader Cassandra Day Denver 2014
SSTable Reader Cassandra Day Denver 2014Ben Vanberg
 
Debugging and Profiling Rails Application
Debugging and Profiling Rails ApplicationDebugging and Profiling Rails Application
Debugging and Profiling Rails ApplicationDavid Paluy
 
Running Django on Docker: a workflow and code
Running Django on Docker: a workflow and codeRunning Django on Docker: a workflow and code
Running Django on Docker: a workflow and codeDanielle Madeley
 
Heroku Dockerの使い所
Heroku Dockerの使い所Heroku Dockerの使い所
Heroku Dockerの使い所Yusuke Kon
 
EC2 Storage for Docker 150526b
EC2 Storage for Docker   150526bEC2 Storage for Docker   150526b
EC2 Storage for Docker 150526bClinton Kitson
 
Docker in development
Docker in developmentDocker in development
Docker in developmentsethvoltz
 
Clair, A Container Image Security Analyzer
Clair, A Container Image Security AnalyzerClair, A Container Image Security Analyzer
Clair, A Container Image Security AnalyzerCoreOS
 
Into to Docker (Central PA Java User Group - 8/14/2017)
Into to Docker (Central PA Java User Group - 8/14/2017)Into to Docker (Central PA Java User Group - 8/14/2017)
Into to Docker (Central PA Java User Group - 8/14/2017)Mike Melusky
 
Garbage collection in .net (basic level)
Garbage collection in .net (basic level)Garbage collection in .net (basic level)
Garbage collection in .net (basic level)Larry Nung
 
Docker at Djangocon 2013 | Talk by Ken Cochrane
Docker at Djangocon 2013 | Talk by Ken CochraneDocker at Djangocon 2013 | Talk by Ken Cochrane
Docker at Djangocon 2013 | Talk by Ken CochranedotCloud
 
Networking in docker
Networking in dockerNetworking in docker
Networking in dockerJakir Patel
 
Continuous integration with Docker and Ansible
Continuous integration with Docker and AnsibleContinuous integration with Docker and Ansible
Continuous integration with Docker and AnsibleDmytro Slupytskyi
 
Using ansible to core os & kubernetes clusters
Using ansible to core os & kubernetes clustersUsing ansible to core os & kubernetes clusters
Using ansible to core os & kubernetes clustersmagicmarkup
 

What's hot (20)

Slack の過去ログ倉庫を建てよう (2017 合宿 LT)
Slack の過去ログ倉庫を建てよう (2017 合宿 LT)Slack の過去ログ倉庫を建てよう (2017 合宿 LT)
Slack の過去ログ倉庫を建てよう (2017 合宿 LT)
 
Rails in docker
Rails in dockerRails in docker
Rails in docker
 
Java Garbage Collector and The Memory Model
Java Garbage Collector and The Memory ModelJava Garbage Collector and The Memory Model
Java Garbage Collector and The Memory Model
 
Tectonic Summit 2016: The Origins of Kubernetes
Tectonic Summit 2016: The Origins of KubernetesTectonic Summit 2016: The Origins of Kubernetes
Tectonic Summit 2016: The Origins of Kubernetes
 
Django via Docker
Django via DockerDjango via Docker
Django via Docker
 
Git presentation
Git presentationGit presentation
Git presentation
 
reInvent 2021 Recap and k9s review
reInvent 2021 Recap and k9s reviewreInvent 2021 Recap and k9s review
reInvent 2021 Recap and k9s review
 
SSTable Reader Cassandra Day Denver 2014
SSTable Reader Cassandra Day Denver 2014SSTable Reader Cassandra Day Denver 2014
SSTable Reader Cassandra Day Denver 2014
 
Debugging and Profiling Rails Application
Debugging and Profiling Rails ApplicationDebugging and Profiling Rails Application
Debugging and Profiling Rails Application
 
Running Django on Docker: a workflow and code
Running Django on Docker: a workflow and codeRunning Django on Docker: a workflow and code
Running Django on Docker: a workflow and code
 
Heroku Dockerの使い所
Heroku Dockerの使い所Heroku Dockerの使い所
Heroku Dockerの使い所
 
EC2 Storage for Docker 150526b
EC2 Storage for Docker   150526bEC2 Storage for Docker   150526b
EC2 Storage for Docker 150526b
 
Docker in development
Docker in developmentDocker in development
Docker in development
 
Clair, A Container Image Security Analyzer
Clair, A Container Image Security AnalyzerClair, A Container Image Security Analyzer
Clair, A Container Image Security Analyzer
 
Into to Docker (Central PA Java User Group - 8/14/2017)
Into to Docker (Central PA Java User Group - 8/14/2017)Into to Docker (Central PA Java User Group - 8/14/2017)
Into to Docker (Central PA Java User Group - 8/14/2017)
 
Garbage collection in .net (basic level)
Garbage collection in .net (basic level)Garbage collection in .net (basic level)
Garbage collection in .net (basic level)
 
Docker at Djangocon 2013 | Talk by Ken Cochrane
Docker at Djangocon 2013 | Talk by Ken CochraneDocker at Djangocon 2013 | Talk by Ken Cochrane
Docker at Djangocon 2013 | Talk by Ken Cochrane
 
Networking in docker
Networking in dockerNetworking in docker
Networking in docker
 
Continuous integration with Docker and Ansible
Continuous integration with Docker and AnsibleContinuous integration with Docker and Ansible
Continuous integration with Docker and Ansible
 
Using ansible to core os & kubernetes clusters
Using ansible to core os & kubernetes clustersUsing ansible to core os & kubernetes clusters
Using ansible to core os & kubernetes clusters
 

Viewers also liked

Container Monitoring with SysDig
Container Monitoring with SysDigContainer Monitoring with SysDig
Container Monitoring with SysDigJairo Diaz
 
Indice libro Web Usability Hoepli
Indice libro Web Usability HoepliIndice libro Web Usability Hoepli
Indice libro Web Usability HoepliJacopo Pasquini
 
Rcbks bulletin vol 19 no 4
Rcbks bulletin vol 19 no 4Rcbks bulletin vol 19 no 4
Rcbks bulletin vol 19 no 4jamescheong
 
Rcbks bulletin vol 19 no 6
Rcbks bulletin vol 19 no 6Rcbks bulletin vol 19 no 6
Rcbks bulletin vol 19 no 6jamescheong
 
Rcbks bulletin vol 19 no 3
Rcbks bulletin vol 19 no 3Rcbks bulletin vol 19 no 3
Rcbks bulletin vol 19 no 3jamescheong
 
Rcbks bulletin vol 18 no 40
Rcbks bulletin vol 18 no 40Rcbks bulletin vol 18 no 40
Rcbks bulletin vol 18 no 40jamescheong
 
Rcbks bulletin vol 18 no 38
Rcbks bulletin vol 18 no 38Rcbks bulletin vol 18 no 38
Rcbks bulletin vol 18 no 38jamescheong
 
Australia property outlook
Australia property outlookAustralia property outlook
Australia property outlookjamescheong
 
Rcbks bulletin vol 19 no 1
Rcbks bulletin vol 19 no 1Rcbks bulletin vol 19 no 1
Rcbks bulletin vol 19 no 1jamescheong
 
Social Media Agritourism. La comunicazione digitale nel territorio senese.
Social Media Agritourism. La comunicazione digitale nel territorio senese.Social Media Agritourism. La comunicazione digitale nel territorio senese.
Social Media Agritourism. La comunicazione digitale nel territorio senese.Jacopo Pasquini
 
Marketer and Publisher Perceptions Native Advertising on Mobile - 2015
Marketer and Publisher Perceptions Native Advertising on Mobile - 2015Marketer and Publisher Perceptions Native Advertising on Mobile - 2015
Marketer and Publisher Perceptions Native Advertising on Mobile - 2015InMobi
 
Facebook timeline for pages product guide
Facebook timeline for pages product guideFacebook timeline for pages product guide
Facebook timeline for pages product guideJacopo Pasquini
 
InMobi Insights - Consumer Electronics: Smart Devices
InMobi Insights - Consumer Electronics: Smart DevicesInMobi Insights - Consumer Electronics: Smart Devices
InMobi Insights - Consumer Electronics: Smart DevicesInMobi
 
Rcbks bulletin vol 19 no 5
Rcbks bulletin vol 19 no 5Rcbks bulletin vol 19 no 5
Rcbks bulletin vol 19 no 5jamescheong
 
Rcbks bulletin vol 18 no 39
Rcbks bulletin vol 18 no 39Rcbks bulletin vol 18 no 39
Rcbks bulletin vol 18 no 39jamescheong
 

Viewers also liked (20)

Container Monitoring with SysDig
Container Monitoring with SysDigContainer Monitoring with SysDig
Container Monitoring with SysDig
 
Indice libro Web Usability Hoepli
Indice libro Web Usability HoepliIndice libro Web Usability Hoepli
Indice libro Web Usability Hoepli
 
Social media trends
Social media trendsSocial media trends
Social media trends
 
Socialmark Theory
Socialmark TheorySocialmark Theory
Socialmark Theory
 
Rcbks bulletin vol 19 no 4
Rcbks bulletin vol 19 no 4Rcbks bulletin vol 19 no 4
Rcbks bulletin vol 19 no 4
 
Rcbks bulletin vol 19 no 6
Rcbks bulletin vol 19 no 6Rcbks bulletin vol 19 no 6
Rcbks bulletin vol 19 no 6
 
Rcbks bulletin vol 19 no 3
Rcbks bulletin vol 19 no 3Rcbks bulletin vol 19 no 3
Rcbks bulletin vol 19 no 3
 
Rcbks bulletin vol 18 no 40
Rcbks bulletin vol 18 no 40Rcbks bulletin vol 18 no 40
Rcbks bulletin vol 18 no 40
 
Rcbks bulletin vol 18 no 38
Rcbks bulletin vol 18 no 38Rcbks bulletin vol 18 no 38
Rcbks bulletin vol 18 no 38
 
Australia property outlook
Australia property outlookAustralia property outlook
Australia property outlook
 
Rcbks bulletin vol 19 no 1
Rcbks bulletin vol 19 no 1Rcbks bulletin vol 19 no 1
Rcbks bulletin vol 19 no 1
 
Social Media Agritourism. La comunicazione digitale nel territorio senese.
Social Media Agritourism. La comunicazione digitale nel territorio senese.Social Media Agritourism. La comunicazione digitale nel territorio senese.
Social Media Agritourism. La comunicazione digitale nel territorio senese.
 
Marketer and Publisher Perceptions Native Advertising on Mobile - 2015
Marketer and Publisher Perceptions Native Advertising on Mobile - 2015Marketer and Publisher Perceptions Native Advertising on Mobile - 2015
Marketer and Publisher Perceptions Native Advertising on Mobile - 2015
 
Facebook timeline for pages product guide
Facebook timeline for pages product guideFacebook timeline for pages product guide
Facebook timeline for pages product guide
 
InMobi Insights - Consumer Electronics: Smart Devices
InMobi Insights - Consumer Electronics: Smart DevicesInMobi Insights - Consumer Electronics: Smart Devices
InMobi Insights - Consumer Electronics: Smart Devices
 
Brand Identity 2.0
Brand Identity 2.0Brand Identity 2.0
Brand Identity 2.0
 
Newton2ndnotes
Newton2ndnotesNewton2ndnotes
Newton2ndnotes
 
Motionnotes
MotionnotesMotionnotes
Motionnotes
 
Rcbks bulletin vol 19 no 5
Rcbks bulletin vol 19 no 5Rcbks bulletin vol 19 no 5
Rcbks bulletin vol 19 no 5
 
Rcbks bulletin vol 18 no 39
Rcbks bulletin vol 18 no 39Rcbks bulletin vol 18 no 39
Rcbks bulletin vol 18 no 39
 

Similar to Containers Patterns Rails Docker Kubernetes

Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with DockerAndrey Hristov
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with DockerAndrey Hristov
 
Messaging with the Docker
Messaging with the DockerMessaging with the Docker
Messaging with the DockerHenryk Konsek
 
Infinite Scalable Systems with Docker
Infinite Scalable Systems with DockerInfinite Scalable Systems with Docker
Infinite Scalable Systems with DockerHüseyin BABAL
 
Michigan IT Symposium 2017 - Container BOF
Michigan IT Symposium 2017 - Container BOFMichigan IT Symposium 2017 - Container BOF
Michigan IT Symposium 2017 - Container BOFJeffrey Sica
 
14309525_docker_docker_docker_docker_introduction.ppt
14309525_docker_docker_docker_docker_introduction.ppt14309525_docker_docker_docker_docker_introduction.ppt
14309525_docker_docker_docker_docker_introduction.pptaravym456
 
Docker Oxford launch - Introduction to Docker
Docker Oxford launch - Introduction to DockerDocker Oxford launch - Introduction to Docker
Docker Oxford launch - Introduction to Dockerjonatanblue
 
Arquitectura de Microservicios con .NET Core y Contenedores
Arquitectura de Microservicios con .NET Core y ContenedoresArquitectura de Microservicios con .NET Core y Contenedores
Arquitectura de Microservicios con .NET Core y ContenedoresChristian Melendez
 
Docker containers & the Future of Drupal testing
Docker containers & the Future of Drupal testing Docker containers & the Future of Drupal testing
Docker containers & the Future of Drupal testing Ricardo Amaro
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker IntroductionHao Fan
 
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...Simplilearn
 
Apt get no more let Vagrant, Puppet and Docker take the stage
Apt get no more let Vagrant, Puppet and Docker take the stageApt get no more let Vagrant, Puppet and Docker take the stage
Apt get no more let Vagrant, Puppet and Docker take the stageAlessandro Cinelli (cirpo)
 
[RUHR] DRPSL- Drupal on kubernetes in production. What should you do_know_.pdf
[RUHR] DRPSL- Drupal on kubernetes in production. What should you do_know_.pdf[RUHR] DRPSL- Drupal on kubernetes in production. What should you do_know_.pdf
[RUHR] DRPSL- Drupal on kubernetes in production. What should you do_know_.pdfFrederik Wouters
 
Shipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with DockerShipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with DockerJérôme Petazzoni
 
Deploying ASP.Net Core apps in Docker Containers
Deploying ASP.Net Core apps in Docker ContainersDeploying ASP.Net Core apps in Docker Containers
Deploying ASP.Net Core apps in Docker ContainersAmal Dev
 
Docker and the Container Revolution
Docker and the Container RevolutionDocker and the Container Revolution
Docker and the Container RevolutionRomain Dorgueil
 
Rise of the Containers
Rise of the ContainersRise of the Containers
Rise of the Containerssaulius_vl
 
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik DornJDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik DornPROIDEA
 

Similar to Containers Patterns Rails Docker Kubernetes (20)

Dockerize
DockerizeDockerize
Dockerize
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with Docker
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with Docker
 
Messaging with the Docker
Messaging with the DockerMessaging with the Docker
Messaging with the Docker
 
Infinite Scalable Systems with Docker
Infinite Scalable Systems with DockerInfinite Scalable Systems with Docker
Infinite Scalable Systems with Docker
 
Michigan IT Symposium 2017 - Container BOF
Michigan IT Symposium 2017 - Container BOFMichigan IT Symposium 2017 - Container BOF
Michigan IT Symposium 2017 - Container BOF
 
Docker & Kubernetes intro
Docker & Kubernetes introDocker & Kubernetes intro
Docker & Kubernetes intro
 
14309525_docker_docker_docker_docker_introduction.ppt
14309525_docker_docker_docker_docker_introduction.ppt14309525_docker_docker_docker_docker_introduction.ppt
14309525_docker_docker_docker_docker_introduction.ppt
 
Docker Oxford launch - Introduction to Docker
Docker Oxford launch - Introduction to DockerDocker Oxford launch - Introduction to Docker
Docker Oxford launch - Introduction to Docker
 
Arquitectura de Microservicios con .NET Core y Contenedores
Arquitectura de Microservicios con .NET Core y ContenedoresArquitectura de Microservicios con .NET Core y Contenedores
Arquitectura de Microservicios con .NET Core y Contenedores
 
Docker containers & the Future of Drupal testing
Docker containers & the Future of Drupal testing Docker containers & the Future of Drupal testing
Docker containers & the Future of Drupal testing
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
 
Apt get no more let Vagrant, Puppet and Docker take the stage
Apt get no more let Vagrant, Puppet and Docker take the stageApt get no more let Vagrant, Puppet and Docker take the stage
Apt get no more let Vagrant, Puppet and Docker take the stage
 
[RUHR] DRPSL- Drupal on kubernetes in production. What should you do_know_.pdf
[RUHR] DRPSL- Drupal on kubernetes in production. What should you do_know_.pdf[RUHR] DRPSL- Drupal on kubernetes in production. What should you do_know_.pdf
[RUHR] DRPSL- Drupal on kubernetes in production. What should you do_know_.pdf
 
Shipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with DockerShipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with Docker
 
Deploying ASP.Net Core apps in Docker Containers
Deploying ASP.Net Core apps in Docker ContainersDeploying ASP.Net Core apps in Docker Containers
Deploying ASP.Net Core apps in Docker Containers
 
Docker and the Container Revolution
Docker and the Container RevolutionDocker and the Container Revolution
Docker and the Container Revolution
 
Rise of the Containers
Rise of the ContainersRise of the Containers
Rise of the Containers
 
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik DornJDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
 

Containers Patterns Rails Docker Kubernetes

  • 1. Containers Patterns for Rails Jairo Diaz @codescrum London Ruby User Group Sep 2015
  • 2. Overview ● Pets vs Cattle ● Containers vs Virtual Machines ● Running Rails on Containers ○ Docker compose ○ Kubernetes
  • 3. Pets vs Cattle ● Pets are given names ● They are unique, lovingly hand raised ● When they get ill, you nurse them back to health ● Cattle are given numbers ● They are almost identical to other cattle ● When they get ill, you get another one
  • 5. Docker: A happy family! Docker Go Language Linux Docker Engine Docker Machine Docker Compose Docker Hub
  • 6. Mac OS Setup for Docker rais-image Local environment Docker Machine (with daemon) db-image rais-app-1 rais-app-2 db ruby-image ruby-image db-image other-image Docker Hub (On the Internet) Dockerfile
  • 8. Rails with Docker Compose File: docker-compose.yml (½)
  • 9. Rails with Docker Compose File: docker-compose.yml(2/2)
  • 10. Rails with Kubernetes rais-image Local environment Kubernetes Minion db-image rais-app-1 rais-app-2 db ruby-image Kubernetes Master APIs Replication Controller Scheduler etcd Kubelet Proxy Replication Controller Web Service Db Service Replication Controller CLI
  • 11. More information: Code examples at: http://github.com/codescrum/ Blog post on docker compose: http://blog.codescrum.com/ Get in touch with Jairo Diaz @codescrum