O poder do Docker (7 Masters)

O poder do Docker (7 Masters)

Mini palestra e demo ministrada no 7 Masters do dia 28/07/2016, edição sobre devops.
http://setemasters.imasters.com.br/edicoes/devops/

280fecb4f048de5ecf36bec281609ea4?s=128

Wellington F. Silva

July 29, 2016
Tweet

Transcript

  1. O P O D E R D O D O

    C K E R
  2. W E L L I N G T O N

    F S I L V A Técnico Telecom, programador, DevOps,instrutor, escritor, pai…
  3. A G E N D A • O que é

    Docker? • Como funciona? • Win vs Mac vs Linux • Exemplos de uso • Cases GFG • Adoção
  4. O Q U E É D O C K E

    R ?
  5. O Q U E É D O C K E

    R ?
  6. O Q U E É D O C K E

    R ?
  7. • Sistemas de Containers Linux O Q U E É

    D O C K E R ?
  8. • Sistemas de Containers Linux • Leve e rápido O

    Q U E É D O C K E R ?
  9. • Sistemas de Containers Linux • Leve e rápido •

    Open Source O Q U E É D O C K E R ?
  10. • Sistemas de Containers Linux • Leve e rápido •

    Open Source • Diversas ferramentas de cluster e orquestração O Q U E É D O C K E R ?
  11. • Sistemas de Containers Linux • Leve e rápido •

    Open Source • Diversas ferramentas de cluster e orquestração • Facilita microservice O Q U E É D O C K E R ?
  12. • Sistemas de Containers Linux • Leve e rápido •

    Open Source • Diversas ferramentas de cluster e orquestração • Facilita microservice • Facilita emprego do 12 factor O Q U E É D O C K E R ?
  13. • Sistemas de Containers Linux • Leve e rápido •

    Open Source • Diversas ferramentas de cluster e orquestração • Facilita microservice • Facilita emprego do 12 factor • Melhora a distribuição de recursos O Q U E É D O C K E R ?
  14. C O M O F U N C I O

    N A ?
  15. C O M O F U N C I O

    N A ?
  16. C O M O F U N C I O

    N A ?
  17. W I N D O W S V S M

    A C V S L I N U X
  18. C O M O F U N C I O

    N A ?
  19. C O M O F U N C I O

    N A ?
  20. C O M O F U N C I O

    N A ?
  21. E X E M P L O S D E

    U S O
  22. N G I N X W E B S E

    R V E R D E M O
  23. C O M P O S E C O M

    S E R V I C E S D E M O
  24. A P L I C A Ç Õ E S

    C O M G U I D E M O
  25. D O C K E R C R A F

    T D E M O
  26. C A S E S

  27. • Resolveu problema de disputa de ambiente de homologação T

    I C K E T S E M Q & A C A S E S
  28. • Resolveu problema de disputa de ambiente de homologação •

    Instalado git no servidor T I C K E T S E M Q & A C A S E S
  29. • Resolveu problema de disputa de ambiente de homologação •

    Instalado git no servidor • Script de provision no hook post- update T I C K E T S E M Q & A C A S E S
  30. O script: • Levantava os sistemas em container com docker-compose

    T I C K E T S E M Q & A C A S E S
  31. O script: • Levantava os sistemas em container com docker-compose

    • Colocava o código do branch enviado T I C K E T S E M Q & A C A S E S
  32. O script: • Levantava os sistemas em container com docker-compose

    • Colocava o código do branch enviado • Montava as urls com o nº do ticket (http://gfg-666.front.qa.url) T I C K E T S E M Q & A C A S E S
  33. Para os devs: • Adicionava o server como remote (git

    remote add qa git@git.qa…) T I C K E T S E M Q & A C A S E S
  34. Para os devs: • Adicionava o server como remote (git

    remote add qa git@git.qa…) • Para testar o branch: git push qa gfg-666 T I C K E T S E M Q & A C A S E S
  35. Para os devs: • Adicionava o server como remote (git

    remote add qa git@git.qa…) • Para testar o branch: git push qa gfg-666 • Para remover: git push qa :gfg-666 T I C K E T S E M Q & A C A S E S
  36. • Deploy era focado na loja (PHP) M Á Q

    U I N A D E D E P L O Y C A S E S
  37. • Deploy era focado na loja (PHP) • Outros serviços

    em outras linguagens surgiram (python, java) M Á Q U I N A D E D E P L O Y C A S E S
  38. • Deploy era focado na loja (PHP) • Outros serviços

    em outras linguagens surgiram (python, java) • Todas as dependências tinham que ser instaladas na máquina M Á Q U I N A D E D E P L O Y C A S E S
  39. • Nova máquina apenas com Docker M Á Q U

    I N A D E D E P L O Y C A S E S
  40. • Nova máquina apenas com Docker • Ant com mesmo

    target para todos projetos (ant build, ant deploy) M Á Q U I N A D E D E P L O Y C A S E S
  41. • Nova máquina apenas com Docker • Ant com mesmo

    target para todos projetos (ant build, ant deploy) • Cada projeto implementa como será o build (java: unit test + compile + geração de .war / python e php: composer ou pip + unit test + geração de .tar.gz) M Á Q U I N A D E D E P L O Y C A S E S
  42. • O próprio script ant se necessário sobe containers com

    banco (MySQL e Postgres) e ou cache (Memcached/ Redis) para os testes de acordo com o sistema M Á Q U I N A D E D E P L O Y C A S E S
  43. • O próprio script ant se necessário sobe containers com

    banco (MySQL e Postgres) e ou cache (Memcached/Redis) para os testes de acordo com o sistema • Cada projeto implementa como será o deploy (java: ajuste de config e troca do .war / python e php: ajuste de configs + unit test + geração de .tar.gz) M Á Q U I N A D E D E P L O Y C A S E S
  44. • Scripts Python montam o inventário (dinâmico, algumas máquinas na

    AWS) M Á Q U I N A D E D E P L O Y C A S E S
  45. • Scripts Python montam o inventário (dinâmico, algumas máquinas na

    AWS) • Playbooks Ansible fazem o deploy nas instâncias, geram novas imagens e atualiza a configuração do autoscale M Á Q U I N A D E D E P L O Y C A S E S
  46. E S T U D O D A T A

    D O G https://www.datadoghq.com/docker-adoption/
  47. • aumento de 30% entre maio de 2015 e maio

    de 2016 E S T U D O D A T A D O G E S T U D O
  48. • aumento de 30% entre maio de 2015 e maio

    de 2016 • maiores empresas (+500 hosts), adoção maior E S T U D O D A T A D O G E S T U D O
  49. • aumento de 30% entre maio de 2015 e maio

    de 2016 • maiores empresas (+500 hosts), adoção maior • 2/3 dos que testam adotam E S T U D O D A T A D O G E S T U D O
  50. • aumento de 30% entre maio de 2015 e maio

    de 2016 • maiores empresas (+500 hosts), adoção maior • 2/3 dos que testam adotam • quantidade de container quintuplica após adoção E S T U D O D A T A D O G E S T U D O
  51. • Em média 5 containers por host E S T

    U D O D A T A D O G E S T U D O
  52. • Em média 5 containers por host • VMs são

    6 vezes mais longevas E S T U D O D A T A D O G E S T U D O
  53. • Em média 5 containers por host • VMs são

    6 vezes mais longevas • Imgs mais usadas: Registry, NGINX, Redis, Elasticsearch, MySQL, Logspout, Quay, etcd, Postgres, CAdvisor E S T U D O D A T A D O G E S T U D O
  54. • https://telegram.me/dockerbr • http://docker-br.herokuapp.com/ • http://bit.ly/curso-docker M A I S

    S O B R E D O C K E R O B R I G A D O