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 full-size slide

  2. Ambiente de
    desenvolvimento

    View full-size slide

  3. Pessoa nova na
    equipe...

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  8. Tempo perdido
    com ambientes
    divergentes

    View full-size slide

  9. Paridade
    DEV / PROD

    View full-size slide

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

    View full-size slide

  11. Virtualização
    Containers
    Provisionamento

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  14. - 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 full-size slide

  15. Microserviços
    Paridade
    DEV/PROD

    View full-size slide

  16. 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 full-size slide

  17. "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 full-size slide

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

    View full-size slide

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

    View full-size slide

  20. - 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 full-size slide

  21. E como
    juntamos esses
    múltiplos
    containers?

    View full-size slide

  22. 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 full-size slide

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

    View full-size slide

  24. @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 full-size slide

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

    View full-size slide

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

    View full-size slide