SlideShare una empresa de Scribd logo
1 de 39
Descargar para leer sin conexión
Transportando as aplicações
entre vários ambientes com
Docker
Aécio Pires
Aécio dos Santos Pires
http://aeciopires.com
Administrador de Sistemas DevOp na
Especialista em Segurança da Informação pela iDEZ
Um dos autores do livro
Tecnólogo em Redes de Computadores
pelo
Nivelando o conhecimento
Mudança de Paradigma
● Cultura DevOps;
● Integração contínua;
● Alterações mais frequentes e mais rápidas em
produção;
● Micro-serviços;
● Ambientes “elásticos”;
● Maior complexidade na análise de logs, no
monitoramento e na segurança dos hosts;
Docker
● “É uma plataforma de contêiner, com o código
fonte aberto, que automatiza a implantação de
aplicativos de software.” Site Oficial [1]
● Não é uma tecnologia de virtualização.
● Não é um gerente de configuração.
● Não é um kernel separado.
● Não é um hypervisor.
Docker
●
Foi publicado em 13 de Março de 2013.
●
Está em constante desenvolvimento.
●
Desenvolvido inicialmente pela dotCloud, atual Docker Inc.
● Hoje é mantido pela Docker Inc. + comunidade.
●
Tem suporte a Linux, Windows, Mac OS, entre outros.
●
Licença Apache 2.0
●
Tem as versões Enterprise (EE) e Comunity (CE)
●
No Linux, o diretório de trabalho fica em: /var/lib/docker/
●
Site oficial: www.docker.com
●
Documentação: docs.docker.com
Conteiner e Imagem
Contêineres
● “São um encapsulamento para um aplicativo com suas dependências.”
Using Docker de Adrian Mouat (O’Reilly) [2] [3]
● Ocupam menos espaço do que as VMs.
● São portáveis.
● São ligados quase instantaneamente.
● São adequados para execução de microserviços e pouco
recomendados para sistemas monolíticos.
● Vários contêineres podem ser executados na mesma máquina.
● Compartilham o kernel do SO.
● Cada conteiner é executado como um processo isolado no espaço do
usuário.
● Conteiner é um conceito antigo.
Fonte: https://serversideup.net/wp-content/uploads/2014/10/ContainerVsVM.png
Imagens
● Funciona como um template para criação de novos
contêineres.
● A partir de uma imagem, é possível iniciar novos
contêineres e fazer alterações neles.
● São formadas a partir da compilação de uma imagem
base.
● São compostas por múltiplas camadas, onde cada uma é
um sistema de arquivos somente leitura.
● Podem ser geradas a partir de um conteiner em execução
ou a partir da compilação de um Dockerfile.
Imagem
Do DockerFile ao Conteiner
Docker Host
● É o host no qual são executados os conteiners
e onde são processados os comandos
enviados pelo docker client.
● O docker host pode conter o docker daemon e
o client ou somente o docker daemon.
Docker Host
Do Desenvolvimento à Produção
Responsabilidades diferentes
DesenvolvimentoDesenvolvimento ProduçãoProdução
Metologias Ágeis Disponibilidade
Integração Contínua Persistência de dados (storage)
Correção de bugs Segurança
Ambiente para testes Backup
Versionamento de código Configurações específicas
Sprints Logs
Processos de desenvolvimento Monitoramento
Geração de código Alertas
Merges Métricas
Coleta de requisitos Escalabilidade
Reuniões e mais reuniões Rollback
Orquestração
Deploy de aplicações
Documentação
Suporte ao usuário
Fonte: https://image.slidesharecdn.com/usingdockertoimprovewebdeveloperproductivity-devopsdaysaustin-may5-
140506080540-phpapp01/95/using-docker-to-improve-web-developer-productivity-devopsdays-austin-may-5-5-
638.jpg?cb=1399363960
Transportando as aplicações entre
vários ambientes com Docker
Ambiente Docker
Fonte: https://image.slidesharecdn.com/javadaykharkiv-151012091658-lva1-app6891/95/nextgen-devops-
engineering-with-docker-and-kubernetes-by-antons-kranga-7-638.jpg?cb=1444642030
Transportando as aplicações entre
vários ambientes com Docker
Docker Hub e Docker Registry
Docker Hub (hub.docker.com):
● É um serviço remoto e proprietário de hospedagem de imagens Docker.
● É possível criar contas gratuitas para criação de repositórios de
imagens públicas (gratuito) e privadas (pago US$).
● Possui interface web para gerenciamento de usuários, repositórios,
imagens e builds automáticos.
Docker Registry (docs.docker.com/registry):
● É um serviço open source alternativo ao Docker Hub para hospedagem
gratuíta de imagens em um servidor local.
● Funciona de forma semelhante ao Docker Hub.
● Não possui interface web nativa.
Docker Hub e Registry
Ferramentas de Apoio à
Operação em Produção
● Interfaces web ao Docker Registry…
– http://port.us.org
– http://vmware.github.io/harbor
– http://www.projectatomic.io/registry
Ferramentas de Apoio à
Operação em Produção
● Orquestração e escalabilidade…
– docs.docker.com/engine/swarm
Docker Swarm
● Solução de cluster Docker, que agrupa vários hosts
Docker e possibilita a orquestração dos mesmos e de
contêineres. MOUAT, Adrian
● Se encarrega de selecionar um host apropriado no
qual o conteiner será executado.
● Pode ser formado por Docker Hosts de VMs e/ou
físicos ou os dois simultaneamente.
● docs.docker.com/engine/swarm
Ferramentas de Apoio à
Operação em Produção
● Gerenciamento de conteiners, volumes, Docker
Swarm, rede do Docker…
– http://rancher.com
– https://portainer.io
– https://meros.io
– https://shipyard-project.com
● “É uma ferramenta web e de código fonte
aberto que permite gerenciar vários Docker
Hosts ou vários clusters de Docker Swarm.” [4]
● Portainer:
portainer.io
github.com/portainer/portainer
https://portainer.io/overview.html#demo
Transportando as aplicações entre
vários ambientes com Docker
Ferramentas de Apoio à
Operação em Produção
● Alerta, monitoramento, logs, coleta de métricas…
– http://zabbix.com
– https://github.com/monitoringartist/zabbix-xxl
– https://grafana.com
– https://meros.io
– https://sysdig.com
– https://www.coscale.com
– https://signalfx.com
Zabbix
Grafana
Meros
Sysdig
Coscale
SignalFX
GOMES, Rafael - Docker para desenvolvedores
https://leanpub.com/dockerparadesenvolvedores
MOUAT, Adrian – Usando Docker
https://www.novatec.com.br/livros/usando-docker
PIRES, Aécio – Primeiros passos com Docker
http://blog.aeciopires.com/primeiros-passos-com-docker
Referências
Então, faça um curso comigo. :-)
Mais informações:
http://blog.aeciopires.com/curso-docker
Quer aprender mais sobre Docker?
Aécio Pires
http://aeciopires.com

Más contenido relacionado

La actualidad más candente

Zabbix e caso de uso na SER-PB
Zabbix e caso de uso na SER-PBZabbix e caso de uso na SER-PB
Zabbix e caso de uso na SER-PBAécio Pires
 
Projeto TCOS - III ENSOL
Projeto TCOS - III ENSOLProjeto TCOS - III ENSOL
Projeto TCOS - III ENSOLAécio Pires
 
Zabbix Proxy com Raspberry Pi - 3º Zabbix Meetup do Interior
Zabbix Proxy com Raspberry Pi - 3º Zabbix Meetup do InteriorZabbix Proxy com Raspberry Pi - 3º Zabbix Meetup do Interior
Zabbix Proxy com Raspberry Pi - 3º Zabbix Meetup do InteriorZabbix BR
 
Zabbix: Uma ferramenta para Gerenciamento de ambientes de T.I
Zabbix: Uma ferramenta para Gerenciamento de ambientes de T.IZabbix: Uma ferramenta para Gerenciamento de ambientes de T.I
Zabbix: Uma ferramenta para Gerenciamento de ambientes de T.IAécio Pires
 
SNMP/Zabbix - Vulnerabilidades e Contramedidas 2
SNMP/Zabbix - Vulnerabilidades e Contramedidas 2SNMP/Zabbix - Vulnerabilidades e Contramedidas 2
SNMP/Zabbix - Vulnerabilidades e Contramedidas 2Aécio Pires
 
Douglasesteves meetupzabbix
Douglasesteves meetupzabbixDouglasesteves meetupzabbix
Douglasesteves meetupzabbixDouglas Esteves
 
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App - Março-2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App - Março-2021Boas Práticas em Aplicações na Nuvem: Twelve-Factor App - Março-2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App - Março-2021Renato Groffe
 
Zabbix: O portal para os iniciantes - 3º Zabbix Meetup do Interior
Zabbix: O portal para os iniciantes - 3º Zabbix Meetup do InteriorZabbix: O portal para os iniciantes - 3º Zabbix Meetup do Interior
Zabbix: O portal para os iniciantes - 3º Zabbix Meetup do InteriorZabbix BR
 
Monitoring Cast 1: Puppet & Zabbix
Monitoring Cast 1: Puppet & ZabbixMonitoring Cast 1: Puppet & Zabbix
Monitoring Cast 1: Puppet & ZabbixAécio Pires
 
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | TDC Connections 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | TDC Connections 2021Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | TDC Connections 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | TDC Connections 2021Renato Groffe
 
Apresentação Werneck - MeSeg RNP 2017 - Natal RN - Importância do monitoramen...
Apresentação Werneck - MeSeg RNP 2017 - Natal RN - Importância do monitoramen...Apresentação Werneck - MeSeg RNP 2017 - Natal RN - Importância do monitoramen...
Apresentação Werneck - MeSeg RNP 2017 - Natal RN - Importância do monitoramen...Werneck Costa
 
Zabbix 2.0: o que ele pode monitorar na sua rede?
Zabbix 2.0: o que ele pode monitorar na sua rede?Zabbix 2.0: o que ele pode monitorar na sua rede?
Zabbix 2.0: o que ele pode monitorar na sua rede?Aécio Pires
 
Monitoramento Enterprise com Zabbix+RHEL
Monitoramento Enterprise com Zabbix+RHELMonitoramento Enterprise com Zabbix+RHEL
Monitoramento Enterprise com Zabbix+RHELAlessandro Silva
 
UserParameter vs Zabbix Sender - 2º ZABBIX MEETUP DO INTERIOR-SP
UserParameter vs Zabbix Sender - 2º ZABBIX MEETUP DO INTERIOR-SPUserParameter vs Zabbix Sender - 2º ZABBIX MEETUP DO INTERIOR-SP
UserParameter vs Zabbix Sender - 2º ZABBIX MEETUP DO INTERIOR-SPZabbix BR
 
Gerência de redes com Zabbix: conhecendo a ferramenta
Gerência de redes com Zabbix: conhecendo a ferramentaGerência de redes com Zabbix: conhecendo a ferramenta
Gerência de redes com Zabbix: conhecendo a ferramentaAécio Pires
 
Monitoramento Opensource com Zabbix
Monitoramento Opensource com ZabbixMonitoramento Opensource com Zabbix
Monitoramento Opensource com ZabbixRenato Batista
 
Projeto Zabbix: Conhecendo a ferramenta
Projeto Zabbix: Conhecendo a ferramentaProjeto Zabbix: Conhecendo a ferramenta
Projeto Zabbix: Conhecendo a ferramentaAécio Pires
 
Monitoramento de ativos com zabbix
Monitoramento de ativos com zabbixMonitoramento de ativos com zabbix
Monitoramento de ativos com zabbixRafael Gomes
 
FLISOL-Jaguaruana/CE - 2013 - Monitoramento com Software Livre - Zabbix 2.0
FLISOL-Jaguaruana/CE - 2013 - Monitoramento com Software Livre - Zabbix 2.0FLISOL-Jaguaruana/CE - 2013 - Monitoramento com Software Livre - Zabbix 2.0
FLISOL-Jaguaruana/CE - 2013 - Monitoramento com Software Livre - Zabbix 2.0aristotelesaraujo
 

La actualidad más candente (20)

Zabbix e caso de uso na SER-PB
Zabbix e caso de uso na SER-PBZabbix e caso de uso na SER-PB
Zabbix e caso de uso na SER-PB
 
Projeto TCOS - III ENSOL
Projeto TCOS - III ENSOLProjeto TCOS - III ENSOL
Projeto TCOS - III ENSOL
 
Zabbix Proxy com Raspberry Pi - 3º Zabbix Meetup do Interior
Zabbix Proxy com Raspberry Pi - 3º Zabbix Meetup do InteriorZabbix Proxy com Raspberry Pi - 3º Zabbix Meetup do Interior
Zabbix Proxy com Raspberry Pi - 3º Zabbix Meetup do Interior
 
Zabbix: Uma ferramenta para Gerenciamento de ambientes de T.I
Zabbix: Uma ferramenta para Gerenciamento de ambientes de T.IZabbix: Uma ferramenta para Gerenciamento de ambientes de T.I
Zabbix: Uma ferramenta para Gerenciamento de ambientes de T.I
 
SNMP/Zabbix - Vulnerabilidades e Contramedidas 2
SNMP/Zabbix - Vulnerabilidades e Contramedidas 2SNMP/Zabbix - Vulnerabilidades e Contramedidas 2
SNMP/Zabbix - Vulnerabilidades e Contramedidas 2
 
Douglasesteves meetupzabbix
Douglasesteves meetupzabbixDouglasesteves meetupzabbix
Douglasesteves meetupzabbix
 
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App - Março-2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App - Março-2021Boas Práticas em Aplicações na Nuvem: Twelve-Factor App - Março-2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App - Março-2021
 
Zabbix: O portal para os iniciantes - 3º Zabbix Meetup do Interior
Zabbix: O portal para os iniciantes - 3º Zabbix Meetup do InteriorZabbix: O portal para os iniciantes - 3º Zabbix Meetup do Interior
Zabbix: O portal para os iniciantes - 3º Zabbix Meetup do Interior
 
Monitoring Cast 1: Puppet & Zabbix
Monitoring Cast 1: Puppet & ZabbixMonitoring Cast 1: Puppet & Zabbix
Monitoring Cast 1: Puppet & Zabbix
 
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | TDC Connections 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | TDC Connections 2021Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | TDC Connections 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | TDC Connections 2021
 
Apresentação Werneck - MeSeg RNP 2017 - Natal RN - Importância do monitoramen...
Apresentação Werneck - MeSeg RNP 2017 - Natal RN - Importância do monitoramen...Apresentação Werneck - MeSeg RNP 2017 - Natal RN - Importância do monitoramen...
Apresentação Werneck - MeSeg RNP 2017 - Natal RN - Importância do monitoramen...
 
Zabbix 2.0: o que ele pode monitorar na sua rede?
Zabbix 2.0: o que ele pode monitorar na sua rede?Zabbix 2.0: o que ele pode monitorar na sua rede?
Zabbix 2.0: o que ele pode monitorar na sua rede?
 
Monitoramento Enterprise com Zabbix+RHEL
Monitoramento Enterprise com Zabbix+RHELMonitoramento Enterprise com Zabbix+RHEL
Monitoramento Enterprise com Zabbix+RHEL
 
UserParameter vs Zabbix Sender - 2º ZABBIX MEETUP DO INTERIOR-SP
UserParameter vs Zabbix Sender - 2º ZABBIX MEETUP DO INTERIOR-SPUserParameter vs Zabbix Sender - 2º ZABBIX MEETUP DO INTERIOR-SP
UserParameter vs Zabbix Sender - 2º ZABBIX MEETUP DO INTERIOR-SP
 
Tcos Fisl
Tcos FislTcos Fisl
Tcos Fisl
 
Gerência de redes com Zabbix: conhecendo a ferramenta
Gerência de redes com Zabbix: conhecendo a ferramentaGerência de redes com Zabbix: conhecendo a ferramenta
Gerência de redes com Zabbix: conhecendo a ferramenta
 
Monitoramento Opensource com Zabbix
Monitoramento Opensource com ZabbixMonitoramento Opensource com Zabbix
Monitoramento Opensource com Zabbix
 
Projeto Zabbix: Conhecendo a ferramenta
Projeto Zabbix: Conhecendo a ferramentaProjeto Zabbix: Conhecendo a ferramenta
Projeto Zabbix: Conhecendo a ferramenta
 
Monitoramento de ativos com zabbix
Monitoramento de ativos com zabbixMonitoramento de ativos com zabbix
Monitoramento de ativos com zabbix
 
FLISOL-Jaguaruana/CE - 2013 - Monitoramento com Software Livre - Zabbix 2.0
FLISOL-Jaguaruana/CE - 2013 - Monitoramento com Software Livre - Zabbix 2.0FLISOL-Jaguaruana/CE - 2013 - Monitoramento com Software Livre - Zabbix 2.0
FLISOL-Jaguaruana/CE - 2013 - Monitoramento com Software Livre - Zabbix 2.0
 

Similar a Transportando as aplicações entre vários ambientes com Docker

[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com DockerAécio Pires
 
Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker BásicoAndré Justi
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação DockerAndré Justi
 
Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes	Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes Rhuan Karlus Silva
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfdadalt1
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao dockerBenicio Ávila
 
O poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e KubernetesO poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e KubernetesWillian Azevedo
 
Introdução ao Docker - Linux Dev Br 2018
Introdução ao Docker - Linux Dev Br 2018Introdução ao Docker - Linux Dev Br 2018
Introdução ao Docker - Linux Dev Br 2018Fernando Luiz Cola
 
Containers em produção!
Containers em produção!Containers em produção!
Containers em produção!Evandro Couto
 
Docker: Uso no dia a dia de desenvolvimento
Docker: Uso no dia a dia de desenvolvimentoDocker: Uso no dia a dia de desenvolvimento
Docker: Uso no dia a dia de desenvolvimentoMarcela Carvalho
 

Similar a Transportando as aplicações entre vários ambientes com Docker (20)

[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
 
Docker meetup
Docker meetupDocker meetup
Docker meetup
 
Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker Básico
 
Olá docker
Olá dockerOlá docker
Olá docker
 
Docker
DockerDocker
Docker
 
O que é docker?
O que é docker?O que é docker?
O que é docker?
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
 
Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes	Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes
 
Docker
DockerDocker
Docker
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
 
Iniciando com docker
Iniciando com dockerIniciando com docker
Iniciando com docker
 
Conheça o Docker
Conheça o DockerConheça o Docker
Conheça o Docker
 
Docker para iniciantes
Docker para iniciantesDocker para iniciantes
Docker para iniciantes
 
O poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e KubernetesO poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e Kubernetes
 
Introdução ao Docker - Linux Dev Br 2018
Introdução ao Docker - Linux Dev Br 2018Introdução ao Docker - Linux Dev Br 2018
Introdução ao Docker - Linux Dev Br 2018
 
Containers em produção!
Containers em produção!Containers em produção!
Containers em produção!
 
.Net Core + Docker
.Net Core +  Docker.Net Core +  Docker
.Net Core + Docker
 
Docker: Uso no dia a dia de desenvolvimento
Docker: Uso no dia a dia de desenvolvimentoDocker: Uso no dia a dia de desenvolvimento
Docker: Uso no dia a dia de desenvolvimento
 
Docker - Básico
Docker - BásicoDocker - Básico
Docker - Básico
 

Más de Aécio Pires

Pipeconf no CoffeOps Campinas
Pipeconf no CoffeOps CampinasPipeconf no CoffeOps Campinas
Pipeconf no CoffeOps CampinasAécio Pires
 
Configuração de ativos de rede utilizando a abordagem infrastructure as code
Configuração de ativos de rede utilizando a abordagem infrastructure as codeConfiguração de ativos de rede utilizando a abordagem infrastructure as code
Configuração de ativos de rede utilizando a abordagem infrastructure as codeAécio Pires
 
Gerenciando o Zabbix com o SaltStack
Gerenciando o Zabbix com o SaltStackGerenciando o Zabbix com o SaltStack
Gerenciando o Zabbix com o SaltStackAécio Pires
 
Integração contínua com Jenkins
Integração contínua com JenkinsIntegração contínua com Jenkins
Integração contínua com JenkinsAécio Pires
 
Gerenciando o Zabbix com o SaltStack
Gerenciando o Zabbix com o SaltStackGerenciando o Zabbix com o SaltStack
Gerenciando o Zabbix com o SaltStackAécio Pires
 
Management Zabbix with Terraform
Management Zabbix with TerraformManagement Zabbix with Terraform
Management Zabbix with TerraformAécio Pires
 
Lançamento do livro "De A a Zabbix" no IFPB
Lançamento do livro "De A a Zabbix" no IFPBLançamento do livro "De A a Zabbix" no IFPB
Lançamento do livro "De A a Zabbix" no IFPBAécio Pires
 
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...Aécio Pires
 
Artigo: Aplicando recomendações de segurança na instalação do Zabbix
Artigo: Aplicando recomendações de segurança na instalação do ZabbixArtigo: Aplicando recomendações de segurança na instalação do Zabbix
Artigo: Aplicando recomendações de segurança na instalação do ZabbixAécio Pires
 
SNMP/Zabbix - Vulnerabilidades e Contramedidas 1
SNMP/Zabbix - Vulnerabilidades e Contramedidas 1SNMP/Zabbix - Vulnerabilidades e Contramedidas 1
SNMP/Zabbix - Vulnerabilidades e Contramedidas 1Aécio Pires
 
TCOS e Educação: Um estudo de caso.
TCOS e Educação: Um estudo de caso.TCOS e Educação: Um estudo de caso.
TCOS e Educação: Um estudo de caso.Aécio Pires
 
Ambientes Virtuais de Ensino com Software Livre
Ambientes Virtuais de Ensino com Software LivreAmbientes Virtuais de Ensino com Software Livre
Ambientes Virtuais de Ensino com Software LivreAécio Pires
 
Ambientes Virtuais de Ensino com Software Livre
Ambientes Virtuais de Ensino com Software LivreAmbientes Virtuais de Ensino com Software Livre
Ambientes Virtuais de Ensino com Software LivreAécio Pires
 

Más de Aécio Pires (14)

Pipeconf no CoffeOps Campinas
Pipeconf no CoffeOps CampinasPipeconf no CoffeOps Campinas
Pipeconf no CoffeOps Campinas
 
Configuração de ativos de rede utilizando a abordagem infrastructure as code
Configuração de ativos de rede utilizando a abordagem infrastructure as codeConfiguração de ativos de rede utilizando a abordagem infrastructure as code
Configuração de ativos de rede utilizando a abordagem infrastructure as code
 
Zabbix BR 2020
Zabbix BR 2020Zabbix BR 2020
Zabbix BR 2020
 
Gerenciando o Zabbix com o SaltStack
Gerenciando o Zabbix com o SaltStackGerenciando o Zabbix com o SaltStack
Gerenciando o Zabbix com o SaltStack
 
Integração contínua com Jenkins
Integração contínua com JenkinsIntegração contínua com Jenkins
Integração contínua com Jenkins
 
Gerenciando o Zabbix com o SaltStack
Gerenciando o Zabbix com o SaltStackGerenciando o Zabbix com o SaltStack
Gerenciando o Zabbix com o SaltStack
 
Management Zabbix with Terraform
Management Zabbix with TerraformManagement Zabbix with Terraform
Management Zabbix with Terraform
 
Lançamento do livro "De A a Zabbix" no IFPB
Lançamento do livro "De A a Zabbix" no IFPBLançamento do livro "De A a Zabbix" no IFPB
Lançamento do livro "De A a Zabbix" no IFPB
 
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
 
Artigo: Aplicando recomendações de segurança na instalação do Zabbix
Artigo: Aplicando recomendações de segurança na instalação do ZabbixArtigo: Aplicando recomendações de segurança na instalação do Zabbix
Artigo: Aplicando recomendações de segurança na instalação do Zabbix
 
SNMP/Zabbix - Vulnerabilidades e Contramedidas 1
SNMP/Zabbix - Vulnerabilidades e Contramedidas 1SNMP/Zabbix - Vulnerabilidades e Contramedidas 1
SNMP/Zabbix - Vulnerabilidades e Contramedidas 1
 
TCOS e Educação: Um estudo de caso.
TCOS e Educação: Um estudo de caso.TCOS e Educação: Um estudo de caso.
TCOS e Educação: Um estudo de caso.
 
Ambientes Virtuais de Ensino com Software Livre
Ambientes Virtuais de Ensino com Software LivreAmbientes Virtuais de Ensino com Software Livre
Ambientes Virtuais de Ensino com Software Livre
 
Ambientes Virtuais de Ensino com Software Livre
Ambientes Virtuais de Ensino com Software LivreAmbientes Virtuais de Ensino com Software Livre
Ambientes Virtuais de Ensino com Software Livre
 

Transportando as aplicações entre vários ambientes com Docker

  • 1. Transportando as aplicações entre vários ambientes com Docker Aécio Pires
  • 2. Aécio dos Santos Pires http://aeciopires.com Administrador de Sistemas DevOp na Especialista em Segurança da Informação pela iDEZ Um dos autores do livro Tecnólogo em Redes de Computadores pelo
  • 4. Mudança de Paradigma ● Cultura DevOps; ● Integração contínua; ● Alterações mais frequentes e mais rápidas em produção; ● Micro-serviços; ● Ambientes “elásticos”; ● Maior complexidade na análise de logs, no monitoramento e na segurança dos hosts;
  • 5. Docker ● “É uma plataforma de contêiner, com o código fonte aberto, que automatiza a implantação de aplicativos de software.” Site Oficial [1] ● Não é uma tecnologia de virtualização. ● Não é um gerente de configuração. ● Não é um kernel separado. ● Não é um hypervisor.
  • 6. Docker ● Foi publicado em 13 de Março de 2013. ● Está em constante desenvolvimento. ● Desenvolvido inicialmente pela dotCloud, atual Docker Inc. ● Hoje é mantido pela Docker Inc. + comunidade. ● Tem suporte a Linux, Windows, Mac OS, entre outros. ● Licença Apache 2.0 ● Tem as versões Enterprise (EE) e Comunity (CE) ● No Linux, o diretório de trabalho fica em: /var/lib/docker/ ● Site oficial: www.docker.com ● Documentação: docs.docker.com
  • 8. Contêineres ● “São um encapsulamento para um aplicativo com suas dependências.” Using Docker de Adrian Mouat (O’Reilly) [2] [3] ● Ocupam menos espaço do que as VMs. ● São portáveis. ● São ligados quase instantaneamente. ● São adequados para execução de microserviços e pouco recomendados para sistemas monolíticos. ● Vários contêineres podem ser executados na mesma máquina. ● Compartilham o kernel do SO. ● Cada conteiner é executado como um processo isolado no espaço do usuário. ● Conteiner é um conceito antigo.
  • 10. Imagens ● Funciona como um template para criação de novos contêineres. ● A partir de uma imagem, é possível iniciar novos contêineres e fazer alterações neles. ● São formadas a partir da compilação de uma imagem base. ● São compostas por múltiplas camadas, onde cada uma é um sistema de arquivos somente leitura. ● Podem ser geradas a partir de um conteiner em execução ou a partir da compilação de um Dockerfile.
  • 12. Do DockerFile ao Conteiner
  • 13. Docker Host ● É o host no qual são executados os conteiners e onde são processados os comandos enviados pelo docker client. ● O docker host pode conter o docker daemon e o client ou somente o docker daemon.
  • 15. Do Desenvolvimento à Produção
  • 16. Responsabilidades diferentes DesenvolvimentoDesenvolvimento ProduçãoProdução Metologias Ágeis Disponibilidade Integração Contínua Persistência de dados (storage) Correção de bugs Segurança Ambiente para testes Backup Versionamento de código Configurações específicas Sprints Logs Processos de desenvolvimento Monitoramento Geração de código Alertas Merges Métricas Coleta de requisitos Escalabilidade Reuniões e mais reuniões Rollback Orquestração Deploy de aplicações Documentação Suporte ao usuário
  • 20. Docker Hub e Docker Registry Docker Hub (hub.docker.com): ● É um serviço remoto e proprietário de hospedagem de imagens Docker. ● É possível criar contas gratuitas para criação de repositórios de imagens públicas (gratuito) e privadas (pago US$). ● Possui interface web para gerenciamento de usuários, repositórios, imagens e builds automáticos. Docker Registry (docs.docker.com/registry): ● É um serviço open source alternativo ao Docker Hub para hospedagem gratuíta de imagens em um servidor local. ● Funciona de forma semelhante ao Docker Hub. ● Não possui interface web nativa.
  • 21. Docker Hub e Registry
  • 22. Ferramentas de Apoio à Operação em Produção ● Interfaces web ao Docker Registry… – http://port.us.org – http://vmware.github.io/harbor – http://www.projectatomic.io/registry
  • 23. Ferramentas de Apoio à Operação em Produção ● Orquestração e escalabilidade… – docs.docker.com/engine/swarm
  • 24. Docker Swarm ● Solução de cluster Docker, que agrupa vários hosts Docker e possibilita a orquestração dos mesmos e de contêineres. MOUAT, Adrian ● Se encarrega de selecionar um host apropriado no qual o conteiner será executado. ● Pode ser formado por Docker Hosts de VMs e/ou físicos ou os dois simultaneamente. ● docs.docker.com/engine/swarm
  • 25. Ferramentas de Apoio à Operação em Produção ● Gerenciamento de conteiners, volumes, Docker Swarm, rede do Docker… – http://rancher.com – https://portainer.io – https://meros.io – https://shipyard-project.com
  • 26. ● “É uma ferramenta web e de código fonte aberto que permite gerenciar vários Docker Hosts ou vários clusters de Docker Swarm.” [4] ● Portainer: portainer.io github.com/portainer/portainer https://portainer.io/overview.html#demo
  • 27.
  • 28.
  • 29. Transportando as aplicações entre vários ambientes com Docker
  • 30. Ferramentas de Apoio à Operação em Produção ● Alerta, monitoramento, logs, coleta de métricas… – http://zabbix.com – https://github.com/monitoringartist/zabbix-xxl – https://grafana.com – https://meros.io – https://sysdig.com – https://www.coscale.com – https://signalfx.com
  • 33. Meros
  • 37. GOMES, Rafael - Docker para desenvolvedores https://leanpub.com/dockerparadesenvolvedores MOUAT, Adrian – Usando Docker https://www.novatec.com.br/livros/usando-docker PIRES, Aécio – Primeiros passos com Docker http://blog.aeciopires.com/primeiros-passos-com-docker Referências
  • 38. Então, faça um curso comigo. :-) Mais informações: http://blog.aeciopires.com/curso-docker Quer aprender mais sobre Docker?