Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Talk Docker e Vagrant

Talk Docker e Vagrant

Apresentado no segundo meetup de Vagrant em São Paulo.

Wellington F. Silva

July 06, 2015
Tweet

More Decks by Wellington F. Silva

Other Decks in Technology

Transcript

  1. 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'];
  2. Overview • Problema da padronização • Soluções • Virtualização •

    Conteinerização • Comparação • Vagrant • Demo • Bate papo
  3. O problema Exemplos: • php substr vs mb_substr • valor

    default current_timestamp (MySQL vs Percona)
  4. Soluções • Trabalhar direto no servidor (FTP) • Montar na

    unha o ambiente de cada projeto • Virtualizar
  5. Soluções • Trabalhar direto no servidor (FTP) • Montar na

    unha o ambiente de cada projeto • Virtualizar • Conteinerizar
  6. Virtualização • 1960 - cpu time sharing (inspiração) • IBM

    370 - Projetado para virtualização. Via softare com o CP/CMS.
  7. 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.
  8. 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...
  9. Virtualização Next Step • Técnicas de imagem e snapshots •

    Automação de montagens (Vagrant, Chef, Puppet, Ansible)
  10. 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
  11. 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
  12. LXC - Linux Containers: • Jul / 2008 - Kernel

    2.6.26 + • lxc-start Conteinerização
  13. LXC - Linux Containers: • Jul / 2008 - Kernel

    2.6.26 + • lxc-start • compartilha kernel e libs com o host Conteinerização
  14. 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
  15. 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
  16. Docker • Copy on Write • Compartilhamento de imagens (Docker

    Hub) • Receita para criação de container (Dockerfile) Conteinerização
  17. Docker • Copy on Write • Compartilhamento de imagens (Docker

    Hub) • Receita para criação de container (Dockerfile) • Camada de Api REST Conteinerização
  18. 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
  19. Vantagens • sobe muito rápido • otimiza recursos • fácil

    replicação • inovações crescentes (opencontainers.org) Conteinerização
  20. Desvantagens • Overhead de IO • Não tão isolado •

    Só host Linux e conteiners Linux Conteinerização
  21. Next Steps • suporte ativo a freebsd • mac osx

    e windows precisam de uma VM linux que serve de host para os conteiners Conteinerização
  22. 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
  23. 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
  24. • suporte a docker desde 1.4.0 (dez, 2013) • suporte

    a rsync desde 1.5.0 (mar, 2014) Vagrant
  25. • 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
  26. • 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
  27. • 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