vagrant vs docker? melhor vagrant + docker
Post on 16-Apr-2017
476 Views
Preview:
TRANSCRIPT
Vagrant vs Docker?Melhor Vagrant + Docker
About me$nome = 'Wellington F. Silva';$nick = ['_wsilva, 'tom', 'boina', 'fisi', 'iéié'];$work = 'devop';$background = '~2000';$titles = ['ZCE PHP 5.3', 'Técnico Telecom', 'Quase Bacharel SI - USP'];$contact = ['twitter' => '_wsilva'];
Overview● Problema da padronização● Soluções● Virtualização● Conteinerização● Comparação● Vagrant● Demo● Bate papo
O problema
O problema
O problema
O problema
Exemplos:● php substr vs mb_substr
O problema
Exemplos:● php substr vs mb_substr● valor default current_timestamp (MySQL vs
Percona)
Soluções
● Trabalhar direto no servidor (FTP)
Soluções
● Trabalhar direto no servidor (FTP)● Montar na unha o ambiente de cada projeto
Soluções
● Trabalhar direto no servidor (FTP)● Montar na unha o ambiente de cada projeto● Virtualizar
Soluções
● Trabalhar direto no servidor (FTP)● Montar na unha o ambiente de cada projeto● Virtualizar● Conteinerizar
Virtualização
Virtualização
● 1960 - cpu time sharing (inspiração)
Virtualização
● 1960 - cpu time sharing (inspiração)● IBM 370 - Projetado para virtualização. Via
softare com o CP/CMS.
Virtualização
● 1960 - cpu time sharing (inspiração)● IBM 370 - Projetado para virtualização. Via
softare com o CP/CMS.● IBM z/VM - Case de sucesso com
virtualização por hardware.
Virtualização
● 1960 - cpu time sharing (inspiração)● IBM 370 - Projetado para virtualização. Via
softare com o CP/CMS.● IBM z/VM - Case de sucesso com
virtualização por hardware.● Decada de 90 em diante: VMWare, Xen,
KVM, VirtualBox, etc...
Virtualização
Virtualização
Vantagem:● Mesma VM nos ambientes dev, homolog e
prod
Virtualização
Vantagem:● Mesma VM nos ambientes dev, homolog e
prod● Padronização de ambientes.
Virtualização
Desvantagens:● Montagem e inicialização lentos
Virtualização
Desvantagens:● Montagem e inicialização lentos● Gasta muitos recursos de hardware.
Virtualização
Next Step● Técnicas de imagem e snapshots
Virtualização
Next Step● Técnicas de imagem e snapshots● Automação de montagens (Vagrant, Chef,
Puppet, Ansible)
Sistemas complexos
Sistemas complexos
● Difícil reproduzir todos os componentes em dev. (5, 6, 7 até 10 VMs)
Sistemas complexos
● Difícil reproduzir todos os componentes em dev. (5, 6, 7 até 10 VMs)
● Problemas de detalhes de comunicação entre serviços
Sistemas complexos
● Difícil reproduzir todos os componentes em dev. (5, 6, 7 até 10 VMs)
● Problemas de detalhes de comunicação entre serviços
● Difícil testar escalabilidade da aplicação
Conteinerização
Conteinerização
LXC - Linux Containers:● Jul / 2008 - Kernel 2.6.26 +
LXC - Linux Containers:● Jul / 2008 - Kernel 2.6.26 + ● lxc-start
Conteinerização
LXC - Linux Containers:● Jul / 2008 - Kernel 2.6.26 + ● lxc-start● compartilha kernel e libs com o host
Conteinerização
LXC - Linux Containers:● Jul / 2008 - Kernel 2.6.26 + ● lxc-start● compartilha kernel e libs com o host● isola processo nos Control Groups
(CGroups)
Conteinerização
LXC - Linux Containers:● Jul / 2008 - Kernel 2.6.26 + ● lxc-start● compartilha kernel e libs com o host● isola processo nos Control Groups
(CGroups)● difícil gerenciar
Conteinerização
Conteinerização
Docker● Copy on Write
Conteinerização
Docker● Copy on Write● Compartilhamento de imagens (Docker Hub)
Conteinerização
Docker● Copy on Write● Compartilhamento de imagens (Docker Hub)● Receita para criação de container
(Dockerfile)
Conteinerização
Docker● Copy on Write● Compartilhamento de imagens (Docker Hub)● Receita para criação de container
(Dockerfile)● Camada de Api REST
Conteinerização
Docker● Copy on Write● Compartilhamento de imagens (Docker Hub)● Receita para criação de container
(Dockerfile)● Camada de Api REST● Inovando (machine, compose, swarm, etc)
Conteinerização
Conteinerização
Vantagens● sobe muito rápido
Conteinerização
Vantagens● sobe muito rápido● otimiza recursos
Conteinerização
Vantagens● sobe muito rápido● otimiza recursos● fácil replicação
Conteinerização
Vantagens● sobe muito rápido● otimiza recursos● fácil replicação● inovações crescentes (opencontainers.org)
Conteinerização
Desvantagens● Overhead de IO
Conteinerização
Desvantagens● Overhead de IO● Não tão isolado
Conteinerização
Desvantagens● Overhead de IO● Não tão isolado● Só host Linux e conteiners Linux
Conteinerização
Next Steps● suporte ativo a freebsd
Conteinerização
Next Steps● suporte ativo a freebsd● mac osx e windows precisam de uma VM
linux que serve de host para os conteiners
Conteinerização
Next Steps● suporte ativo a freebsd● mac osx e windows precisam de uma VM
linux que serve de host para os conteiners● problema com lentidão de leitura e
permissão de arquivos (vbox-share)
Conteinerização
Next Steps● suporte nativo a freebsd● mac osx e windows precisam de uma VM
linux que sirva de host para os conteiners● problema com lentidão de leitura e
permissão de arquivos (vbox-share)● boot2docker limitado (vbox-share e nfs)
Conteinerização
Vagrant
● suporte a docker desde 1.4.0 (dez, 2013)
Vagrant
● suporte a docker desde 1.4.0 (dez, 2013)● suporte a rsync desde 1.5.0 (mar, 2014)
Vagrant
● suporte a docker desde 1.4.0 (dez, 2013)● suporte a rsync desde 1.5.0 (mar, 2014)● ajuda no problema com lentidão de leitura e
permissão de arquivos (vbox-share)
Vagrant
● suporte a docker desde 1.4.0 (dez, 2013)● suporte a rsync desde 1.5.0 (mar, 2014)● ajuda no problema com lentidão de leitura e
permissão de arquivos (vbox-share)● opções de compartilhamento (vbox-share,
rsync, nfs, sbmfs)
Vagrant
● suporte a docker desde 1.4.0 (dez, 2013)● suporte a rsync desde 1.5.0 (mar, 2014)● ajuda no problema com lentidão de leitura e
permissão de arquivos (vbox-share)● opções de compartilhamento (vbox-share,
rsync, nfs, sbmfs)● Permite outras VMs (CoresOS, Ubuntu, etc)
Vagrant
Demo
A hora da tela azul...
Demo
Perguntas
http://bit.ly/talk-vagrant-docker https://joind.in/14828
top related