SlideShare a Scribd company logo
1 of 64
Download to read offline
Maciej Lasyk 
Jesieล„ Linuksowa 2014 
Szczyrk, 2014-11-09 
Maciej Lasyk, Docker containers at scale 
1/64 
Orchestrating Docker containers at scale
Join Fedora Infrastructure! 
- learn Ansible 
- learn Docker with Fedora Dockerfiles 
http://fedoraproject.org/en/join-fedora 
Maciej Lasyk, Docker containers at scale 2/64
Agenda 
- Why use Docker? 
- Brief history of envs evolution 
- Docker โ€“ what is it? 
- To PaaS or not to PaaS 
- Orchestration at scale 
Maciej Lasyk, Docker containers at scale 3/64
Quick survey 
- How many of you... 
- Knows what Docker is? 
- Played with Docker? 
- Runs it on production? 
Maciej Lasyk, Docker containers at scale 
4/64
Why use Docker? 
With Docker we can solve many problems 
- โ€œit works on my machineโ€ 
- reducing build & deploy time 
- Infrastructure configuration spaghetti โ€“ automation! 
- Libs dependency hell 
- Cost control and granularity 
Maciej Lasyk, Docker containers at scale 
5/64
A brief story of envs evolution 
- classical approach (for & scp/ssh & conf.d) 
- configuration management 
- Bare vs IaaS vs PaaS 
- Continuous Integration 
- So when to use Docker? 
Maciej Lasyk, Docker containers at scale 
6/64
Docker โ€“ what is it? 
Maciej Lasyk, Docker containers at scale 7/64
Docker โ€“ what is it? 
โ€œautomates the deployment of any 
application as a lightweight, portable, 
self-sufficient container 
that will run virtually anywhereโ€ 
Maciej Lasyk, Docker containers at scale 8/64
Docker โ€“ what is it? 
Javaโ€™s promise: Write Once. Run Anywhere. 
Even on Windows now! 
https://blog.docker.com/2014/10/docker-microsoft-partner-distributed-applications/ 
Maciej Lasyk, Docker containers at scale 
9/64
Docker โ€“ what is it? 
Docker is lightweight 
====================================================== 
Package Arch Version Repository Size 
====================================================== 
Installing: 
docker-io x86_64 1.3.0-1.fc20 updates 4.3 M 
Maciej Lasyk, Docker containers at scale 
10/64
Docker โ€“ what is it? 
http://sattia.blogspot.com/2014/05/docker-lightweight-linux-containers-for.html 
Maciej Lasyk, Docker containers at scale 11/64
Docker โ€“ how it works? 
http://blog.docker.com/2014/03/docker-0-9-introducing-execution-drivers-and-libcontainer/ 
Maciej Lasyk, Docker containers at scale 12/64
Docker โ€“ how it works? 
- LXC & libcontainer 
- control groups 
- kernel namespaces 
- layered filesystem 
- btrfs 
- devmapper thin provisioning & loopback mounts 
- no more AUFS 
- http://developerblog.redhat.com/2014/09/30/overview-storage-scalability-docker/ 
Maciej Lasyk, Docker containers at scale 13/64
Docker โ€“ concepts 
- images 
- read only 
- act as templates 
- Dockerfile 
- like a makefile 
- commands order & cache'ing 
- extends the base image 
- results in a new image 
- Containers: instances running apps 
dockerfile + base image = docker container 
Maciej Lasyk, Docker containers at scale 14/64
Dockerfile 
FROM fedora 
MAINTAINER scollier <scollier@redhat.com> 
RUN yum -y update && yum clean all 
RUN yum -y install nginx && yum clean all 
RUN echo "daemon off;" >> /etc/nginx/nginx.conf 
RUN echo "nginx on Fedora" > /srv/www/index.html 
EXPOSE 80 
CMD [ "/usr/sbin/nginx" ] 
Maciej Lasyk, Docker containers at scale 15/64
Docker โ€“ registry 
http://osv.io/blog/blog/2014/06/19/containers-hypervisors-part-2/ 
Maciej Lasyk, Docker containers at scale 16/64
Docker โ€“ registry 
- git like semantics 
- pull, push, commit 
- private and public registry 
- https://github.com/dotcloud/docker-registry 
- yum install docker-registry 
$ docker pull 
$ docker push 
$ docker commit 
Maciej Lasyk, Docker containers at scale 17/64
Docker โ€“ images hierarchy 
base image 
-> child image 
-> grandchild image 
Gitโ€™s promise: Tiny footprint with 
lightning fast performance 
Maciej Lasyk, Docker containers at scale 
18/64
Docker โ€“ images hierarchy 
http://blog.octo.com/en/docker-registry-first-steps/ 
Maciej Lasyk, Docker containers at scale 19/64
Docker โ€“ security 
- Isolation via kernel namespaces 
- Additional layer of security: SELinux / AppArmor / GRSEC 
- Each container gets own network stack 
- control groups for resources limiting 
f20 policy: https://git.fedorahosted.org/cgit/selinux-policy.git/tree/docker.te?h=f20-contrib 
What's there? 
seinfo -t -x | grep docker 
sesearch -A -s docker_t (and the rest) 
or just unpack docker.pp with semodule_unpackage 
Maciej Lasyk, Docker containers at scale 20/64
Docker โ€“ use cases 
CI Stack 
http://sattia.blogspot.com/2014/05/docker-lightweight-linux-containers-for.html 
Maciej Lasyk, Docker containers at scale 21/64
Docker โ€“ use cases 
Continuous Integration 
- local dev 
- with Docker it's easy to standardize envs 
- deployment 
- rolling updates (e.g. w/Ansible) 
- testing 
- unit testing of any commit on dedicated env 
- don't worry about cleaning up after testing 
- parrarelized tests across any machines 
Maciej Lasyk, Docker containers at scale 22/64
Docker โ€“ use cases 
- version control system for apps 
- microservices 
- Docker embraces granularity 
- Services can be deployed independently and faster 
- parallelized tests across any machines 
- continuous delivery 
- PaaS 
Maciej Lasyk, Docker containers at scale 23/64
Docker โ€“ history 
- 2013-01: dotCloud worked on own PaaS (Python based) 
- 2013-03: Docker went public (AUFS, LXC) 
- middle 2013: Red Hat joined, devmapper, SELinux 
- late 2013: removed LXC, rewritten in Go 
- 2014-02: stable 1.0 
Maciej Lasyk, Docker containers at scale 24/64
Docker โ€“ popularity 
Maciej Lasyk, Docker containers at scale 25/64
Docker โ€“ popularity 
Maciej Lasyk, Docker containers at scale 26/64
Orchestration at scale w/Docker 
Maciej Lasyk, Docker containers at scale 27/64
Orchestration at scale w/Docker 
This might be a little problem 
Maciej Lasyk, Docker containers at scale 28/64
Orchestration at scale w/Docker 
This might be a little problem 
Maciej Lasyk, Docker containers at scale 29/64
Orchestration at scale w/Docker 
Maciej Lasyk, Docker containers at scale 30/64
http://www.cloudssky.com/en/blog/Docker-Is-Not-Enough 
Maciej Lasyk, Docker containers at scale 31/64
To Paas or not to PaaS? 
Maciej Lasyk, Docker containers at scale 32/64
To Paas or not to PaaS? 
- you think PaaS will solve your problems? 
- it will rather clone them :) 
- running PaaS might be easy 
- operating PaaS will be tough 
- so is operating your apps tough enough to move? 
- private PaaS or not? 
- Rainbow and Unicorn Piss: 
http://blog.lusis.org/blog/2014/06/14/paas-for-realists/ 
Maciej Lasyk, Docker containers at scale 
33/64
To Paas or not to PaaS? 
Maciej Lasyk, Docker containers at scale 
- flynn.io 
- Open source PaaS (Go) 
- Uses Docker to manage containers 
- Git push deployment 
- https://flynn.io 
- dokku 
- The smallest PaaS implementation you've ever seen 
- Less than 100 lines of Bash 
- Git push deployment 
- https://github.com/progrium/dokku 
- deis.io 
- Open source PaaS (Python) 
- Git push deployment 
- On top of CoreOS w/ Docker 
- http://deis.io/ 
34/64
To Paas or not to PaaS? 
Remember, that PaaS might fail; plan & test for disaster ! 
Maciej Lasyk, Docker containers at scale 35/64
Docker & CLI 
$ docker run -t -i fedora /bin/bash 
> yum -y update 
> yum -y install nginx 
$ docker commit 73fa45674fd docent/fedora 
Maciej Lasyk, Docker containers at scale 36/64
Docker & CLI 
Or via Dockerfile: 
$ docker build -t fedora โ€“rm . 
$ docker run --name=nginx fedora 
Maciej Lasyk, Docker containers at scale 37/64
FIG 
- http://www.fig.sh 
- for single host env 
Maciej Lasyk, Docker containers at scale 38/64
FIG 
- http://www.fig.sh 
- for single host env 
FROM python:2.7 
ENV PYTHONUNBUFFERED 1 
RUN mkdir /code 
WORKDIR /code 
ADD requirements.txt /code/ 
RUN pip install -r requirements.txt 
ADD . /code/ 
Maciej Lasyk, Docker containers at scale 39/64
FIG 
db: 
image: postgres 
web: 
build: . 
command: python manage.py 
runserver 0.0.0.0:8000 
volumes: 
- /srv/app/code:/code 
ports: 
- "8000:8000" 
links: 
- db 
Maciej Lasyk, Docker containers at scale 40/64
FIG 
$ fig run web django-admin.py startproject figexample . 
$ fig up 
Management during runtime? 
$ fig run web python manage.py syncdb 
Maciej Lasyk, Docker containers at scale 41/64
Docker & Ansible 
Ansible + Docker 
Vs 
Docker + Ansible 
Maciej Lasyk, Docker containers at scale 42/64
Docker & Ansible 
Ansible docker core module: 
http://docs.ansible.com/docker_module.html 
- hosts: web 
sudo: yes 
tasks: 
- name: run tomcat servers 
docker: > 
image=centos 
command="service tomcat6 start" 
ports=8080 
count=5 
memory_limit=128MB 
link=mysql 
expose=8080 
registry=... 
volume=... 
Maciej Lasyk, Docker containers at scale 43/64
Docker & Ansible 
Building image with Ansible: 
FROM ansible/centos7-ansible:stable 
ADD ansible /srv/example/ 
WORKDIR /srv/example 
RUN ansible-playbook web.yml -c local 
EXPOSE 80 
ENTRYPOINT ["/usr/sbin/nginx", "-DFOREGROUND"] 
ansible/web.yml: 
- hosts: localhost 
tasks: 
- yum: pkg=nginx state=latest 
- copy: 
src: web.conf 
dest: /etc/nginx/conf.d/web.conf 
group: "nginx" 
mode: "0644" 
Maciej Lasyk, Docker containers at scale 
44/64
CoreOS 
- Designedfor massive server deployments 
- Support Docker container out of the box 
- Available onLinux, Mac, and Windows 
- It's a Chrome OS fork 
- Consists of couple of components: 
- SystemD โ€“ not just a init system ;) 
- Fleet โ€“ cluster level manager & scheduler 
- etcd โ€“ light & distributed key / value store 
- Docker โ€“ the only packaging method in CoreOS 
Maciej Lasyk, Docker containers at scale 45/64
CoreOS 
Fleet โ€“ cluster level manager & scheduler 
https://coreos.com/using-coreos/clustering/ 
Maciej Lasyk, Docker containers at scale 46/64
CoreOS 
etcd โ€“ light & distributed key / value store 
(used for configuration store) 
https://coreos.com/docs/#cluster-management 
Maciej Lasyk, Docker containers at scale 47/64
CoreOS 
Docker โ€“ the only 
packaging method 
in CoreOS 
Maciej Lasyk, Docker containers at scale 48/64
CoreOS 
Maciej Lasyk, Docker containers at scale 49/64
CoreOS 
Cluster management with Fleet & SystemD 
[Unit] 
Description=My Service 
After=docker.service 
[Service] 
TimeoutStartSec=0 
ExecStartPre=-/usr/bin/docker kill hello 
ExecStartPre=-/usr/bin/docker rm hello 
ExecStartPre=/usr/bin/docker pull busybox 
ExecStart=/usr/bin/docker run --name hello busybox /bin/sh -c 
"while true; do echo Hello World; sleep 1; done" 
ExecStop=/usr/bin/docker stop hello 
Maciej Lasyk, Docker containers at scale 50/64
CoreOS 
Cluster management with Fleet & SystemD 
$ fleetctl load hello.service 
Unit hello.service loaded on 8145ebb7.../10.10.1.3 
$ fleetctl start hello.service 
Unit hello.service launched on 8145ebb7.../10.10.1.3 
$ fleetctl list-machines 
MACHINE IP METADATA 
148a18ff-6e95-4cd8-92da-c9de9bb90d5a 10.10.1.1 - 
491586a6-508f-4583-a71d-bfc4d146e996 10.10.1.2 - 
c9de9451-6a6f-1d80-b7e6-46e996bfc4d1 10.10.1.3 - 
$ fleetctl list-units 
UNIT MACHINE ACTIVE SUB 
hello.service c9de9451.../10.10.1.3 active running 
Maciej Lasyk, Docker containers at scale 51/64
CoreOS 
- scheduler 
- HA 
- dependencies 
https://coreos.com/docs/launching-containers/launching/launching-containers-fleet/ 
Maciej Lasyk, Docker containers at scale 52/64
Kubernetes 
- https://github.com/GoogleCloudPlatform/kubernetes 
- Advanced cluster manager (more than 1k hosts is a fit) 
- Architecture: 
- master 
- minion 
- pod 
- replication controller 
- label 
Maciej Lasyk, Docker containers at scale 53/64
Kubernetes 
Maciej Lasyk, Docker containers at scale 54/64
SmartStack 
- automated service discovery and registration framework 
- ideal for SOA architectures 
- ideal for continuous integration & delivery 
- solves โ€œworks on my machineโ€ problem 
haproxy + nerve + synapse + zookeper = smartstack 
Maciej Lasyk, Docker containers at scale 56/64
SmartStack 
Synapse 
- discovery service (via zookeeper or etcd) 
- installed on every node 
- writes haproxy configuration 
- application doesn't have to be aware of this 
- works same on bare / VM / docker 
- https://github.com/airbnb/nerve 
Maciej Lasyk, Docker containers at scale 57/64
SmartStack 
Maciej Lasyk, Docker containers at scale 58/64
SmartStack 
Nerve 
- health checks (pluggable) 
- register service info to zookeper (or etcd) 
- https://github.com/airbnb/synapse 
Maciej Lasyk, Docker containers at scale 59/64
SmartStack 
Maciej Lasyk, Docker containers at scale 60/64
Summary 
Maciej Lasyk, Docker containers at scale 61/64
Summary 
w/ Docker Sky is the limit! 
Maciej Lasyk, Docker containers at scale 
61/64
Freenode #docker 
Krk DevOPS meetups (http://www.meetup.com/Krakow-DevOps/) 
https://github.com/docker/docker 
Maciej Lasyk, Docker containers at scale 62/64
sources? 
- docker.io documentation 
- dockerbook.com 
- slideshare! 
- zounds of blogposts (urls provided) 
- and some experience ;) 
Maciej Lasyk, Docker containers at scale 63/64
Thank you :) 
Orchestrating Docker containers at scale 
Maciej Lasyk 
Jesieล„ Linuksowa 2014 
2014-11-09, Szczyrk 
http://maciej.lasyk.info 
maciej@lasyk.info 
@docent-net 
Maciej Lasyk, Docker containers at scale 64/64

More Related Content

What's hot

Docker - The Linux Container
Docker - The Linux ContainerDocker - The Linux Container
Docker - The Linux Container
Balaji Rajan
ย 

What's hot (20)

Basic docker for developer
Basic docker for developerBasic docker for developer
Basic docker for developer
ย 
Docker - The Linux Container
Docker - The Linux ContainerDocker - The Linux Container
Docker - The Linux Container
ย 
Docker
DockerDocker
Docker
ย 
Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned
ย 
Docker introduction
Docker introductionDocker introduction
Docker introduction
ย 
Docker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCSDocker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCS
ย 
Docker From Scratch
Docker From ScratchDocker From Scratch
Docker From Scratch
ย 
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
ย 
Docker introduction
Docker introductionDocker introduction
Docker introduction
ย 
JOSA TechTalk: Introduction to docker
JOSA TechTalk: Introduction to dockerJOSA TechTalk: Introduction to docker
JOSA TechTalk: Introduction to docker
ย 
Docker and containers : Disrupting the virtual machine(VM)
Docker and containers : Disrupting the virtual machine(VM)Docker and containers : Disrupting the virtual machine(VM)
Docker and containers : Disrupting the virtual machine(VM)
ย 
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
ย 
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
ย 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
ย 
Visualising Basic Concepts of Docker
Visualising Basic Concepts of Docker Visualising Basic Concepts of Docker
Visualising Basic Concepts of Docker
ย 
Intro to containerization
Intro to containerizationIntro to containerization
Intro to containerization
ย 
Docker and the Linux Kernel
Docker and the Linux KernelDocker and the Linux Kernel
Docker and the Linux Kernel
ย 
Introduction to Docker
Introduction  to DockerIntroduction  to Docker
Introduction to Docker
ย 
Developer workflow with docker
Developer workflow with dockerDeveloper workflow with docker
Developer workflow with docker
ย 
Docker for the new Era: Introducing Docker,its components and tools
Docker for the new Era: Introducing Docker,its components and toolsDocker for the new Era: Introducing Docker,its components and tools
Docker for the new Era: Introducing Docker,its components and tools
ย 

Viewers also liked

Container orchestration
Container orchestrationContainer orchestration
Container orchestration
Timo Derstappen
ย 
Speciale 2. udgave
Speciale 2. udgaveSpeciale 2. udgave
Speciale 2. udgave
Iben Lindemark
ย 
Progama de formaciรณn tecnico en sistemas 865244
Progama de formaciรณn tecnico en sistemas 865244Progama de formaciรณn tecnico en sistemas 865244
Progama de formaciรณn tecnico en sistemas 865244
David Rojas
ย 
Gfpi f-019 guia de aprendizaje 01 tda orientar fpi
Gfpi f-019 guia de aprendizaje 01 tda orientar fpiGfpi f-019 guia de aprendizaje 01 tda orientar fpi
Gfpi f-019 guia de aprendizaje 01 tda orientar fpi
lisbet bravo
ย 
JULIOPARI - Elaborando un Plan de Negocios
JULIOPARI - Elaborando un Plan de NegociosJULIOPARI - Elaborando un Plan de Negocios
JULIOPARI - Elaborando un Plan de Negocios
Julio Pari
ย 
Cรกpsula 1. estudios de mercado
Cรกpsula 1. estudios de mercadoCรกpsula 1. estudios de mercado
Cรกpsula 1. estudios de mercado
Audias Torres Coronel
ย 

Viewers also liked (20)

Container orchestration
Container orchestrationContainer orchestration
Container orchestration
ย 
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
ย 
The Future of Everything
The Future of EverythingThe Future of Everything
The Future of Everything
ย 
Speciale 2. udgave
Speciale 2. udgaveSpeciale 2. udgave
Speciale 2. udgave
ย 
Libro el pequeรฑo vampiro
Libro   el pequeรฑo vampiroLibro   el pequeรฑo vampiro
Libro el pequeรฑo vampiro
ย 
Progama de formaciรณn tecnico en sistemas 865244
Progama de formaciรณn tecnico en sistemas 865244Progama de formaciรณn tecnico en sistemas 865244
Progama de formaciรณn tecnico en sistemas 865244
ย 
Primer Paquete Econรณmico 2017 Zacatecas (2/9)
Primer Paquete Econรณmico 2017 Zacatecas (2/9)Primer Paquete Econรณmico 2017 Zacatecas (2/9)
Primer Paquete Econรณmico 2017 Zacatecas (2/9)
ย 
Gfpi f-019 guia de aprendizaje 01 tda orientar fpi
Gfpi f-019 guia de aprendizaje 01 tda orientar fpiGfpi f-019 guia de aprendizaje 01 tda orientar fpi
Gfpi f-019 guia de aprendizaje 01 tda orientar fpi
ย 
Geheugen verbeteren
Geheugen verbeterenGeheugen verbeteren
Geheugen verbeteren
ย 
JULIOPARI - Elaborando un Plan de Negocios
JULIOPARI - Elaborando un Plan de NegociosJULIOPARI - Elaborando un Plan de Negocios
JULIOPARI - Elaborando un Plan de Negocios
ย 
Tears In The Rain
Tears In The RainTears In The Rain
Tears In The Rain
ย 
Onderzoeksrapport acrs v3.0_definitief
Onderzoeksrapport acrs v3.0_definitiefOnderzoeksrapport acrs v3.0_definitief
Onderzoeksrapport acrs v3.0_definitief
ย 
Como hacer un plan de negocios
Como hacer un plan de negociosComo hacer un plan de negocios
Como hacer un plan de negocios
ย 
Schrijven voor het web
Schrijven voor het webSchrijven voor het web
Schrijven voor het web
ย 
Evidence: Describing my kitchen. ENGLISH DOT WORKS 2. SENA.
Evidence: Describing my kitchen. ENGLISH DOT WORKS 2. SENA.Evidence: Describing my kitchen. ENGLISH DOT WORKS 2. SENA.
Evidence: Describing my kitchen. ENGLISH DOT WORKS 2. SENA.
ย 
Estrategias competitivas bรกsicas
Estrategias competitivas bรกsicasEstrategias competitivas bรกsicas
Estrategias competitivas bรกsicas
ย 
Cรกpsula 1. estudios de mercado
Cรกpsula 1. estudios de mercadoCรกpsula 1. estudios de mercado
Cรกpsula 1. estudios de mercado
ย 
Rodriguez alvarez
Rodriguez alvarezRodriguez alvarez
Rodriguez alvarez
ย 
2. describing cities and places. ENGLISH DOT WORKS 2. SENA. semana 4 acitivda...
2. describing cities and places. ENGLISH DOT WORKS 2. SENA. semana 4 acitivda...2. describing cities and places. ENGLISH DOT WORKS 2. SENA. semana 4 acitivda...
2. describing cities and places. ENGLISH DOT WORKS 2. SENA. semana 4 acitivda...
ย 
Capacitacion y adiestramiento
Capacitacion y adiestramientoCapacitacion y adiestramiento
Capacitacion y adiestramiento
ย 

Similar to Orchestrating Docker containers at scale

Similar to Orchestrating Docker containers at scale (20)

Orchestrating docker containers at scale (PJUG edition)
Orchestrating docker containers at scale (PJUG edition)Orchestrating docker containers at scale (PJUG edition)
Orchestrating docker containers at scale (PJUG edition)
ย 
Orchestrating docker containers at scale (#DockerKRK edition)
Orchestrating docker containers at scale (#DockerKRK edition)Orchestrating docker containers at scale (#DockerKRK edition)
Orchestrating docker containers at scale (#DockerKRK edition)
ย 
Dockerizing a Symfony2 application
Dockerizing a Symfony2 applicationDockerizing a Symfony2 application
Dockerizing a Symfony2 application
ย 
VMware@Night Container and Virtualization
VMware@Night Container and VirtualizationVMware@Night Container and Virtualization
VMware@Night Container and Virtualization
ย 
VMware@Night: Container & Virtualisierung
VMware@Night: Container & VirtualisierungVMware@Night: Container & Virtualisierung
VMware@Night: Container & Virtualisierung
ย 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
ย 
Docker for Deep Learning (Andrea Panizza)
Docker for Deep Learning (Andrea Panizza)Docker for Deep Learning (Andrea Panizza)
Docker for Deep Learning (Andrea Panizza)
ย 
Docker for Web Developers: A Sneak Peek
Docker for Web Developers: A Sneak PeekDocker for Web Developers: A Sneak Peek
Docker for Web Developers: A Sneak Peek
ย 
Linux containers & Devops
Linux containers & DevopsLinux containers & Devops
Linux containers & Devops
ย 
Agile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: IntroductionAgile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: Introduction
ย 
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
ย 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014
ย 
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...
ย 
BBL Premiers pas avec Docker
BBL Premiers pas avec DockerBBL Premiers pas avec Docker
BBL Premiers pas avec Docker
ย 
[Codelab 2017] Docker ๊ธฐ์ดˆ ๋ฐ ํ™œ์šฉ ๋ฐฉ์•ˆ
[Codelab 2017] Docker ๊ธฐ์ดˆ ๋ฐ ํ™œ์šฉ ๋ฐฉ์•ˆ[Codelab 2017] Docker ๊ธฐ์ดˆ ๋ฐ ํ™œ์šฉ ๋ฐฉ์•ˆ
[Codelab 2017] Docker ๊ธฐ์ดˆ ๋ฐ ํ™œ์šฉ ๋ฐฉ์•ˆ
ย 
Docker: A New Way to Turbocharging Your Apps Development
Docker: A New Way to Turbocharging Your Apps DevelopmentDocker: A New Way to Turbocharging Your Apps Development
Docker: A New Way to Turbocharging Your Apps Development
ย 
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
ย 
Docker DANS workshop
Docker DANS workshopDocker DANS workshop
Docker DANS workshop
ย 
RHEL/Fedora + Docker (and SELinux)
RHEL/Fedora + Docker (and SELinux)RHEL/Fedora + Docker (and SELinux)
RHEL/Fedora + Docker (and SELinux)
ย 

More from Maciej Lasyk

More from Maciej Lasyk (18)

Rundeck & Ansible
Rundeck & AnsibleRundeck & Ansible
Rundeck & Ansible
ย 
Docker 1.11
Docker 1.11Docker 1.11
Docker 1.11
ย 
Programowanie AWSa z CLI, boto, Ansiblem i libcloudem
Programowanie AWSa z CLI, boto, Ansiblem i libcloudemProgramowanie AWSa z CLI, boto, Ansiblem i libcloudem
Programowanie AWSa z CLI, boto, Ansiblem i libcloudem
ย 
Co powinieneล› wiedzieฤ‡ na temat devops?f
Co powinieneล› wiedzieฤ‡ na temat devops?f Co powinieneล› wiedzieฤ‡ na temat devops?f
Co powinieneล› wiedzieฤ‡ na temat devops?f
ย 
"Containers do not contain"
"Containers do not contain""Containers do not contain"
"Containers do not contain"
ย 
Git Submodules
Git SubmodulesGit Submodules
Git Submodules
ย 
Under the Dome (of failure driven pipeline)
Under the Dome (of failure driven pipeline)Under the Dome (of failure driven pipeline)
Under the Dome (of failure driven pipeline)
ย 
Continuous Security in DevOps
Continuous Security in DevOpsContinuous Security in DevOps
Continuous Security in DevOps
ย 
About cultural change w/Devops
About cultural change w/DevopsAbout cultural change w/Devops
About cultural change w/Devops
ย 
Ghost in the shell
Ghost in the shellGhost in the shell
Ghost in the shell
ย 
Scaling and securing node.js apps
Scaling and securing node.js appsScaling and securing node.js apps
Scaling and securing node.js apps
ย 
Node.js security
Node.js securityNode.js security
Node.js security
ย 
High Availability (HA) Explained - second edition
High Availability (HA) Explained - second editionHigh Availability (HA) Explained - second edition
High Availability (HA) Explained - second edition
ย 
Monitoring with Nagios and Ganglia
Monitoring with Nagios and GangliaMonitoring with Nagios and Ganglia
Monitoring with Nagios and Ganglia
ย 
Stop disabling SELinux!
Stop disabling SELinux!Stop disabling SELinux!
Stop disabling SELinux!
ย 
High Availability (HA) Explained
High Availability (HA) ExplainedHigh Availability (HA) Explained
High Availability (HA) Explained
ย 
Shall we play a game? PL version
Shall we play a game? PL versionShall we play a game? PL version
Shall we play a game? PL version
ย 
Shall we play a game?
Shall we play a game?Shall we play a game?
Shall we play a game?
ย 

Recently uploaded

โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...
โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...
โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...
Diya Sharma
ย 
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
SUHANI PANDEY
ย 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
SUHANI PANDEY
ย 
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
ย 
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
ย 
valsad Escorts Service โ˜Ž๏ธ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service โ˜Ž๏ธ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service โ˜Ž๏ธ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service โ˜Ž๏ธ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
ย 
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
SUHANI PANDEY
ย 
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
SUHANI PANDEY
ย 
Call Girls in Prashant Vihar, Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9953056974 ๐Ÿ” Escort Service
Call Girls in Prashant Vihar, Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9953056974 ๐Ÿ” Escort ServiceCall Girls in Prashant Vihar, Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9953056974 ๐Ÿ” Escort Service
Call Girls in Prashant Vihar, Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9953056974 ๐Ÿ” Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
ย 
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
SUHANI PANDEY
ย 
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
SUHANI PANDEY
ย 

Recently uploaded (20)

โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...
โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...
โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...
ย 
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
Russian Call Girls in %(+971524965298  )#  Call Girls in DubaiRussian Call Girls in %(+971524965298  )#  Call Girls in Dubai
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
ย 
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
ย 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
ย 
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
ย 
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
ย 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
ย 
valsad Escorts Service โ˜Ž๏ธ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service โ˜Ž๏ธ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service โ˜Ž๏ธ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service โ˜Ž๏ธ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
ย 
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
ย 
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
ย 
Busty DesiโšกCall Girls in Vasundhara Ghaziabad >เผ’8448380779 Escort Service
Busty DesiโšกCall Girls in Vasundhara Ghaziabad >เผ’8448380779 Escort ServiceBusty DesiโšกCall Girls in Vasundhara Ghaziabad >เผ’8448380779 Escort Service
Busty DesiโšกCall Girls in Vasundhara Ghaziabad >เผ’8448380779 Escort Service
ย 
Call Girls in Prashant Vihar, Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9953056974 ๐Ÿ” Escort Service
Call Girls in Prashant Vihar, Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9953056974 ๐Ÿ” Escort ServiceCall Girls in Prashant Vihar, Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9953056974 ๐Ÿ” Escort Service
Call Girls in Prashant Vihar, Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9953056974 ๐Ÿ” Escort Service
ย 
๐“€คCall On 7877925207 ๐“€ค Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
๐“€คCall On 7877925207 ๐“€ค Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...๐“€คCall On 7877925207 ๐“€ค Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
๐“€คCall On 7877925207 ๐“€ค Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
ย 
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
ย 
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
ย 
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls DubaiDubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
ย 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
ย 
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
ย 
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
ย 
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
ย 

Orchestrating Docker containers at scale

  • 1. Maciej Lasyk Jesieล„ Linuksowa 2014 Szczyrk, 2014-11-09 Maciej Lasyk, Docker containers at scale 1/64 Orchestrating Docker containers at scale
  • 2. Join Fedora Infrastructure! - learn Ansible - learn Docker with Fedora Dockerfiles http://fedoraproject.org/en/join-fedora Maciej Lasyk, Docker containers at scale 2/64
  • 3. Agenda - Why use Docker? - Brief history of envs evolution - Docker โ€“ what is it? - To PaaS or not to PaaS - Orchestration at scale Maciej Lasyk, Docker containers at scale 3/64
  • 4. Quick survey - How many of you... - Knows what Docker is? - Played with Docker? - Runs it on production? Maciej Lasyk, Docker containers at scale 4/64
  • 5. Why use Docker? With Docker we can solve many problems - โ€œit works on my machineโ€ - reducing build & deploy time - Infrastructure configuration spaghetti โ€“ automation! - Libs dependency hell - Cost control and granularity Maciej Lasyk, Docker containers at scale 5/64
  • 6. A brief story of envs evolution - classical approach (for & scp/ssh & conf.d) - configuration management - Bare vs IaaS vs PaaS - Continuous Integration - So when to use Docker? Maciej Lasyk, Docker containers at scale 6/64
  • 7. Docker โ€“ what is it? Maciej Lasyk, Docker containers at scale 7/64
  • 8. Docker โ€“ what is it? โ€œautomates the deployment of any application as a lightweight, portable, self-sufficient container that will run virtually anywhereโ€ Maciej Lasyk, Docker containers at scale 8/64
  • 9. Docker โ€“ what is it? Javaโ€™s promise: Write Once. Run Anywhere. Even on Windows now! https://blog.docker.com/2014/10/docker-microsoft-partner-distributed-applications/ Maciej Lasyk, Docker containers at scale 9/64
  • 10. Docker โ€“ what is it? Docker is lightweight ====================================================== Package Arch Version Repository Size ====================================================== Installing: docker-io x86_64 1.3.0-1.fc20 updates 4.3 M Maciej Lasyk, Docker containers at scale 10/64
  • 11. Docker โ€“ what is it? http://sattia.blogspot.com/2014/05/docker-lightweight-linux-containers-for.html Maciej Lasyk, Docker containers at scale 11/64
  • 12. Docker โ€“ how it works? http://blog.docker.com/2014/03/docker-0-9-introducing-execution-drivers-and-libcontainer/ Maciej Lasyk, Docker containers at scale 12/64
  • 13. Docker โ€“ how it works? - LXC & libcontainer - control groups - kernel namespaces - layered filesystem - btrfs - devmapper thin provisioning & loopback mounts - no more AUFS - http://developerblog.redhat.com/2014/09/30/overview-storage-scalability-docker/ Maciej Lasyk, Docker containers at scale 13/64
  • 14. Docker โ€“ concepts - images - read only - act as templates - Dockerfile - like a makefile - commands order & cache'ing - extends the base image - results in a new image - Containers: instances running apps dockerfile + base image = docker container Maciej Lasyk, Docker containers at scale 14/64
  • 15. Dockerfile FROM fedora MAINTAINER scollier <scollier@redhat.com> RUN yum -y update && yum clean all RUN yum -y install nginx && yum clean all RUN echo "daemon off;" >> /etc/nginx/nginx.conf RUN echo "nginx on Fedora" > /srv/www/index.html EXPOSE 80 CMD [ "/usr/sbin/nginx" ] Maciej Lasyk, Docker containers at scale 15/64
  • 16. Docker โ€“ registry http://osv.io/blog/blog/2014/06/19/containers-hypervisors-part-2/ Maciej Lasyk, Docker containers at scale 16/64
  • 17. Docker โ€“ registry - git like semantics - pull, push, commit - private and public registry - https://github.com/dotcloud/docker-registry - yum install docker-registry $ docker pull $ docker push $ docker commit Maciej Lasyk, Docker containers at scale 17/64
  • 18. Docker โ€“ images hierarchy base image -> child image -> grandchild image Gitโ€™s promise: Tiny footprint with lightning fast performance Maciej Lasyk, Docker containers at scale 18/64
  • 19. Docker โ€“ images hierarchy http://blog.octo.com/en/docker-registry-first-steps/ Maciej Lasyk, Docker containers at scale 19/64
  • 20. Docker โ€“ security - Isolation via kernel namespaces - Additional layer of security: SELinux / AppArmor / GRSEC - Each container gets own network stack - control groups for resources limiting f20 policy: https://git.fedorahosted.org/cgit/selinux-policy.git/tree/docker.te?h=f20-contrib What's there? seinfo -t -x | grep docker sesearch -A -s docker_t (and the rest) or just unpack docker.pp with semodule_unpackage Maciej Lasyk, Docker containers at scale 20/64
  • 21. Docker โ€“ use cases CI Stack http://sattia.blogspot.com/2014/05/docker-lightweight-linux-containers-for.html Maciej Lasyk, Docker containers at scale 21/64
  • 22. Docker โ€“ use cases Continuous Integration - local dev - with Docker it's easy to standardize envs - deployment - rolling updates (e.g. w/Ansible) - testing - unit testing of any commit on dedicated env - don't worry about cleaning up after testing - parrarelized tests across any machines Maciej Lasyk, Docker containers at scale 22/64
  • 23. Docker โ€“ use cases - version control system for apps - microservices - Docker embraces granularity - Services can be deployed independently and faster - parallelized tests across any machines - continuous delivery - PaaS Maciej Lasyk, Docker containers at scale 23/64
  • 24. Docker โ€“ history - 2013-01: dotCloud worked on own PaaS (Python based) - 2013-03: Docker went public (AUFS, LXC) - middle 2013: Red Hat joined, devmapper, SELinux - late 2013: removed LXC, rewritten in Go - 2014-02: stable 1.0 Maciej Lasyk, Docker containers at scale 24/64
  • 25. Docker โ€“ popularity Maciej Lasyk, Docker containers at scale 25/64
  • 26. Docker โ€“ popularity Maciej Lasyk, Docker containers at scale 26/64
  • 27. Orchestration at scale w/Docker Maciej Lasyk, Docker containers at scale 27/64
  • 28. Orchestration at scale w/Docker This might be a little problem Maciej Lasyk, Docker containers at scale 28/64
  • 29. Orchestration at scale w/Docker This might be a little problem Maciej Lasyk, Docker containers at scale 29/64
  • 30. Orchestration at scale w/Docker Maciej Lasyk, Docker containers at scale 30/64
  • 32. To Paas or not to PaaS? Maciej Lasyk, Docker containers at scale 32/64
  • 33. To Paas or not to PaaS? - you think PaaS will solve your problems? - it will rather clone them :) - running PaaS might be easy - operating PaaS will be tough - so is operating your apps tough enough to move? - private PaaS or not? - Rainbow and Unicorn Piss: http://blog.lusis.org/blog/2014/06/14/paas-for-realists/ Maciej Lasyk, Docker containers at scale 33/64
  • 34. To Paas or not to PaaS? Maciej Lasyk, Docker containers at scale - flynn.io - Open source PaaS (Go) - Uses Docker to manage containers - Git push deployment - https://flynn.io - dokku - The smallest PaaS implementation you've ever seen - Less than 100 lines of Bash - Git push deployment - https://github.com/progrium/dokku - deis.io - Open source PaaS (Python) - Git push deployment - On top of CoreOS w/ Docker - http://deis.io/ 34/64
  • 35. To Paas or not to PaaS? Remember, that PaaS might fail; plan & test for disaster ! Maciej Lasyk, Docker containers at scale 35/64
  • 36. Docker & CLI $ docker run -t -i fedora /bin/bash > yum -y update > yum -y install nginx $ docker commit 73fa45674fd docent/fedora Maciej Lasyk, Docker containers at scale 36/64
  • 37. Docker & CLI Or via Dockerfile: $ docker build -t fedora โ€“rm . $ docker run --name=nginx fedora Maciej Lasyk, Docker containers at scale 37/64
  • 38. FIG - http://www.fig.sh - for single host env Maciej Lasyk, Docker containers at scale 38/64
  • 39. FIG - http://www.fig.sh - for single host env FROM python:2.7 ENV PYTHONUNBUFFERED 1 RUN mkdir /code WORKDIR /code ADD requirements.txt /code/ RUN pip install -r requirements.txt ADD . /code/ Maciej Lasyk, Docker containers at scale 39/64
  • 40. FIG db: image: postgres web: build: . command: python manage.py runserver 0.0.0.0:8000 volumes: - /srv/app/code:/code ports: - "8000:8000" links: - db Maciej Lasyk, Docker containers at scale 40/64
  • 41. FIG $ fig run web django-admin.py startproject figexample . $ fig up Management during runtime? $ fig run web python manage.py syncdb Maciej Lasyk, Docker containers at scale 41/64
  • 42. Docker & Ansible Ansible + Docker Vs Docker + Ansible Maciej Lasyk, Docker containers at scale 42/64
  • 43. Docker & Ansible Ansible docker core module: http://docs.ansible.com/docker_module.html - hosts: web sudo: yes tasks: - name: run tomcat servers docker: > image=centos command="service tomcat6 start" ports=8080 count=5 memory_limit=128MB link=mysql expose=8080 registry=... volume=... Maciej Lasyk, Docker containers at scale 43/64
  • 44. Docker & Ansible Building image with Ansible: FROM ansible/centos7-ansible:stable ADD ansible /srv/example/ WORKDIR /srv/example RUN ansible-playbook web.yml -c local EXPOSE 80 ENTRYPOINT ["/usr/sbin/nginx", "-DFOREGROUND"] ansible/web.yml: - hosts: localhost tasks: - yum: pkg=nginx state=latest - copy: src: web.conf dest: /etc/nginx/conf.d/web.conf group: "nginx" mode: "0644" Maciej Lasyk, Docker containers at scale 44/64
  • 45. CoreOS - Designedfor massive server deployments - Support Docker container out of the box - Available onLinux, Mac, and Windows - It's a Chrome OS fork - Consists of couple of components: - SystemD โ€“ not just a init system ;) - Fleet โ€“ cluster level manager & scheduler - etcd โ€“ light & distributed key / value store - Docker โ€“ the only packaging method in CoreOS Maciej Lasyk, Docker containers at scale 45/64
  • 46. CoreOS Fleet โ€“ cluster level manager & scheduler https://coreos.com/using-coreos/clustering/ Maciej Lasyk, Docker containers at scale 46/64
  • 47. CoreOS etcd โ€“ light & distributed key / value store (used for configuration store) https://coreos.com/docs/#cluster-management Maciej Lasyk, Docker containers at scale 47/64
  • 48. CoreOS Docker โ€“ the only packaging method in CoreOS Maciej Lasyk, Docker containers at scale 48/64
  • 49. CoreOS Maciej Lasyk, Docker containers at scale 49/64
  • 50. CoreOS Cluster management with Fleet & SystemD [Unit] Description=My Service After=docker.service [Service] TimeoutStartSec=0 ExecStartPre=-/usr/bin/docker kill hello ExecStartPre=-/usr/bin/docker rm hello ExecStartPre=/usr/bin/docker pull busybox ExecStart=/usr/bin/docker run --name hello busybox /bin/sh -c "while true; do echo Hello World; sleep 1; done" ExecStop=/usr/bin/docker stop hello Maciej Lasyk, Docker containers at scale 50/64
  • 51. CoreOS Cluster management with Fleet & SystemD $ fleetctl load hello.service Unit hello.service loaded on 8145ebb7.../10.10.1.3 $ fleetctl start hello.service Unit hello.service launched on 8145ebb7.../10.10.1.3 $ fleetctl list-machines MACHINE IP METADATA 148a18ff-6e95-4cd8-92da-c9de9bb90d5a 10.10.1.1 - 491586a6-508f-4583-a71d-bfc4d146e996 10.10.1.2 - c9de9451-6a6f-1d80-b7e6-46e996bfc4d1 10.10.1.3 - $ fleetctl list-units UNIT MACHINE ACTIVE SUB hello.service c9de9451.../10.10.1.3 active running Maciej Lasyk, Docker containers at scale 51/64
  • 52. CoreOS - scheduler - HA - dependencies https://coreos.com/docs/launching-containers/launching/launching-containers-fleet/ Maciej Lasyk, Docker containers at scale 52/64
  • 53. Kubernetes - https://github.com/GoogleCloudPlatform/kubernetes - Advanced cluster manager (more than 1k hosts is a fit) - Architecture: - master - minion - pod - replication controller - label Maciej Lasyk, Docker containers at scale 53/64
  • 54. Kubernetes Maciej Lasyk, Docker containers at scale 54/64
  • 55. SmartStack - automated service discovery and registration framework - ideal for SOA architectures - ideal for continuous integration & delivery - solves โ€œworks on my machineโ€ problem haproxy + nerve + synapse + zookeper = smartstack Maciej Lasyk, Docker containers at scale 56/64
  • 56. SmartStack Synapse - discovery service (via zookeeper or etcd) - installed on every node - writes haproxy configuration - application doesn't have to be aware of this - works same on bare / VM / docker - https://github.com/airbnb/nerve Maciej Lasyk, Docker containers at scale 57/64
  • 57. SmartStack Maciej Lasyk, Docker containers at scale 58/64
  • 58. SmartStack Nerve - health checks (pluggable) - register service info to zookeper (or etcd) - https://github.com/airbnb/synapse Maciej Lasyk, Docker containers at scale 59/64
  • 59. SmartStack Maciej Lasyk, Docker containers at scale 60/64
  • 60. Summary Maciej Lasyk, Docker containers at scale 61/64
  • 61. Summary w/ Docker Sky is the limit! Maciej Lasyk, Docker containers at scale 61/64
  • 62. Freenode #docker Krk DevOPS meetups (http://www.meetup.com/Krakow-DevOps/) https://github.com/docker/docker Maciej Lasyk, Docker containers at scale 62/64
  • 63. sources? - docker.io documentation - dockerbook.com - slideshare! - zounds of blogposts (urls provided) - and some experience ;) Maciej Lasyk, Docker containers at scale 63/64
  • 64. Thank you :) Orchestrating Docker containers at scale Maciej Lasyk Jesieล„ Linuksowa 2014 2014-11-09, Szczyrk http://maciej.lasyk.info maciej@lasyk.info @docent-net Maciej Lasyk, Docker containers at scale 64/64