$30 off During Our Annual Pro Sale. View Details »

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. O P O D E R D O D O C K E R

    View Slide

  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…

    View Slide

  3. A G E N D A
    • O que é Docker?
    • Como funciona?
    • Win vs Mac vs
    Linux
    • Exemplos de uso
    • Cases GFG
    • Adoção

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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 ?

    View Slide

  11. • 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 ?

    View Slide

  12. • 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 ?

    View Slide

  13. • 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 ?

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  17. W I N D O W S V S M A C V S
    L I N U X

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  21. E X E M P L O S D E U S O

    View Slide

  22. N G I N X W E B S E R V E R
    D E M O

    View Slide

  23. C O M A N D O S
    D E M O

    View Slide

  24. C O M P O S E
    D E M O
    https://github.com/wsilva/docker-lb-demo

    View Slide

  25. A P L I C A Ç Õ E S C O M G U I
    D E M O

    View Slide

  26. D O C K E R C R A F T
    D E M O

    View Slide

  27. C A S E S

    View Slide

  28. • 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

    View Slide

  29. • 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

    View Slide

  30. • 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

    View Slide

  31. 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

    View Slide

  32. 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

    View Slide

  33. 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

    View Slide

  34. 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

    View Slide

  35. 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

    View Slide

  36. 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

    View Slide

  37. • 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

    View Slide

  38. • 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

    View Slide

  39. • 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

    View Slide

  40. • 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

    View Slide

  41. • 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

    View Slide

  42. • 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

    View Slide

  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
    M Á Q U I N A D E D E P L O Y
    C A S E S

    View Slide

  44. • 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

    View Slide

  45. • 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

    View Slide

  46. • 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

    View Slide

  47. E S T U D O D A T A D O G
    https://www.datadoghq.com/docker-adoption/

    View Slide

  48. • 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

    View Slide

  49. • 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

    View Slide

  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
    E S T U D O D A T A D O G
    E S T U D O

    View Slide

  51. • 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

    View Slide

  52. • 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

    View Slide

  53. • 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

    View Slide

  54. • 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

    View Slide

  55. C O N C L U S Ã O

    View Slide

  56. 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

    View Slide

  57. 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

    View Slide

  58. 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

    View Slide

  59. • https://telegram.me/dockerbr
    • http://docker-br.herokuapp.com/
    • http://bit.ly/curso-docker
    Cupom 25% desconto na Novatec:
    DOCKER
    M A I S S O B R E D O C K E R
    O B R I G A D O

    View Slide