SlideShare uma empresa Scribd logo
1 de 54
Baixar para ler offline
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
microservice
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
microservice
• 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
microservice
• 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 P O S E C O M S E R V I C E S
D E M O
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 G
https://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
• https://telegram.me/dockerbr
• http://docker-br.herokuapp.com/
• http://bit.ly/curso-docker
M A I S S O B R E D O C K E R
O B R I G A D O

Mais conteúdo relacionado

Mais procurados

Orquestrando Docker Containers: Machine, Swarm e Compose
Orquestrando Docker Containers: Machine, Swarm e ComposeOrquestrando Docker Containers: Machine, Swarm e Compose
Orquestrando Docker Containers: Machine, Swarm e ComposeRoberto Hashioka
 
Docker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoDocker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoTobias Sette
 
Introdução a Containers Docker
Introdução a Containers DockerIntrodução a Containers Docker
Introdução a Containers DockerMatheus Fidelis
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerBruno Ricardo Siqueira
 
Desenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerDesenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerWaldemar Neto
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação DockerAndré Justi
 
Primeiros passos com o Docker
Primeiros passos com o DockerPrimeiros passos com o Docker
Primeiros passos com o DockerWebSix
 
Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Wellington Silva
 
Deploying Docker Containers
Deploying Docker ContainersDeploying Docker Containers
Deploying Docker ContainersHugo Henley
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Renato Groff
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida realFernando Ike
 
Vagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolsoVagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolsoDiogo Lucas
 
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e AnsibleTDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e AnsibleStefan Teixeira
 
Vagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerVagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerWellington Silva
 
Testadores 2015 - O Fantástico Mundo de Docker
Testadores 2015 - O Fantástico Mundo de DockerTestadores 2015 - O Fantástico Mundo de Docker
Testadores 2015 - O Fantástico Mundo de DockerStefan Teixeira
 
Docker - minicurso utfpr 2017
Docker -  minicurso utfpr 2017Docker -  minicurso utfpr 2017
Docker - minicurso utfpr 2017Fabio Janiszevski
 

Mais procurados (20)

Orquestrando Docker Containers: Machine, Swarm e Compose
Orquestrando Docker Containers: Machine, Swarm e ComposeOrquestrando Docker Containers: Machine, Swarm e Compose
Orquestrando Docker Containers: Machine, Swarm e Compose
 
Introdução à plataforma Docker
Introdução à plataforma DockerIntrodução à plataforma Docker
Introdução à plataforma Docker
 
5. rodando containers docker na aws
5. rodando containers docker na aws5. rodando containers docker na aws
5. rodando containers docker na aws
 
Docker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoDocker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de uso
 
Introdução a Containers Docker
Introdução a Containers DockerIntrodução a Containers Docker
Introdução a Containers Docker
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando Docker
 
Desenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerDesenvolvendo com PHP e Docker
Desenvolvendo com PHP e Docker
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
 
Primeiros passos com o Docker
Primeiros passos com o DockerPrimeiros passos com o Docker
Primeiros passos com o Docker
 
Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3
 
Deploying Docker Containers
Deploying Docker ContainersDeploying Docker Containers
Deploying Docker Containers
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
 
Apresentacao docker
Apresentacao dockerApresentacao docker
Apresentacao docker
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida real
 
Vagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolsoVagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolso
 
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e AnsibleTDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
 
O que é Docker?
O que é Docker?O que é Docker?
O que é Docker?
 
Vagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerVagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + docker
 
Testadores 2015 - O Fantástico Mundo de Docker
Testadores 2015 - O Fantástico Mundo de DockerTestadores 2015 - O Fantástico Mundo de Docker
Testadores 2015 - O Fantástico Mundo de Docker
 
Docker - minicurso utfpr 2017
Docker -  minicurso utfpr 2017Docker -  minicurso utfpr 2017
Docker - minicurso utfpr 2017
 

Destaque

Docker: um linux container engine
Docker:  um linux container engineDocker:  um linux container engine
Docker: um linux container engineHudson Brendon
 
Docker para deploy de aplicação
Docker para deploy de aplicaçãoDocker para deploy de aplicação
Docker para deploy de aplicaçãoMundo Docker
 
Atividade5
Atividade5Atividade5
Atividade5abramo
 
Introdução ao NodeJS
Introdução ao NodeJSIntrodução ao NodeJS
Introdução ao NodeJSGiovanni Bassi
 
Blue Green Deployment com Docker
Blue Green Deployment com DockerBlue Green Deployment com Docker
Blue Green Deployment com DockerPedro Cavalheiro
 
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-source
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-sourceDa Integração Contínua à Entrega Contínua apenas com ferramentas open-source
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-sourceRaphael Paiva
 
DevOps e redes -- SDN NFV e Docker
DevOps e redes -- SDN NFV e DockerDevOps e redes -- SDN NFV e Docker
DevOps e redes -- SDN NFV e DockerLucas Arbiza
 
Into the ZF2 Service Manager
Into the ZF2 Service ManagerInto the ZF2 Service Manager
Into the ZF2 Service ManagerChris Tankersley
 
Oito dicas sobre Docker
Oito dicas sobre DockerOito dicas sobre Docker
Oito dicas sobre DockerMundo Docker
 
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia IIDevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia IIAlefe Variani
 
DevOps utilizando Docker
DevOps utilizando DockerDevOps utilizando Docker
DevOps utilizando Dockerthdotnet
 
Automatizando a implantação e operação de aplicações conteinerizadas no...
Automatizando a implantação e operação de aplicações conteinerizadas no...Automatizando a implantação e operação de aplicações conteinerizadas no...
Automatizando a implantação e operação de aplicações conteinerizadas no...Elo7
 

Destaque (15)

Alagoas Dev Day
Alagoas Dev DayAlagoas Dev Day
Alagoas Dev Day
 
Docker: um linux container engine
Docker:  um linux container engineDocker:  um linux container engine
Docker: um linux container engine
 
Docker
DockerDocker
Docker
 
Docker para deploy de aplicação
Docker para deploy de aplicaçãoDocker para deploy de aplicação
Docker para deploy de aplicação
 
Atividade5
Atividade5Atividade5
Atividade5
 
Introdução ao NodeJS
Introdução ao NodeJSIntrodução ao NodeJS
Introdução ao NodeJS
 
Blue Green Deployment com Docker
Blue Green Deployment com DockerBlue Green Deployment com Docker
Blue Green Deployment com Docker
 
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-source
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-sourceDa Integração Contínua à Entrega Contínua apenas com ferramentas open-source
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-source
 
DevOps e redes -- SDN NFV e Docker
DevOps e redes -- SDN NFV e DockerDevOps e redes -- SDN NFV e Docker
DevOps e redes -- SDN NFV e Docker
 
Into the ZF2 Service Manager
Into the ZF2 Service ManagerInto the ZF2 Service Manager
Into the ZF2 Service Manager
 
Oito dicas sobre Docker
Oito dicas sobre DockerOito dicas sobre Docker
Oito dicas sobre Docker
 
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia IIDevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
 
DevOps utilizando Docker
DevOps utilizando DockerDevOps utilizando Docker
DevOps utilizando Docker
 
Automatizando a implantação e operação de aplicações conteinerizadas no...
Automatizando a implantação e operação de aplicações conteinerizadas no...Automatizando a implantação e operação de aplicações conteinerizadas no...
Automatizando a implantação e operação de aplicações conteinerizadas no...
 
Webinar: Apresentando AWS Device Farm
Webinar: Apresentando AWS Device Farm Webinar: Apresentando AWS Device Farm
Webinar: Apresentando AWS Device Farm
 

Semelhante a O poder do Docker: como funciona e casos de uso

O poder do Docker (7º meetup de Docker SP)
O poder do Docker (7º meetup de Docker SP)O poder do Docker (7º meetup de Docker SP)
O poder do Docker (7º meetup de Docker SP)Wellington Silva
 
Docker para Ambientes de Desenvolvimento e Testes - Open Source Roadshow 2019...
Docker para Ambientes de Desenvolvimento e Testes - Open Source Roadshow 2019...Docker para Ambientes de Desenvolvimento e Testes - Open Source Roadshow 2019...
Docker para Ambientes de Desenvolvimento e Testes - Open Source Roadshow 2019...Renato Groff
 
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019Renato Groff
 
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...Renato Groff
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...Renato Groff
 
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...Renato Groff
 
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...Renato Groff
 
Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018Renato Groff
 
.NET Core + Docker: containers e seus benefícios no deployment de aplicações
.NET Core + Docker: containers e seus benefícios no deployment de aplicações.NET Core + Docker: containers e seus benefícios no deployment de aplicações
.NET Core + Docker: containers e seus benefícios no deployment de aplicaçõesRenato Groff
 
Docker para Desenvolvedores - Developers-BR - Julho-2018
Docker para Desenvolvedores - Developers-BR - Julho-2018Docker para Desenvolvedores - Developers-BR - Julho-2018
Docker para Desenvolvedores - Developers-BR - Julho-2018Renato Groff
 
Deu Match! - Azure DevOps e Seus Super Poderes
Deu Match! - Azure DevOps e Seus Super PoderesDeu Match! - Azure DevOps e Seus Super Poderes
Deu Match! - Azure DevOps e Seus Super PoderesEdson Marques Teixeira
 
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...Renato Groff
 
.NET Core + Docker: containers e seus benefícios no deployment de aplicações ...
.NET Core + Docker: containers e seus benefícios no deployment de aplicações ....NET Core + Docker: containers e seus benefícios no deployment de aplicações ...
.NET Core + Docker: containers e seus benefícios no deployment de aplicações ...Renato Groff
 
Revisitando as Práticas de Engenharia Ágil
Revisitando as Práticas de Engenharia ÁgilRevisitando as Práticas de Engenharia Ágil
Revisitando as Práticas de Engenharia ÁgilDanilo Sato
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Renato Groff
 
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018Renato Groff
 
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020Renato Groff
 
[Agile Brazil] Entrega Contínua na Infoglobo: gerando valor em 2 horas
[Agile Brazil] Entrega Contínua na Infoglobo:  gerando valor em 2 horas[Agile Brazil] Entrega Contínua na Infoglobo:  gerando valor em 2 horas
[Agile Brazil] Entrega Contínua na Infoglobo: gerando valor em 2 horasSamanta Cicilia
 
TDC 2016 SP - Desmistificando cobertura de código como métrica de qualidade
TDC 2016 SP - Desmistificando cobertura de código como métrica de qualidadeTDC 2016 SP - Desmistificando cobertura de código como métrica de qualidade
TDC 2016 SP - Desmistificando cobertura de código como métrica de qualidadeStefan Teixeira
 

Semelhante a O poder do Docker: como funciona e casos de uso (20)

O poder do Docker (7º meetup de Docker SP)
O poder do Docker (7º meetup de Docker SP)O poder do Docker (7º meetup de Docker SP)
O poder do Docker (7º meetup de Docker SP)
 
Docker para Ambientes de Desenvolvimento e Testes - Open Source Roadshow 2019...
Docker para Ambientes de Desenvolvimento e Testes - Open Source Roadshow 2019...Docker para Ambientes de Desenvolvimento e Testes - Open Source Roadshow 2019...
Docker para Ambientes de Desenvolvimento e Testes - Open Source Roadshow 2019...
 
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
 
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
 
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
 
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...
 
Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018
 
.NET Core + Docker: containers e seus benefícios no deployment de aplicações
.NET Core + Docker: containers e seus benefícios no deployment de aplicações.NET Core + Docker: containers e seus benefícios no deployment de aplicações
.NET Core + Docker: containers e seus benefícios no deployment de aplicações
 
Docker para Desenvolvedores - Developers-BR - Julho-2018
Docker para Desenvolvedores - Developers-BR - Julho-2018Docker para Desenvolvedores - Developers-BR - Julho-2018
Docker para Desenvolvedores - Developers-BR - Julho-2018
 
Deu Match! - Azure DevOps e Seus Super Poderes
Deu Match! - Azure DevOps e Seus Super PoderesDeu Match! - Azure DevOps e Seus Super Poderes
Deu Match! - Azure DevOps e Seus Super Poderes
 
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...
 
.NET Core + Docker: containers e seus benefícios no deployment de aplicações ...
.NET Core + Docker: containers e seus benefícios no deployment de aplicações ....NET Core + Docker: containers e seus benefícios no deployment de aplicações ...
.NET Core + Docker: containers e seus benefícios no deployment de aplicações ...
 
Revisitando as Práticas de Engenharia Ágil
Revisitando as Práticas de Engenharia ÁgilRevisitando as Práticas de Engenharia Ágil
Revisitando as Práticas de Engenharia Ágil
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
 
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
 
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
 
Ruby on Rails for beginners 2.0
Ruby on Rails for beginners 2.0Ruby on Rails for beginners 2.0
Ruby on Rails for beginners 2.0
 
[Agile Brazil] Entrega Contínua na Infoglobo: gerando valor em 2 horas
[Agile Brazil] Entrega Contínua na Infoglobo:  gerando valor em 2 horas[Agile Brazil] Entrega Contínua na Infoglobo:  gerando valor em 2 horas
[Agile Brazil] Entrega Contínua na Infoglobo: gerando valor em 2 horas
 
TDC 2016 SP - Desmistificando cobertura de código como métrica de qualidade
TDC 2016 SP - Desmistificando cobertura de código como métrica de qualidadeTDC 2016 SP - Desmistificando cobertura de código como métrica de qualidade
TDC 2016 SP - Desmistificando cobertura de código como métrica de qualidade
 

Mais de Wellington Silva

Docker do básico a orquestração (PHPeste2016)
Docker do básico a orquestração (PHPeste2016)Docker do básico a orquestração (PHPeste2016)
Docker do básico a orquestração (PHPeste2016)Wellington Silva
 
Aplicação Distribuída com Docker Swarm (Meetup GruPy-SP)
Aplicação Distribuída com Docker Swarm (Meetup GruPy-SP)Aplicação Distribuída com Docker Swarm (Meetup GruPy-SP)
Aplicação Distribuída com Docker Swarm (Meetup GruPy-SP)Wellington Silva
 
Afinal, o que é Docker? (Meetup Laravel #12)
Afinal, o que é Docker? (Meetup Laravel #12)Afinal, o que é Docker? (Meetup Laravel #12)
Afinal, o que é Docker? (Meetup Laravel #12)Wellington Silva
 
Afinal, o que é Docker? (Webinar Umbler)
Afinal, o que é Docker? (Webinar Umbler)Afinal, o que é Docker? (Webinar Umbler)
Afinal, o que é Docker? (Webinar Umbler)Wellington Silva
 
O que é o Docker afinal? (Workshop Novatec)
O que é o Docker afinal? (Workshop Novatec)O que é o Docker afinal? (Workshop Novatec)
O que é o Docker afinal? (Workshop Novatec)Wellington Silva
 
Começando com o Docker (HackerHouseBR)
Começando com o Docker (HackerHouseBR)Começando com o Docker (HackerHouseBR)
Começando com o Docker (HackerHouseBR)Wellington Silva
 
Do monolito aos microserviços com Docker (PHPSP+IMA)
Do monolito aos microserviços com Docker (PHPSP+IMA)Do monolito aos microserviços com Docker (PHPSP+IMA)
Do monolito aos microserviços com Docker (PHPSP+IMA)Wellington Silva
 
Aplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com DockerAplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com DockerWellington Silva
 
Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)
Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)
Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)Wellington Silva
 
12 factor app. Melhor com Docker
12 factor app. Melhor com Docker12 factor app. Melhor com Docker
12 factor app. Melhor com DockerWellington Silva
 
Docker from basics to orchestration (PHPConfBr2015)
Docker from basics to orchestration (PHPConfBr2015)Docker from basics to orchestration (PHPConfBr2015)
Docker from basics to orchestration (PHPConfBr2015)Wellington Silva
 
Talk on PHP Day Uruguay about Docker
Talk on PHP Day Uruguay about DockerTalk on PHP Day Uruguay about Docker
Talk on PHP Day Uruguay about DockerWellington Silva
 
Gnu/Linux - Workshop EACH-USP
Gnu/Linux - Workshop EACH-USPGnu/Linux - Workshop EACH-USP
Gnu/Linux - Workshop EACH-USPWellington Silva
 

Mais de Wellington Silva (14)

Docker do básico a orquestração (PHPeste2016)
Docker do básico a orquestração (PHPeste2016)Docker do básico a orquestração (PHPeste2016)
Docker do básico a orquestração (PHPeste2016)
 
Aplicação Distribuída com Docker Swarm (Meetup GruPy-SP)
Aplicação Distribuída com Docker Swarm (Meetup GruPy-SP)Aplicação Distribuída com Docker Swarm (Meetup GruPy-SP)
Aplicação Distribuída com Docker Swarm (Meetup GruPy-SP)
 
Afinal, o que é Docker? (Meetup Laravel #12)
Afinal, o que é Docker? (Meetup Laravel #12)Afinal, o que é Docker? (Meetup Laravel #12)
Afinal, o que é Docker? (Meetup Laravel #12)
 
Afinal, o que é Docker? (Webinar Umbler)
Afinal, o que é Docker? (Webinar Umbler)Afinal, o que é Docker? (Webinar Umbler)
Afinal, o que é Docker? (Webinar Umbler)
 
O que é o Docker afinal? (Workshop Novatec)
O que é o Docker afinal? (Workshop Novatec)O que é o Docker afinal? (Workshop Novatec)
O que é o Docker afinal? (Workshop Novatec)
 
Começando com o Docker (HackerHouseBR)
Começando com o Docker (HackerHouseBR)Começando com o Docker (HackerHouseBR)
Começando com o Docker (HackerHouseBR)
 
Do monolito aos microserviços com Docker (PHPSP+IMA)
Do monolito aos microserviços com Docker (PHPSP+IMA)Do monolito aos microserviços com Docker (PHPSP+IMA)
Do monolito aos microserviços com Docker (PHPSP+IMA)
 
Aplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com DockerAplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com Docker
 
Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)
Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)
Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)
 
12 factor app. Melhor com Docker
12 factor app. Melhor com Docker12 factor app. Melhor com Docker
12 factor app. Melhor com Docker
 
Docker from basics to orchestration (PHPConfBr2015)
Docker from basics to orchestration (PHPConfBr2015)Docker from basics to orchestration (PHPConfBr2015)
Docker from basics to orchestration (PHPConfBr2015)
 
Talk on PHP Day Uruguay about Docker
Talk on PHP Day Uruguay about DockerTalk on PHP Day Uruguay about Docker
Talk on PHP Day Uruguay about Docker
 
Gnu/Linux - Workshop EACH-USP
Gnu/Linux - Workshop EACH-USPGnu/Linux - Workshop EACH-USP
Gnu/Linux - Workshop EACH-USP
 
Light Talk Docker Compose
Light Talk Docker ComposeLight Talk Docker Compose
Light Talk Docker Compose
 

O poder do Docker: como funciona e casos de uso

  • 1. O P O D E R D O D O C K E R
  • 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…
  • 3. A G E N D A • O que é Docker? • Como funciona? • Win vs Mac vs Linux • Exemplos de uso • Cases GFG • Adoção
  • 4. O Q U E É D O C K E R ?
  • 5. O Q U E É D O C K E R ?
  • 6. O Q U E É D O C K E R ?
  • 7. • Sistemas de Containers Linux O Q U E É D O C K E R ?
  • 8. • Sistemas de Containers Linux • Leve e rápido O Q U E É D O C K E R ?
  • 9. • Sistemas de Containers Linux • Leve e rápido • Open Source O Q U E É D O C K E R ?
  • 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 ?
  • 14. C O M O F U N C I O N A ?
  • 15. C O M O F U N C I O N A ?
  • 16. C O M O F U N C I O N A ?
  • 17. W I N D O W S V S M A C V S L I N U X
  • 18. C O M O F U N C I O N A ?
  • 19. C O M O F U N C I O N A ?
  • 20. C O M O F U N C I O N A ?
  • 21. E X E M P L O S D E U S O
  • 22. N G I N X W E B S E R V E R D E M O
  • 23. C O M P O S E C O M S E R V I C E S D E M O
  • 24. A P L I C A Ç Õ E S C O M G U I D E M O
  • 25. D O C K E R C R A F T D E M O
  • 26. C A S E S
  • 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
  • 54. • https://telegram.me/dockerbr • http://docker-br.herokuapp.com/ • http://bit.ly/curso-docker M A I S S O B R E D O C K E R O B R I G A D O