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

Post on 15-Feb-2017

61 views 2 download

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

O P O D E R D O D O C K E R

W E L L I N G T O N F S I L V A

Técnico Telecom, programador, DevOps,instrutor, escritor, pai…

A G E N D A

•O que é Docker?

•Como funciona?

•Win vs Mac vs Linux

•Exemplos de uso

•Cases GFG

•Adoção

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

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

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

•Sistemas de Containers Linux

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

•Sistemas de Containers Linux

•Leve e rápido

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

•Sistemas de Containers Linux

•Leve e rápido

•Open Source

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

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

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 ?

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

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

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

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

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

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

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

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

N G I N X W E B S E R V E R

D E M O

C O M A N D O S

D E M O

C O M P O S E

D E M O

https://github.com/wsilva/docker-lb-demo

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

D E M O

D O C K E R C R A F T

D E M O

C A S E S

• 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

• 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

• 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

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

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 git@git.qa…)

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

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

• 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

• 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

• 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

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)

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)

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

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

• 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

• 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

• 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

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

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

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

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

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