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