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