Vagrant vs docker? Melhor vagrant + docker

378 visualizações

Publicada em

Apresentado no segundo meetup de Vagrant em São Paulo - Dia 06/07/2015

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
378
No SlideShare
0
A partir de incorporações
0
Número de incorporações
11
Ações
Compartilhamentos
0
Downloads
12
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Vagrant vs docker? Melhor vagrant + docker

  1. 1. Vagrant vs Docker? Melhor Vagrant + Docker
  2. 2. 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'];
  3. 3. Overview ● Problema da padronização ● Soluções ● Virtualização ● Conteinerização ● Comparação ● Vagrant ● Demo ● Bate papo
  4. 4. O problema
  5. 5. O problema
  6. 6. O problema
  7. 7. O problema Exemplos: ● php substr vs mb_substr
  8. 8. O problema Exemplos: ● php substr vs mb_substr ● valor default current_timestamp (MySQL vs Percona)
  9. 9. Soluções ● Trabalhar direto no servidor (FTP)
  10. 10. Soluções ● Trabalhar direto no servidor (FTP) ● Montar na unha o ambiente de cada projeto
  11. 11. Soluções ● Trabalhar direto no servidor (FTP) ● Montar na unha o ambiente de cada projeto ● Virtualizar
  12. 12. Soluções ● Trabalhar direto no servidor (FTP) ● Montar na unha o ambiente de cada projeto ● Virtualizar ● Conteinerizar
  13. 13. Virtualização
  14. 14. Virtualização ● 1960 - cpu time sharing (inspiração)
  15. 15. Virtualização ● 1960 - cpu time sharing (inspiração) ● IBM 370 - Projetado para virtualização. Via softare com o CP/CMS.
  16. 16. 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.
  17. 17. 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...
  18. 18. Virtualização
  19. 19. Virtualização Vantagem: ● Mesma VM nos ambientes dev, homolog e prod
  20. 20. Virtualização Vantagem: ● Mesma VM nos ambientes dev, homolog e prod ● Padronização de ambientes.
  21. 21. Virtualização Desvantagens: ● Montagem e inicialização lentos
  22. 22. Virtualização Desvantagens: ● Montagem e inicialização lentos ● Gasta muitos recursos de hardware.
  23. 23. Virtualização Next Step ● Técnicas de imagem e snapshots
  24. 24. Virtualização Next Step ● Técnicas de imagem e snapshots ● Automação de montagens (Vagrant, Chef, Puppet, Ansible)
  25. 25. Sistemas complexos
  26. 26. Sistemas complexos ● Difícil reproduzir todos os componentes em dev. (5, 6, 7 até 10 VMs)
  27. 27. 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
  28. 28. 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
  29. 29. Conteinerização
  30. 30. Conteinerização LXC - Linux Containers: ● Jul / 2008 - Kernel 2.6.26 +
  31. 31. LXC - Linux Containers: ● Jul / 2008 - Kernel 2.6.26 + ● lxc-start Conteinerização
  32. 32. LXC - Linux Containers: ● Jul / 2008 - Kernel 2.6.26 + ● lxc-start ● compartilha kernel e libs com o host Conteinerização
  33. 33. 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
  34. 34. 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
  35. 35. Conteinerização
  36. 36. Docker ● Copy on Write Conteinerização
  37. 37. Docker ● Copy on Write ● Compartilhamento de imagens (Docker Hub) Conteinerização
  38. 38. Docker ● Copy on Write ● Compartilhamento de imagens (Docker Hub) ● Receita para criação de container (Dockerfile) Conteinerização
  39. 39. Docker ● Copy on Write ● Compartilhamento de imagens (Docker Hub) ● Receita para criação de container (Dockerfile) ● Camada de Api REST Conteinerização
  40. 40. 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
  41. 41. Conteinerização
  42. 42. Vantagens ● sobe muito rápido Conteinerização
  43. 43. Vantagens ● sobe muito rápido ● otimiza recursos Conteinerização
  44. 44. Vantagens ● sobe muito rápido ● otimiza recursos ● fácil replicação Conteinerização
  45. 45. Vantagens ● sobe muito rápido ● otimiza recursos ● fácil replicação ● inovações crescentes (opencontainers.org) Conteinerização
  46. 46. Desvantagens ● Overhead de IO Conteinerização
  47. 47. Desvantagens ● Overhead de IO ● Não tão isolado Conteinerização
  48. 48. Desvantagens ● Overhead de IO ● Não tão isolado ● Só host Linux e conteiners Linux Conteinerização
  49. 49. Next Steps ● suporte ativo a freebsd Conteinerização
  50. 50. Next Steps ● suporte ativo a freebsd ● mac osx e windows precisam de uma VM linux que serve de host para os conteiners Conteinerização
  51. 51. 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
  52. 52. 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
  53. 53. Vagrant
  54. 54. ● suporte a docker desde 1.4.0 (dez, 2013) Vagrant
  55. 55. ● suporte a docker desde 1.4.0 (dez, 2013) ● suporte a rsync desde 1.5.0 (mar, 2014) Vagrant
  56. 56. ● 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
  57. 57. ● 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
  58. 58. ● 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
  59. 59. Demo
  60. 60. A hora da tela azul... Demo
  61. 61. Perguntas
  62. 62. http://bit.ly/talk-vagrant-docker https://joind.in/14828

×