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

Rogerio Prado de Jesus

March 22, 2016
Tweet

More Decks by Rogerio Prado de Jesus

Other Decks in Programming

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

    View Slide

  2. View Slide

  3. Ambiente de
    desenvolvimento

    View Slide

  4. Pessoa nova na
    equipe...

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  9. Tempo perdido
    com ambientes
    divergentes

    View Slide

  10. Paridade
    DEV / PROD

    View Slide

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

    View Slide

  12. Virtualização
    Containers
    Provisionamento

    View Slide

  13. Vagrant
    Development environments made
    easy.
    Create and configure lightweight,
    reproducible and portable dev
    environments.
    https://www.vagrantup.com/

    View Slide

  14. Vagrant - provider
    - provisioner
    - box
    - CLI
    - Vagrantfile
    - Receitas
    - Reutilização de imagens base
    - Código, IDE, navegador
    continuam do lado de cá

    View Slide

  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"

    View Slide

  16. Microserviços
    Paridade
    DEV/PROD

    View Slide

  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/

    View Slide

  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

    View Slide

  19. Build, Ship, and Run Any App,
    Anywhere.
    An open platform for distributed
    applications for developers and
    sysadmins.
    https://www.docker.com/
    Docker

    View Slide

  20. - Engine + CLI
    - Layered F.S.
    - Hub / Registry
    - Dockerfile
    Docker

    View Slide

  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

    View Slide

  22. E como
    juntamos esses
    múltiplos
    containers?

    View Slide

  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/

    View Slide

  24. Rogério, de
    todas essas
    soluções, qual é
    a melhor para
    minha empresa?

    View Slide

  25. Sugestão:

    View Slide

  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[...]"

    View Slide

  27. Avalie com Devs e
    Ops, e monte o seu!

    View Slide

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

    View Slide