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

O poder do Docker (7º meetup de Docker SP)

O poder do Docker (7º meetup de Docker SP)

Palestra apresentada dia 09 de agosto de 2016 no 7º meetup de Docker SP ministrado na Viva Real em Sao Paulo. Algumas demos foram apresentadas para dar ideia do que é capaz de fazer com o Docker.

Wellington F. Silva

August 09, 2016
Tweet

More Decks by Wellington F. Silva

Other Decks in Technology

Transcript

  1. W E L L I N G T O N

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

    Docker? • Como funciona? • Win vs Mac vs Linux • Exemplos de uso • Cases GFG • Adoção
  3. • Sistemas de Containers Linux • Leve e rápido •

    Open Source O Q U E É D O C K E R ?
  4. • 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 ?
  5. • Sistemas de Containers Linux • Leve e rápido •

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

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

    Open Source • Diversas ferramentas de cluster e orquestração • Facilita micro serviços • Facilita emprego do 12 factor • Melhora a distribuição de recursos O Q U E É D O C K E R ?
  8. W I N D O W S V S M

    A C V S L I N U X
  9. N G I N X W E B S E

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

    O https://github.com/wsilva/docker-lb-demo
  11. A P L I C A Ç Õ E S

    C O M G U I D E M O
  12. • 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
  13. • 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
  14. 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
  15. 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
  16. Para os devs: • Adicionava o server como remote (git

    remote add qa [email protected]…) T I C K E T S E M Q & A C A S E S
  17. Para os devs: • Adicionava o server como remote (git

    remote add qa [email protected]…) • 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
  18. Para os devs: • Adicionava o server como remote (git

    remote add qa [email protected]…) • 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
  19. • 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
  20. • 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
  21. • 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
  22. • 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
  23. • 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
  24. • 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
  25. • 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
  26. • 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
  27. • 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
  28. • 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
  29. E S T U D O D A T A

    D O G https://www.datadoghq.com/docker-adoption/
  30. • 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
  31. • 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
  32. • 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
  33. • 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
  34. • 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
  35. • 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
  36. • 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
  37. C O N C L U S Ã O •

    Quase 3 anos e meio de evolução intensa C O N C L U S Ã O
  38. C O N C L U S Ã O •

    Quase 3 anos e meio de evolução intensa • OCI compliance (Open Container Initiative) C O N C L U S Ã O
  39. C O N C L U S Ã O •

    Quase 3 anos e meio de evolução intensa • OCI compliance (Open Container Initiative) • Diversas maneiras de utilizar, o poder está com você C O N C L U S Ã O