SlideShare a Scribd company logo
1 of 29
Download to read offline
Ceph, Docker, Heroku Slugs, 
CoreOS and Deis Overview 
lorieri Nov/2014 @againstty0
Welcome 
to 
the 
future
“Ceph's main goals are to be completely 
distributed without a single point of failure, 
scalable to the exabyte level, and freely-available”
● 100% distributed 
● CephFS 
○ For POSIX sharing 
○ not really 100% (active-standby) 
● LibRados 
○ RBD 
■ For Blocks 
○ Rados Gateway 
■ For REST Objects 
■ S3 and Swift compatible
CephFS
“Build, Ship and Run 
Any App, Anywhere”
● 100% portable 
● Easy API for LXC 
● Public Repository 
● Lightweight, 1 process (ideal) 
● Layers (Union File System) 
○ Shares read-only data 
○ Incremental 
● Volumes (not layered volumes)
● We will only talk about slugs 
○ (and twelve-factor later) 
“A slug is a bundle of your source, 
fetched dependencies, the language 
runtime, and compiled/generated output 
of the build system - ready for execution.”
Slug 
Your App 
Git 
Buildpacks Repo 
$ git push 
Builder 
Runtime 
Code
“Linux for Massive Server Deployments 
CoreOS enables warehouse-scale 
computing on top of a minimal, modern 
operating system.”
● 100% distributed 
● Lightweight 
● cloud-init for every boot 
● Automatic Updates 
○ 2 boot partitions
Etcd 
Locksmithd Confd 
Fleet 
Systemd Systemd Systemd Systemd Systemd Systemd Systemd 
Node 1 Node 2 Node 3 Node 4 Node 5 Node 6 Node 7
Distributed database 
Reboot Admin Configuration Manager 
Distributed Init 
New Init New Init New Init New Init New Init New Init New Init 
Node 1 Node 2 Node 3 Node 4 Node 5 Node 6 Node 7
● Fleet 
Distributed 
Services
“Your PaaS. Your Rules. 
An open source PaaS that makes it easy to 
deploy and manage applications on your 
own servers. Deis builds upon Docker and 
CoreOS to provide a lightweight PaaS 
with a Heroku-inspired workflow.”
● CoresOS + Docker + Ceph + Heroku 
● Twelve-Factor 
○ for Deis: must be stateless (no wordpress) 
● Nginx Router + Wildcard DNS 
● First release using Ceph 
○ more features coming soon 
● Limited 
○ twelve-factor 
○ only HTTP port (non-http soon) 
○ must expose ONLY one port
● Installation: 
○ Install CoreOS and ssh keys then: 
$ export DEISCTL_TUNNEL=coreos01 
$ curl -sSL http://deis.io/deisctl/install.sh | sh 
$ git clone https://github.com/deis/deis.git ; cd deis 
$ deisctl config platform set  
domain=mylocalpaas.com 
$ deisctl install platform && deisctl start platform
Installation will set the domain in 
the distributed database (Etcd) 
then load and run the 
“init” files (Fleet+Systemd) 
into the cluster 
Everything else happens by the help of twelve-factor
● Install client * at deis git directory 
$ pip install ./client/ 
$ deis register http://mylocalpaas.com 
$ deis keys:add
● Create a 
Docker App 
# write some “code” 
$ mkdir ~/myapp ; cd ~/myapp 
$ git init 
$ echo "Hello" > index.html 
# create the Dockerfile 
$ echo 'FROM myregistry/my-tiny-nginx 
ADD ./index.html /usr/share/nginx/www/index.html 
EXPOSE 80 
ENTRYPOINT ["/usr/sbin/nginx"] 
CMD ["-c","/etc/nginx/nginx.conf","-p","/etc/nginx","-g","daemon off;"]'  
> Dockerfile 
# create the app 
$ git commit -a -m "initial" 
$ deis create myapp
● Deploy it 
$ git push deis master 
… 
-----> Building Docker image 
… 
-----> Pushing image to private registry 
… 
-----> Launching... 
done, myapp:v1 deployed to Deis 
http://myapp.mylocalpaas.com 
$ curl http://myapp.mylocalpaas.com 
Hello
● Scale it 
$ deis scale cmd=5 
Scaling processes... but first, coffee! 
..o 
done in 25s 
=== myapp Processes 
--- cmd: 
cmd.1 up (v13) 
cmd.2 up (v13) 
cmd.3 up (v13) 
cmd.4 up (v13) 
cmd.5 up (v13)
● Deploy a 
Heroku App 
Available Buildpacks: 
● Ruby 
● Nodejs 
● Java 
● Gradle 
● Grails 
● Play 
● Python 
● Clojure 
● PHP 
● Go 
● Meteorite 
● Perl 
● Scala 
● Dart 
● Nginx 
● Apache
● Create it $ git clone https://github.com/deis/example-ruby-sinatra.git 
$ cd example-ruby-sinatra 
$ deis create myappheroku 
Creating application... done, created myappheroku 
Git remote deis added
● Deploy it 
(suppressed output) 
$ git push deis master 
-----> Ruby app detected 
-----> Compiling Ruby/Rack 
-----> Installing dependencies using 1.5.2 
Using bundler (1.5.2) 
Installing tilt (1.3.6) 
Installing rack (1.5.2) 
Installing rack-protection (1.5.0) 
Installing sinatra (1.4.2) 
Your bundle is complete! 
-----> Compiled slug size is 12M 
-----> Building Docker image 
-----> Pushing image to private registry 
-----> myappheroku deployed to Deis 
http://myappheroku.mylocalpaas.com 
$ curl -s http://myappheroku.mylocalpaas.com 
Powered by Deis!
Thanks! 
lorieri 
@againstty0

More Related Content

What's hot

2015 DockerCon Using Docker in production at bity.com
2015 DockerCon Using Docker in production at bity.com2015 DockerCon Using Docker in production at bity.com
2015 DockerCon Using Docker in production at bity.comMathieu Buffenoir
 
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
 
Docker Compose to Production with Docker Swarm
Docker Compose to Production with Docker SwarmDocker Compose to Production with Docker Swarm
Docker Compose to Production with Docker SwarmMario IC
 
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境謝 宗穎
 
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
 
Continuous integration with Docker and Ansible
Continuous integration with Docker and AnsibleContinuous integration with Docker and Ansible
Continuous integration with Docker and AnsibleDmytro Slupytskyi
 
Docker for mere mortals
Docker for mere mortalsDocker for mere mortals
Docker for mere mortalsHenryk Konsek
 
Consuming Cinder from Docker
Consuming Cinder from DockerConsuming Cinder from Docker
Consuming Cinder from DockerJohn Griffith
 
Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.Henryk Konsek
 
Docker DANS workshop
Docker DANS workshopDocker DANS workshop
Docker DANS workshopvty
 
Docker workshop DevOpsDays Amsterdam 2014
Docker workshop DevOpsDays Amsterdam 2014Docker workshop DevOpsDays Amsterdam 2014
Docker workshop DevOpsDays Amsterdam 2014Pini Reznik
 
Docker Ecosystem: Part V - Docker Registry
Docker Ecosystem: Part V - Docker RegistryDocker Ecosystem: Part V - Docker Registry
Docker Ecosystem: Part V - Docker RegistryMario IC
 
Docker for Developers: Dev, Test, Deploy @ BucksCo Devops at MeetMe HQ
Docker for Developers: Dev, Test, Deploy @ BucksCo Devops at MeetMe HQDocker for Developers: Dev, Test, Deploy @ BucksCo Devops at MeetMe HQ
Docker for Developers: Dev, Test, Deploy @ BucksCo Devops at MeetMe HQErica Windisch
 
Building a Docker v1.12 Swarm cluster on ARM
Building a Docker v1.12 Swarm cluster on ARMBuilding a Docker v1.12 Swarm cluster on ARM
Building a Docker v1.12 Swarm cluster on ARMTeam Hypriot
 

What's hot (20)

2015 DockerCon Using Docker in production at bity.com
2015 DockerCon Using Docker in production at bity.com2015 DockerCon Using Docker in production at bity.com
2015 DockerCon Using Docker in production at bity.com
 
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
 
Docker Compose to Production with Docker Swarm
Docker Compose to Production with Docker SwarmDocker Compose to Production with Docker Swarm
Docker Compose to Production with Docker Swarm
 
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
 
Docker / Ansible
Docker / AnsibleDocker / Ansible
Docker / Ansible
 
Docker n co
Docker n coDocker n co
Docker n co
 
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
 
From zero to Docker
From zero to DockerFrom zero to Docker
From zero to Docker
 
Continuous integration with Docker and Ansible
Continuous integration with Docker and AnsibleContinuous integration with Docker and Ansible
Continuous integration with Docker and Ansible
 
Docker for mere mortals
Docker for mere mortalsDocker for mere mortals
Docker for mere mortals
 
Consuming Cinder from Docker
Consuming Cinder from DockerConsuming Cinder from Docker
Consuming Cinder from Docker
 
Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.
 
Docker DANS workshop
Docker DANS workshopDocker DANS workshop
Docker DANS workshop
 
Docker workshop DevOpsDays Amsterdam 2014
Docker workshop DevOpsDays Amsterdam 2014Docker workshop DevOpsDays Amsterdam 2014
Docker workshop DevOpsDays Amsterdam 2014
 
Docker orchestration
Docker orchestrationDocker orchestration
Docker orchestration
 
Docker Started
Docker StartedDocker Started
Docker Started
 
Docker Ecosystem: Part V - Docker Registry
Docker Ecosystem: Part V - Docker RegistryDocker Ecosystem: Part V - Docker Registry
Docker Ecosystem: Part V - Docker Registry
 
Docker for Developers: Dev, Test, Deploy @ BucksCo Devops at MeetMe HQ
Docker for Developers: Dev, Test, Deploy @ BucksCo Devops at MeetMe HQDocker for Developers: Dev, Test, Deploy @ BucksCo Devops at MeetMe HQ
Docker for Developers: Dev, Test, Deploy @ BucksCo Devops at MeetMe HQ
 
Dokku
DokkuDokku
Dokku
 
Building a Docker v1.12 Swarm cluster on ARM
Building a Docker v1.12 Swarm cluster on ARMBuilding a Docker v1.12 Swarm cluster on ARM
Building a Docker v1.12 Swarm cluster on ARM
 

Similar to Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview

Docker module 1
Docker module 1Docker module 1
Docker module 1Liang Bo
 
I Just Want to Run My Code: Waypoint, Nomad, and Other Things
I Just Want to Run My Code: Waypoint, Nomad, and Other ThingsI Just Want to Run My Code: Waypoint, Nomad, and Other Things
I Just Want to Run My Code: Waypoint, Nomad, and Other ThingsMichael Lange
 
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
 
Introduction to Docker and deployment and Azure
Introduction to Docker and deployment and AzureIntroduction to Docker and deployment and Azure
Introduction to Docker and deployment and AzureJérôme Petazzoni
 
Introduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New YorkIntroduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New YorkJérôme Petazzoni
 
Azure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
Azure Bootcamp 2016 - Docker Orchestration on Azure with RancherAzure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
Azure Bootcamp 2016 - Docker Orchestration on Azure with RancherKarim Vaes
 
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, OrchestrationErica Windisch
 
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...Jérôme Petazzoni
 
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
Workshop : 45 minutes pour comprendre Docker avec Jérôme PetazzoniWorkshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
Workshop : 45 minutes pour comprendre Docker avec Jérôme PetazzoniTheFamily
 
Introduction to Docker, December 2014 "Tour de France" Edition
Introduction to Docker, December 2014 "Tour de France" EditionIntroduction to Docker, December 2014 "Tour de France" Edition
Introduction to Docker, December 2014 "Tour de France" EditionJérôme Petazzoni
 
Docker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los AngelesDocker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los AngelesJérôme Petazzoni
 
Developing and Deploying PHP with Docker
Developing and Deploying PHP with DockerDeveloping and Deploying PHP with Docker
Developing and Deploying PHP with DockerPatrick Mizer
 
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special Edition
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special EditionIntroduction to Docker, December 2014 "Tour de France" Bordeaux Special Edition
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special EditionJérôme Petazzoni
 
FEI Bratislava 2017 - Docker
FEI Bratislava 2017 - DockerFEI Bratislava 2017 - Docker
FEI Bratislava 2017 - DockerAdam Štipák
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to DockerAdam Štipák
 
Docker Multi-arch All The Things
Docker Multi-arch All The ThingsDocker Multi-arch All The Things
Docker Multi-arch All The ThingsDocker, Inc.
 
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...Patrick Chanezon
 
Настройка окружения для кросскомпиляции проектов на основе docker'a
Настройка окружения для кросскомпиляции проектов на основе docker'aНастройка окружения для кросскомпиляции проектов на основе docker'a
Настройка окружения для кросскомпиляции проектов на основе docker'acorehard_by
 

Similar to Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview (20)

Docker module 1
Docker module 1Docker module 1
Docker module 1
 
I Just Want to Run My Code: Waypoint, Nomad, and Other Things
I Just Want to Run My Code: Waypoint, Nomad, and Other ThingsI Just Want to Run My Code: Waypoint, Nomad, and Other Things
I Just Want to Run My Code: Waypoint, Nomad, and Other Things
 
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
 
Introduction to Docker and deployment and Azure
Introduction to Docker and deployment and AzureIntroduction to Docker and deployment and Azure
Introduction to Docker and deployment and Azure
 
Introduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New YorkIntroduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New York
 
Azure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
Azure Bootcamp 2016 - Docker Orchestration on Azure with RancherAzure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
Azure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
 
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
 
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
 
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
Workshop : 45 minutes pour comprendre Docker avec Jérôme PetazzoniWorkshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
 
Introduction to Docker, December 2014 "Tour de France" Edition
Introduction to Docker, December 2014 "Tour de France" EditionIntroduction to Docker, December 2014 "Tour de France" Edition
Introduction to Docker, December 2014 "Tour de France" Edition
 
Docker+java
Docker+javaDocker+java
Docker+java
 
Docker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los AngelesDocker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los Angeles
 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
 
Developing and Deploying PHP with Docker
Developing and Deploying PHP with DockerDeveloping and Deploying PHP with Docker
Developing and Deploying PHP with Docker
 
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special Edition
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special EditionIntroduction to Docker, December 2014 "Tour de France" Bordeaux Special Edition
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special Edition
 
FEI Bratislava 2017 - Docker
FEI Bratislava 2017 - DockerFEI Bratislava 2017 - Docker
FEI Bratislava 2017 - Docker
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker Multi-arch All The Things
Docker Multi-arch All The ThingsDocker Multi-arch All The Things
Docker Multi-arch All The Things
 
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...
 
Настройка окружения для кросскомпиляции проектов на основе docker'a
Настройка окружения для кросскомпиляции проектов на основе docker'aНастройка окружения для кросскомпиляции проектов на основе docker'a
Настройка окружения для кросскомпиляции проектов на основе docker'a
 

More from Leo Lorieri

Deis, a PaaS built with Docker, Docker Meetup Sao Paulo #3 @Wayra
Deis, a PaaS built with Docker,  Docker Meetup Sao Paulo #3 @WayraDeis, a PaaS built with Docker,  Docker Meetup Sao Paulo #3 @Wayra
Deis, a PaaS built with Docker, Docker Meetup Sao Paulo #3 @WayraLeo Lorieri
 
DevOps com Exemplos Práticos - QConRio 2014
DevOps com Exemplos Práticos - QConRio 2014DevOps com Exemplos Práticos - QConRio 2014
DevOps com Exemplos Práticos - QConRio 2014Leo Lorieri
 
História dos Sistemas - 3a Semana de SI
História dos Sistemas - 3a Semana de SIHistória dos Sistemas - 3a Semana de SI
História dos Sistemas - 3a Semana de SILeo Lorieri
 
Extending Piwik At R7.com
Extending Piwik At R7.comExtending Piwik At R7.com
Extending Piwik At R7.comLeo Lorieri
 
História dos Sistemas - Por que estamos fazendo desse jeito
História dos Sistemas - Por que estamos fazendo desse jeitoHistória dos Sistemas - Por que estamos fazendo desse jeito
História dos Sistemas - Por que estamos fazendo desse jeitoLeo Lorieri
 
History of Computer Systems - Why we are doing it that way
History of Computer Systems - Why we are doing it that wayHistory of Computer Systems - Why we are doing it that way
History of Computer Systems - Why we are doing it that wayLeo Lorieri
 

More from Leo Lorieri (6)

Deis, a PaaS built with Docker, Docker Meetup Sao Paulo #3 @Wayra
Deis, a PaaS built with Docker,  Docker Meetup Sao Paulo #3 @WayraDeis, a PaaS built with Docker,  Docker Meetup Sao Paulo #3 @Wayra
Deis, a PaaS built with Docker, Docker Meetup Sao Paulo #3 @Wayra
 
DevOps com Exemplos Práticos - QConRio 2014
DevOps com Exemplos Práticos - QConRio 2014DevOps com Exemplos Práticos - QConRio 2014
DevOps com Exemplos Práticos - QConRio 2014
 
História dos Sistemas - 3a Semana de SI
História dos Sistemas - 3a Semana de SIHistória dos Sistemas - 3a Semana de SI
História dos Sistemas - 3a Semana de SI
 
Extending Piwik At R7.com
Extending Piwik At R7.comExtending Piwik At R7.com
Extending Piwik At R7.com
 
História dos Sistemas - Por que estamos fazendo desse jeito
História dos Sistemas - Por que estamos fazendo desse jeitoHistória dos Sistemas - Por que estamos fazendo desse jeito
História dos Sistemas - Por que estamos fazendo desse jeito
 
History of Computer Systems - Why we are doing it that way
History of Computer Systems - Why we are doing it that wayHistory of Computer Systems - Why we are doing it that way
History of Computer Systems - Why we are doing it that way
 

Recently uploaded

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durbanmasabamasaba
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...Nitya salvi
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 

Recently uploaded (20)

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 

Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview

  • 1. Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview lorieri Nov/2014 @againstty0
  • 2. Welcome to the future
  • 3. “Ceph's main goals are to be completely distributed without a single point of failure, scalable to the exabyte level, and freely-available”
  • 4. ● 100% distributed ● CephFS ○ For POSIX sharing ○ not really 100% (active-standby) ● LibRados ○ RBD ■ For Blocks ○ Rados Gateway ■ For REST Objects ■ S3 and Swift compatible
  • 5.
  • 7. “Build, Ship and Run Any App, Anywhere”
  • 8. ● 100% portable ● Easy API for LXC ● Public Repository ● Lightweight, 1 process (ideal) ● Layers (Union File System) ○ Shares read-only data ○ Incremental ● Volumes (not layered volumes)
  • 9. ● We will only talk about slugs ○ (and twelve-factor later) “A slug is a bundle of your source, fetched dependencies, the language runtime, and compiled/generated output of the build system - ready for execution.”
  • 10. Slug Your App Git Buildpacks Repo $ git push Builder Runtime Code
  • 11. “Linux for Massive Server Deployments CoreOS enables warehouse-scale computing on top of a minimal, modern operating system.”
  • 12. ● 100% distributed ● Lightweight ● cloud-init for every boot ● Automatic Updates ○ 2 boot partitions
  • 13. Etcd Locksmithd Confd Fleet Systemd Systemd Systemd Systemd Systemd Systemd Systemd Node 1 Node 2 Node 3 Node 4 Node 5 Node 6 Node 7
  • 14. Distributed database Reboot Admin Configuration Manager Distributed Init New Init New Init New Init New Init New Init New Init New Init Node 1 Node 2 Node 3 Node 4 Node 5 Node 6 Node 7
  • 15.
  • 17. “Your PaaS. Your Rules. An open source PaaS that makes it easy to deploy and manage applications on your own servers. Deis builds upon Docker and CoreOS to provide a lightweight PaaS with a Heroku-inspired workflow.”
  • 18.
  • 19. ● CoresOS + Docker + Ceph + Heroku ● Twelve-Factor ○ for Deis: must be stateless (no wordpress) ● Nginx Router + Wildcard DNS ● First release using Ceph ○ more features coming soon ● Limited ○ twelve-factor ○ only HTTP port (non-http soon) ○ must expose ONLY one port
  • 20. ● Installation: ○ Install CoreOS and ssh keys then: $ export DEISCTL_TUNNEL=coreos01 $ curl -sSL http://deis.io/deisctl/install.sh | sh $ git clone https://github.com/deis/deis.git ; cd deis $ deisctl config platform set domain=mylocalpaas.com $ deisctl install platform && deisctl start platform
  • 21. Installation will set the domain in the distributed database (Etcd) then load and run the “init” files (Fleet+Systemd) into the cluster Everything else happens by the help of twelve-factor
  • 22. ● Install client * at deis git directory $ pip install ./client/ $ deis register http://mylocalpaas.com $ deis keys:add
  • 23. ● Create a Docker App # write some “code” $ mkdir ~/myapp ; cd ~/myapp $ git init $ echo "Hello" > index.html # create the Dockerfile $ echo 'FROM myregistry/my-tiny-nginx ADD ./index.html /usr/share/nginx/www/index.html EXPOSE 80 ENTRYPOINT ["/usr/sbin/nginx"] CMD ["-c","/etc/nginx/nginx.conf","-p","/etc/nginx","-g","daemon off;"]' > Dockerfile # create the app $ git commit -a -m "initial" $ deis create myapp
  • 24. ● Deploy it $ git push deis master … -----> Building Docker image … -----> Pushing image to private registry … -----> Launching... done, myapp:v1 deployed to Deis http://myapp.mylocalpaas.com $ curl http://myapp.mylocalpaas.com Hello
  • 25. ● Scale it $ deis scale cmd=5 Scaling processes... but first, coffee! ..o done in 25s === myapp Processes --- cmd: cmd.1 up (v13) cmd.2 up (v13) cmd.3 up (v13) cmd.4 up (v13) cmd.5 up (v13)
  • 26. ● Deploy a Heroku App Available Buildpacks: ● Ruby ● Nodejs ● Java ● Gradle ● Grails ● Play ● Python ● Clojure ● PHP ● Go ● Meteorite ● Perl ● Scala ● Dart ● Nginx ● Apache
  • 27. ● Create it $ git clone https://github.com/deis/example-ruby-sinatra.git $ cd example-ruby-sinatra $ deis create myappheroku Creating application... done, created myappheroku Git remote deis added
  • 28. ● Deploy it (suppressed output) $ git push deis master -----> Ruby app detected -----> Compiling Ruby/Rack -----> Installing dependencies using 1.5.2 Using bundler (1.5.2) Installing tilt (1.3.6) Installing rack (1.5.2) Installing rack-protection (1.5.0) Installing sinatra (1.4.2) Your bundle is complete! -----> Compiled slug size is 12M -----> Building Docker image -----> Pushing image to private registry -----> myappheroku deployed to Deis http://myappheroku.mylocalpaas.com $ curl -s http://myappheroku.mylocalpaas.com Powered by Deis!