Post on 15-Feb-2017
APLICAÇÃO DISTRIBUIDA COM DOCKER SWARM
MEETUP GRUPY SP - DEVOPS
WHO AM I?
WELLINGTON F. SILVA
▸ AKA: wsilva | boina | tom | fisi
▸ Pai
▸ Técnico Telecom
▸ Programador
▸ Instrutor
▸ DevOps
▸ Escritor
AGENDA
▸ Virtualização
▸ Virtual Machine x Contêineres
▸ Docker
▸ Histórico
▸ Demo com Compose e Swarm
▸ Adoção do Docker
O QUE É DOCKER?
FERRAMENTA PARA VIRTUALIZAÇÃO NO NÍVEL DO SISTEMAS OPERACIONAL
by wsilva
O QUE É O DOCKER?
TIPOS DE VIRTUALIZAÇÃO
O QUE É O DOCKER?
TIPOS DE VIRTUALIZAÇÃO
▸ Full Virtualization
O QUE É O DOCKER?
TIPOS DE VIRTUALIZAÇÃO
▸ Full Virtualization
▸ Partial Virtualization
O QUE É O DOCKER?
TIPOS DE VIRTUALIZAÇÃO
▸ Full Virtualization
▸ Partial Virtualization
▸ Paravirtualization
O QUE É O DOCKER?
TIPOS DE VIRTUALIZAÇÃO
▸ Full Virtualization
▸ Partial Virtualization
▸ Paravirtualization
▸ OS Level Virtualization
O QUE É O DOCKER?
TIPOS DE VIRTUALIZAÇÃO
▸ Full Virtualization
▸ Partial Virtualization
▸ Paravirtualization
▸ OS Level Virtualization <= DOCKER
VMS X CONTÊINERES
SERVIDORSERVIDOR
HOST OSHOST OS
CONTAINER ENGINEHYPERVISOR
BINS/LIBSGUEST OS BINS/LIBSGUEST OS
BINS/LIBS BINS/LIBS APP APP
APP APP
VM VM
Container Container
VMs x Contêineres
SERVIDORSERVIDOR
DEBIAN LINUXDEBIAN LINUX
DOCKERVIRTUALBOX
BINS/LIBSCENTOS LINUX BINS/LIBSUBUNTU LINUX
BINS/LIBS BINS/LIBS NGINX MYSQL
NGINX MYSQL
VM VM
Container Container
VMs x Contêineres
COMO FUNCIONA?
PROCESSOS +
KERNEL NAMESPACES +
CGROUPS
PROCESSOS PID=1
KERNEL NAMESPACES (O QUE O PROCESSO PODE VER)
COMO FUNCIONA?
KERNEL NAMESPACES
▸ IPC - interprocess communication
COMO FUNCIONA?
KERNEL NAMESPACES
▸ IPC - interprocess communication
▸ PID - Processos
COMO FUNCIONA?
KERNEL NAMESPACES
▸ IPC - interprocess communication
▸ PID - Processos
▸ NET- rede
COMO FUNCIONA?
KERNEL NAMESPACES
▸ IPC - interprocess communication
▸ PID - Processos
▸ NET- rede
▸ UTS - Unix timesharing system, recursos do kernel
COMO FUNCIONA?
KERNEL NAMESPACES
▸ IPC - interprocess communication
▸ PID - Processos
▸ NET- rede
▸ UTS - Unix timesharing system, recursos do kernel
▸ USER - usuários
COMO FUNCIONA?
KERNEL NAMESPACES
▸ IPC - interprocess communication
▸ PID - Processos
▸ NET- rede
▸ UTS - Unix timesharing system, recursos do kernel
▸ USER - usuários
▸ MNT - filesystem e pontos de montagem
CGROUPS (O QUE O PROCESSO PODE USAR)
COMO FUNCIONA?
CGROUPS
▸ CPU
COMO FUNCIONA?
CGROUPS
▸ CPU
▸ Memória
COMO FUNCIONA?
CGROUPS
▸ CPU
▸ Memória
▸ I/O em disco
COMO FUNCIONA?
CGROUPS
▸ CPU
▸ Memória
▸ I/O em disco
▸ Interface de rede
COMO FUNCIONA?
CGROUPS
▸ CPU
▸ Memória
▸ I/O em disco
▸ Interface de rede
▸ Hardwares periféricos (pen drive, camera, etc)
HISTÓRICO
HISTÓRICO
HISTÓRIA
▸ 21/03/2013 1ª Demo
HISTÓRICO
HISTÓRIA
▸ 21/03/2013 1ª Demo
▸ Opensource(Apache License 2.0)
HISTÓRICO
HISTÓRIA
▸ 21/03/2013 1ª Demo
▸ Opensource(Apache License 2.0)
▸ Base para dotCloud
HISTÓRICO
HISTÓRIA
▸ 21/03/2013 1ª Demo
▸ Opensource(Apache License 2.0)
▸ Base para dotCloud
▸ 23/07/2013 - Ben Golub, CEO da Gluster e da Plaxo se une ao time
HISTÓRICO
HISTÓRIA
▸ 21/03/2013 1ª Demo
▸ Opensource(Apache License 2.0)
▸ Base para dotCloud
▸ 23/07/2013 - Ben Golub, CEO da Gluster e da Plaxo se une ao time
▸ 22/01/2014 2º aporte de US$ 15 mi
HISTÓRICO
HISTÓRIA
▸ 23/07/2014 Compra da Orchard (FIG)
HISTÓRICO
HISTÓRIA
▸ 23/07/2014 Compra da Orchard (FIG)
▸ 16/09/2014 3º aporte US$ 40 mi
HISTÓRICO
HISTÓRIA
▸ 23/07/2014 Compra da Orchard (FIG)
▸ 16/09/2014 3º aporte US$ 40 mi
▸ 15/10/2014 Microsoft anuncia Docker no Windows 2016 sever
HISTÓRICO
HISTÓRIA
▸ 23/07/2014 Compra da Orchard (FIG)
▸ 16/09/2014 3º aporte US$ 40 mi
▸ 15/10/2014 Microsoft anuncia Docker no Windows 2016 sever
▸ dez/2014 compose, swarm, machine
HISTÓRICO
HISTÓRIA
▸ 23/07/2014 Compra da Orchard (FIG)
▸ 16/09/2014 3º aporte US$ 40 mi
▸ 15/10/2014 Microsoft anuncia Docker no Windows 2016 sever
▸ dez/2014 compose, swarm, machine
▸ 14/04/2015 4º aporte US$ 95 mi
HISTÓRICO
HISTÓRIA
▸ 22/06/2015 Open Container Initiative
HISTÓRICO
HISTÓRIA
▸ 22/06/2015 Open Container Initiative
▸ 29/02/2016 fim da dotCloud
HISTÓRICO
HISTÓRIA
▸ 22/06/2015 Open Container Initiative
▸ 29/02/2016 fim da dotCloud
▸ 20/06/2016 Docker for Mac and Windows
HISTÓRICO
HISTÓRIA
▸ 22/06/2015 Open Container Initiative
▸ 29/02/2016 fim da dotCloud
▸ 20/06/2016 Docker for Mac and Windows
▸ 28/07/2016 Docker 1.12 com Swarmkit
E O SWARM?
E A APLIÇÃO?
PRAY FOR DEMO GODShttps://github.com/wsilva/demo-flask-swarm
ADOÇÃO
TO BE CONTINUED…
MAIS SOBRE DOCKER
▸ https://docs.docker.com
▸ https://telegram.me/dockerbr
▸ http://docker-br.herokuapp.com
▸ https://community.docker.com
▸ http://bit.ly/curso-docker
▸ https://www.meetup.com/Docker-Sao-Paulo/