Vagrant & Docker: carregue seus ambientes no bolso

3.084 visualizações

Publicada em

Uma apresentação sobre Vagrant, Docker, e como estas ferramentas podem ser usadas para a criação de ambientes de fácil reprodução.

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

Sem downloads
Visualizações
Visualizações totais
3.084
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1.876
Ações
Compartilhamentos
0
Downloads
26
Comentários
0
Gostaram
5
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Vagrant & Docker: carregue seus ambientes no bolso

  1. 1. VAGRANT & DOCKER Ou carregue seus ambientes no bolso com Vagrant e Docker diogo.lucas@gmail.com
  2. 2. Primeiro, o bode na sala:
  3. 3. DOKKU
  4. 4. Servidor dokku Scripts dokku Deployment dokku Sugestões dokku?
  5. 5. voltaremos aokku ao dokku mais tarde
  6. 6. Ambientes: a) reprodutíveis b) portáveis
  7. 7. like so (demo)
  8. 8. olhando por baixo dos panos...
  9. 9. ANATOMIA DE UM ARQUIVO VAGRANT (SIM, ISSO É RUBY :)): Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| # Configurando a imagem (Vagrant) de base para a VM config.vm.box = "cbumgard/nodejs" # Configurando o redirecionamento de portas config.vm.network "forwarded_port", guest: 1948, host: 1948 # Preparando a VM, usando shell config.vm.provision "shell", inline: "cd /vagrant;npm install", privileged: "false" # Configuração (desativada) de um IP fixo para acesso do host à máquina # config.vm.network "private_network", ip: "192.168.33.10" # Configuração (desativada) de uma pasta compartilhada entre o host e a VM # config.vm.synced_folder "../data", "/vagrant_data" end
  10. 10. sim, o fluxo se resume a: $ git clone my-repo $ vagrant up
  11. 11. Ok, mas e se suas aplicações fossem portáteis?
  12. 12. PROBLEMÃO DE LOGÍSTICA ATÉ 1950: Como transportar e cobrar por cargas tão diferentes entre si?
  13. 13. A SOLUÇÃO:
  14. 14. PROBLEMÃO DE DEVOPS ATÉ 2013: Como deployar e promover aplicações tão diferentes entre si?
  15. 15. A SOLUÇÃO:
  16. 16. UM EXEMPLO COM MONGODB $ docker run --name exemplo-TDC -d mongo $ docker run -it --link exemplo-TDC:mongo --rm mongo sh -c 'exec mongo "$MONGO_PORT_27017_TCP_ADDR:$MONGO_PORT_27017_TCP_PORT/test"' $ show dbs
  17. 17. CONCEITOS: Dockerfile: descreve uma imagem Imagem: base (binários) para um container Container: unidade de execução
  18. 18. POR QUE UM DEV GOSTA DISSO? Portabilidade + Reprodutibilidade Ei, não dependo de burocratas todo o tempo!
  19. 19. POR QUE UM DEVOPS GOSTA DISSO? Automação + Reprodutibilidade Ei, é menos trabalho chato!
  20. 20. POR QUE UM ADMIN GOSTA DISSO? Ei, é menos trabalho!
  21. 21. POR QUE UM INFRA MANAGER GOSTA DISSO? Ei, é uma melhor densidade computacional! Ei, posso gastar menos!
  22. 22. MAS ESPEREM, TEM MAIS!
  23. 23. Docker + Heroku Dokku
  24. 24. Docker + Vagrant Prod-like na sua máquina
  25. 25. DOCKER-BASED PROMOTIONS Build: docker push Deploy: docker pull
  26. 26. DOCKER EXTRAS MesoSphere Kubernetes OpenShift Flynn Deis Fig
  27. 27. Momento holy sh#t
  28. 28. Q&A
  29. 29. O INCRÉDULO: OK, MAS QUAIS SÃO OS PROBLEMAS COM O DOCKER?
  30. 30. 1. Alto no hype cycle 2. Preocupações sobre segurança e estabilidade 3. Rampa de equipe 4. Use cases parciais
  31. 31. O EXPERIENTE: TÁ, MAS E PORQUE EU NÃO POSSO USAR SÓ PUPPET & AFINS? Poder, pode, mas não vai ser a mesma coisa: a) menor reprodutibilidade e b) menor densidade potencial
  32. 32. O EMPOLGADO: LEGAL, LEGAL, MUITO LEGAL! ONDE EU ASSINO?!? 1. 2. 3. Crie seu próprio sandbox Ouça a própria Docker Entre na IASA/GUCloud (nudge nudge)

×