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

Vagrant, LXC, Docker etc. - Entenda as diferenças - PHP Experience 2016

Vagrant, LXC, Docker etc. - Entenda as diferenças - PHP Experience 2016

Apresentação "Vagrant LXC Docker etc. - Entenda as diferenças" feita na PHP Experience 2016. Mais info: https://joind.in/event/php-experience-2016/vagrant-lxc-docker-etc-entenda-as-diferenas

Fa0b13702afa64fedd14770fa87dd1fa?s=128

Rogerio Prado de Jesus

March 22, 2016
Tweet

Transcript

  1. Vagrant, LXC, Docker etc. Entenda as diferenças Rogerio Prado de

    Jesus - https://rogeriopradoj.com/about PHP Experience 2016, março - https://joind.in/talk/da5bb
  2. None
  3. Ambiente de desenvolvimento

  4. Pessoa nova na equipe...

  5. … quanto tempo gasto antes de começar a programar...

  6. ...pois está montando ambiente DEV?

  7. Mais tempo disponível em DEV = Mais $$$

  8. http://vidadesuporte.com.br/ QUEM NUNCA?

  9. Tempo perdido com ambientes divergentes

  10. Paridade DEV / PROD

  11. Isolamento de ambiente Automação da montagem do ambiente

  12. Virtualização Containers Provisionamento

  13. Vagrant Development environments made easy. Create and configure lightweight, reproducible

    and portable dev environments. https://www.vagrantup.com/
  14. Vagrant - provider - provisioner - box - CLI -

    Vagrantfile - Receitas - Reutilização de imagens base - Código, IDE, navegador continuam do lado de cá
  15. - Primeira ferramenta que juntava tudo - CLI simples: $

    vagrant up - Maduro - Extensibilidade - Curva de aprendizagem - Marcado pela deficiências do VirtualBox - Marcado como apenas para VMs e aplicações "monolito"
  16. Microserviços Paridade DEV/PROD

  17. LXC the well known set of tools, templates, library and

    language bindings. It's pretty low level, very flexible and covers just about every containment feature supported by the upstream kernel. https://linuxcontainers.org/
  18. "Container é um grupo de processos rodando de forma isolada.

    Compartilham [...] kernel, mas tem usuários e recursos (memória e cpu) isolados [...]. Container Engines são ferramentas que pegam uma imagem de um sistema e executa essa imagem na forma de um container. O isolamento [...] é feito pelo [...] sistema de baixo nível, o LXC [no caso do Docker Engine] " @gullitmiranda, Desenvolvedor na Azuki
  19. Build, Ship, and Run Any App, Anywhere. An open platform

    for distributed applications for developers and sysadmins. https://www.docker.com/ Docker
  20. - Engine + CLI - Layered F.S. - Hub /

    Registry - Dockerfile Docker
  21. - Inicialização + rápida ambientes - Simplifica o uso de

    containers - Paridade Dev/Prod maior - Família de ferramentas evoluindo - opencontainers.org - Não facilita outros provisionadores (além do shell script do Dockerfile) - VM em alguns hosts - Docker imagens não serão compartilhadas entre SOs com containers diferentes
  22. E como juntamos esses múltiplos containers?

  23. Vagrant azk open-source orchestrator for local development environments. http://www.azk.io/ Docker-compose

    Vagrant Docker provisioner can automatically install Docker, pull Docker containers, and configure certain containers to run on boot. The Docker provider in Vagrant behaves just like any other provider. https://www.vagrantup.com/docs/ tool for defining and running multi- container Docker applications https://docs.docker.com/compose/
  24. Rogério, de todas essas soluções, qual é a melhor para

    minha empresa?
  25. Sugestão:

  26. @wsilva, Especialista Docker, Comunidade PHPSP "[...] numa aplicação "monolito", pode

    ir de Vagrant + VM, numa aplicação separada em serviços, Docker + orquestração[...]"
  27. Avalie com Devs e Ops, e monte o seu!

  28. Feedback https://joind.in/talk/da5bb ROGERIO PRADO DE JESUS @RogerioPradoJ https://rogeriopradoj.com/about/ PHPSP http://phpsp.org.br/