Contêineres e VMs
no mundo dos E-
commerces
About me
▫ TI desde 2000
▫ Técnico em Telecom
▫ PHP ZCE
▫ Devop na Global Fashion Group
▫ Instrutor
▫ Autor
▫ Pai
Merchan
http://aprendendodocker.com.br
Agenda
Máquinas Físicas
Máquinas Virtuais
Contêineres
Comparativo
Onde usar cada um
Disclaimer:
I am not a cloud specialist
Máquinas Físicas
O início
▫ Escolher datacenterMáquinas Físicas
Máquinas Físicas
▫ Escolher datacenter
▫ Contratar link de internet
▫ Escolher datacenter
▫ Contratar link de internet
▫ Contratar links de voz
Máquinas Físicas
▫ Escolher datacenter
▫ Contratar link de internet
▫ Contratar links de voz
▫ Comprar e configurar roteadores
Máquinas Fís...
▫ Escolher datacenter
▫ Contratar link de internet
▫ Contratar links de voz
▫ Comprar e configurar roteadores
▫ Comprar e ...
▫ Escolher datacenter
▫ Contratar link de internet
▫ Contratar links de voz
▫ Comprar e configurar roteadores
▫ Comprar e ...
Máquinas Físicas
▫ Escolher datacenter
▫ Contratar link de internet
▫ Contratar links de voz
▫ Comprar e configurar rotead...
▫ Monitorar custosMáquinas Físicas
▫ Monitorar custos
▫ Monitorar funcionamento
Máquinas Físicas
▫ Monitorar custos
▫ Monitorar funcionamento
▫ Monitorar utilização
Máquinas Físicas
▫ Monitorar custos
▫ Monitorar funcionamento
▫ Monitorar utilização
▫ Escalabilidade lenta
Máquinas Físicas
▫ Monitorar custos
▫ Monitorar funcionamento
▫ Monitorar utilização
▫ Escalabilidade lenta
▫ Aplicações monolíticas
Máquin...
Máquinas Físicas
▫ Monitorar custos
▫ Monitorar funcionamento
▫ Monitorar utilização
▫ Escalabilidade lenta
▫ Aplicações m...
On-Premises
Aplicação
Dados
Runtime
Middleware
Sistema Operacional
Virtualização
Servidor
Armazenamento
Rede
● Cliente
● F...
Quem trabalha com máquinas
físicas?
Máquinas Virtuais
Evolução
▫ Escolher tipo de cloud
(IAAS/PAAS)
Máquinas
Virtuais
▫ Escolher tipo de cloud
(IAAS/PAAS)
▫ Escolher provedor de Cloud
Máquinas
Virtuais
▫ Escolher tipo de cloud
(IAAS/PAAS)
▫ Escolher provedor de Cloud
▫ Contratar os serviços do provedor
Máquinas
Virtuais
▫ Escolher tipo de cloud
(IAAS/PAAS)
▫ Escolher provedor de Cloud
▫ Contratar os serviços do provedor
▫ Provisionar e conf...
▫ Escolher tipo de cloud
(IAAS/PAAS)
▫ Escolher provedor de Cloud
▫ Contratar os serviços do provedor
▫ Provisionar e conf...
Máquinas
Virtuais
▫ Escolher tipo de cloud
(IAAS/PAAS)
▫ Escolher provedor de Cloud
▫ Contratar os serviços do provedor
▫ ...
IAAS - Infrastructure As A Service
Aplicação
Dados
Runtime
Middleware
Sistema Operacional
Virtualização
Servidor
Armazenam...
PAAS - Platform As A Service
Aplicação
Dados
Runtime
Middleware
Sistema Operacional
Virtualização
Servidor
Armazenamento
R...
▫ Monitorar custosMáquinas
Virtuais
▫ Monitorar custos
▫ Monitorar funcionamento
Máquinas
Virtuais
▫ Monitorar custos
▫ Monitorar funcionamento
▫ Monitorar utilização
Máquinas
Virtuais
▫ Monitorar custos
▫ Monitorar funcionamento
▫ Monitorar utilização
▫ Escalabilidade rápida
Máquinas
Virtuais
▫ Monitorar custos
▫ Monitorar funcionamento
▫ Monitorar utilização
▫ Escalabilidade rápida
▫ Aplicações quebrada em servi...
Máquinas
Virtuais
▫ Monitorar custos
▫ Monitorar funcionamento
▫ Monitorar utilização
▫ Escalabilidade rápida
▫ Aplicações...
Contêineres
Novo paradigma
Contêineres
E aí como que se faz com
contêineres?
Contêineres
E aí como que se faz com
contêineres?
Primeiramente veremos as
características de cada um.
Máquinas Físicas
Sistema Operacional
Bins/Libs Bins/Libs
App1 App2
Máquinas
Virtuais
Hypervisor
SO Guest SO Guest
App1 App2
Sistema Operacional
Bins/Libs Bins/Libs
Contêineres
Container Engine
App1 App2
Sistema Operacional
Bins/Libs Bins/Libs
Qual modelo você NÃO usaria
no seu e-commerce hoje?
Comparativo entre
VMs e Contêineres
● Isolamento no nível de
sistema operacional
● Isolamento no nível de
máquina
Máquinas Virtuais Contêineres
● Isolamento no nível de
sistema operacional
● Aplicações são
processos no Host
● Isolamento no nível de
máquina
● Aplicaç...
● Isolamento no nível de
sistema operacional
● Aplicações são
processos no Host
● Provisionamento rápido
● Isolamento no n...
Máquinas Virtuais Contêineres
● Isolamento no nível de
máquina
● Aplicações usam o
kernel do guest
● Provisionamento lento...
Máquinas Virtuais Contêineres
● Isolamento no nível de
máquina
● Aplicações usam o
kernel do guest
● Provisionamento lento...
Onde usar cada um?
Ambiente de
Dev
Quais os focos em montar um
ambiente de dev?
Quais os focos em montar um
ambiente de dev?
▫ Provisionar rápido
Ambiente de
Dev
Ambiente de
Dev
Quais os focos em montar um
ambiente de dev?
▫ Provisionar rápido
▫ Fácil montar, destruir e remontar
Ambiente de
Dev
Quais os focos em montar um
ambiente de dev?
▫ Provisionar rápido
▫ Fácil montar, destruir e remontar
▫ E ...
Ambiente de
Dev
Monte o mais parecido ao
ambiente de produção possível.
Inclusive as versões utilizadas.
Ambiente de
Dev
Monolito => Vai de VM
Ambiente de
Dev
Monolito => Vai de VM
PHP
MySQL
Redis
Varnish
RabbitMQ
Ambiente de
Dev
Microservice => Vai de container
Ambiente de
Dev
Microservice => Vai de container
PHP
MySQL Redis
Varnish RabbitMQ
Esteira de
entrega
Quais os focos em montar ambientes
para a esteira de entrega?
Quais os focos em montar ambientes
para a esteira de entrega?
▫ Que o código seja integrado de
maneira contínua (CI)
Estei...
Quais os focos em montar ambientes
para a esteira de entrega?
▫ Que o código seja integrado de
maneira contínua (CI)
▫ Tes...
Esteira de
entrega
Quais os focos em montar ambientes
para a esteira de entrega?
▫ Que o código seja integrado de
maneira ...
Esteira de
entrega
Quais os focos em montar ambientes
para a esteira de entrega?
▫ Que o código seja integrado de
maneira ...
Dê preferência para contêineres.
Esteira de
entrega
▫ Com contêineres não é necessário
instalar todas as dependências
para que suas aplicações sejam
testad...
Esteira de
entrega
▫ Com contêineres não é necessário
instalar todas as dependências
para que suas aplicações sejam
testad...
E o ambiente de produção? Uso
Contêineres ou VMs?
Quais os focos em montar um
ambiente de produção?
Em produção
Quais os focos em montar um
ambiente de produção?
▫ Alta Disponibilidade
Em produção
Quais os focos em montar um
ambiente de produção?
▫ Alta Disponibilidade
▫ Escalabilidade
Em produção
Quais os focos em montar um
ambiente de produção?
▫ Alta Disponibilidade
▫ Escalabilidade
▫ Redundâncias
Em produção
▫ VMs ainda são mais maduras out-
of the-box
Em produção
▫ VMs ainda são mais maduras out-
of the-box
▫ Contêineres sobre VMs overhead
de 5-8% (bit.ly/research-ibm)
Em produção
▫ VMs ainda são mais maduras out-
of the-box
▫ Contêineres sobre VMs overhead
de 5-8% (bit.ly/research-ibm)
▫ Contêineres ...
Em produção
▫ VMs ainda são mais maduras out-
of the-box
▫ Contêineres sobre VMs overhead
de 5-8% (bit.ly/research-ibm)
▫ ...
Contêineres em
produção
Cuidados
Dev Prod
Contêineres em
produção
▫ Migre apenas um serviço por vez
Contêineres em
produção
▫ Migre apenas um serviço por vez
▫ Começe por serviços pequenos.
Ex. APIs, load balancers.
▫ Migre apenas um serviço por vez
▫ Começe por serviços pequenos.
Ex. APIs, load balancers.
▫ Sistema de Deploy diferencia...
▫ Migre apenas um serviço por vez
▫ Começe por serviços pequenos.
Ex. APIs, load balancers.
▫ Sistema de Deploy diferencia...
Contêineres em
produção
▫ Migre apenas um serviço por vez
▫ Começe por serviços pequenos.
Ex. APIs, load balancers.
▫ Sist...
Contêineres em
produção
▫ Migre apenas um serviço por vez
▫ Começe por serviços pequenos.
Ex. APIs, load balancers.
▫ Sist...
Contêineres em
produção
▫ Serviço de registry rodando
Contêineres em
produção
▫ Serviço de registry rodando
▫ Registry de Alta disponibilidade
Contêineres em
produção
▫ Serviço de registry rodando
▫ Registry de Alta disponibilidade
▫ Na mesma network do CI
Contêineres em
produção
▫ Serviço de registry rodando
▫ Registry de Alta disponibilidade
▫ Na mesma network do CI
▫ Storag...
Contêineres em
produção
▫ Serviço de registry rodando
▫ Registry de Alta disponibilidade
▫ Na mesma network do CI
▫ Storag...
Contêineres em
produção
▫ Serviço de registry rodando
▫ Registry de Alta disponibilidade
▫ Na mesma network do CI
▫ Storag...
Contêineres em
produção
▫ Serviço de registry rodando
▫ Registry de Alta disponibilidade
▫ Na mesma network do CI
▫ Storag...
Contêineres em
produção
▫ Serviço de registry rodando
▫ Registry de Alta disponibilidade
▫ Na mesma network do CI
▫ Storag...
Contêineres em
produção
▫ Health checks melhores que em
VMs
Contêineres em
produção
▫ Health checks melhores que em
VMs
▫ Possibilidade de RollBack
Contêineres em
produção
▫ Health checks melhores que em
VMs
▫ Possibilidade de RollBack
▫ Logs centralizados e indexados
Contêineres em
produção
▫ Health checks melhores que em
VMs
▫ Possibilidade de RollBack
▫ Logs centralizados e indexados
▫...
▫ Repositório de imagensContêineres em
produção
▫ Repositório de imagens
▫ Gerenciamento de hosts
Contêineres em
produção
▫ Repositório de imagens
▫ Gerenciamento de hosts
▫ Gerenciamento de configurações
Contêineres em
produção
▫ Repositório de imagens
▫ Gerenciamento de hosts
▫ Gerenciamento de configurações
▫ Locais
Contêineres em
produção
▫ Repositório de imagens
▫ Gerenciamento de hosts
▫ Gerenciamento de configurações
▫ Locais
▫ Do cluster
Contêineres em
pr...
▫ Gerencia de OrquestraçãoContêineres em
produção
▫ Gerencia de Orquestração
▫ Como organizar o cluster
Contêineres em
produção
▫ Gerencia de Orquestração
▫ Como organizar o cluster
▫ Organizar contêineres nos
clusters
Contêineres em
produção
▫ Gerencia de Orquestração
▫ Como organizar o cluster
▫ Organizar contêineres nos
clusters
▫ Definir estratégia de schedul...
▫ Gerencia de Orquestração
▫ Como organizar o cluster
▫ Organizar contêineres nos
clusters
▫ Definir estratégia de schedul...
▫ Gerencia de Orquestração
▫ Como organizar o cluster
▫ Organizar contêineres nos
clusters
▫ Definir estratégia de schedul...
▫ SegurançaContêineres em
produção
▫ Segurança
▫ Imagem (docker bench,
nautilus, etc.)
Contêineres em
produção
▫ Segurança
▫ Imagem (docker bench,
nautilus, etc.)
▫ Acesso, remover Linux
capabilities
--cap-drop sys_chroot
Contêineres...
▫ Segurança
▫ Imagem (docker bench,
nautilus, etc.)
▫ Acesso, remover Linux
capabilities
--cap-drop sys_chroot
▫ Mudar con...
▫ Utilizar framework do
kernel (SELinux ApArmor)
--selinux-enabled
Contêineres em
produção
▫ Utilizar framework do
kernel (SELinux ApArmor)
--selinux-enabled
▫ Limitar recursos
--cpu-shares=512
Contêineres em
prod...
▫ MonitoramentoContêineres em
produção
▫ Monitoramento
▫ Sysdig
Contêineres em
produção
▫ Monitoramento
▫ Sysdig
▫ Datadog
Contêineres em
produção
▫ Monitoramento
▫ Sysdig
▫ Datadog
▫ New Relic
Contêineres em
produção
▫ Monitoramento
▫ Sysdig
▫ Datadog
▫ New Relic
▫ Stats (docker stats)
Contêineres em
produção
▫ Não utilizar SSH, gerencie
contêineres via Host
Contêineres em
produção
São cuidados para evitar isso:
Não existe bala de prata, cada
problema tem algumas
soluções possíveis, é questão de
analisar e escolher.
Fontes Imagens: baixandowallpapers.com e clipartpanda.
com
Apresentação: slidescarnival.com
Próximos SlideShares
Carregando em…5
×

Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)

110 visualizações

Publicada em

Palestra sobre contêineres e máquinas virtuais ministrada no DevCommerce Conference 2016.

Publicada em: Internet
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
110
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)

  1. 1. Contêineres e VMs no mundo dos E- commerces
  2. 2. About me ▫ TI desde 2000 ▫ Técnico em Telecom ▫ PHP ZCE ▫ Devop na Global Fashion Group ▫ Instrutor ▫ Autor ▫ Pai
  3. 3. Merchan http://aprendendodocker.com.br
  4. 4. Agenda Máquinas Físicas Máquinas Virtuais Contêineres Comparativo Onde usar cada um
  5. 5. Disclaimer: I am not a cloud specialist
  6. 6. Máquinas Físicas O início
  7. 7. ▫ Escolher datacenterMáquinas Físicas
  8. 8. Máquinas Físicas ▫ Escolher datacenter ▫ Contratar link de internet
  9. 9. ▫ Escolher datacenter ▫ Contratar link de internet ▫ Contratar links de voz Máquinas Físicas
  10. 10. ▫ Escolher datacenter ▫ Contratar link de internet ▫ Contratar links de voz ▫ Comprar e configurar roteadores Máquinas Físicas
  11. 11. ▫ Escolher datacenter ▫ Contratar link de internet ▫ Contratar links de voz ▫ Comprar e configurar roteadores ▫ Comprar e configurar servidores Máquinas Físicas
  12. 12. ▫ Escolher datacenter ▫ Contratar link de internet ▫ Contratar links de voz ▫ Comprar e configurar roteadores ▫ Comprar e configurar servidores ▫ Aguardar terceiros provisionar e fazer as instalações. Máquinas Físicas
  13. 13. Máquinas Físicas ▫ Escolher datacenter ▫ Contratar link de internet ▫ Contratar links de voz ▫ Comprar e configurar roteadores ▫ Comprar e configurar servidores ▫ Aguardar terceiros provisionar e fazer as instalações. ▫ Botar para rodar
  14. 14. ▫ Monitorar custosMáquinas Físicas
  15. 15. ▫ Monitorar custos ▫ Monitorar funcionamento Máquinas Físicas
  16. 16. ▫ Monitorar custos ▫ Monitorar funcionamento ▫ Monitorar utilização Máquinas Físicas
  17. 17. ▫ Monitorar custos ▫ Monitorar funcionamento ▫ Monitorar utilização ▫ Escalabilidade lenta Máquinas Físicas
  18. 18. ▫ Monitorar custos ▫ Monitorar funcionamento ▫ Monitorar utilização ▫ Escalabilidade lenta ▫ Aplicações monolíticas Máquinas Físicas
  19. 19. Máquinas Físicas ▫ Monitorar custos ▫ Monitorar funcionamento ▫ Monitorar utilização ▫ Escalabilidade lenta ▫ Aplicações monolíticas ▫ Caso de falhas tinha que ir no datacenter
  20. 20. On-Premises Aplicação Dados Runtime Middleware Sistema Operacional Virtualização Servidor Armazenamento Rede ● Cliente ● Fornecedor Legenda
  21. 21. Quem trabalha com máquinas físicas?
  22. 22. Máquinas Virtuais Evolução
  23. 23. ▫ Escolher tipo de cloud (IAAS/PAAS) Máquinas Virtuais
  24. 24. ▫ Escolher tipo de cloud (IAAS/PAAS) ▫ Escolher provedor de Cloud Máquinas Virtuais
  25. 25. ▫ Escolher tipo de cloud (IAAS/PAAS) ▫ Escolher provedor de Cloud ▫ Contratar os serviços do provedor Máquinas Virtuais
  26. 26. ▫ Escolher tipo de cloud (IAAS/PAAS) ▫ Escolher provedor de Cloud ▫ Contratar os serviços do provedor ▫ Provisionar e configurar via painel de controle ou API Máquinas Virtuais
  27. 27. ▫ Escolher tipo de cloud (IAAS/PAAS) ▫ Escolher provedor de Cloud ▫ Contratar os serviços do provedor ▫ Provisionar e configurar via painel de controle ou API ▫ Faz o deploy da aplicação Máquinas Virtuais
  28. 28. Máquinas Virtuais ▫ Escolher tipo de cloud (IAAS/PAAS) ▫ Escolher provedor de Cloud ▫ Contratar os serviços do provedor ▫ Provisionar e configurar via painel de controle ou API ▫ Faz o deploy da aplicação ▫ Bota pra rodar
  29. 29. IAAS - Infrastructure As A Service Aplicação Dados Runtime Middleware Sistema Operacional Virtualização Servidor Armazenamento Rede ● Cliente ● Fornecedor Legenda
  30. 30. PAAS - Platform As A Service Aplicação Dados Runtime Middleware Sistema Operacional Virtualização Servidor Armazenamento Rede ● Cliente ● Fornecedor Legenda
  31. 31. ▫ Monitorar custosMáquinas Virtuais
  32. 32. ▫ Monitorar custos ▫ Monitorar funcionamento Máquinas Virtuais
  33. 33. ▫ Monitorar custos ▫ Monitorar funcionamento ▫ Monitorar utilização Máquinas Virtuais
  34. 34. ▫ Monitorar custos ▫ Monitorar funcionamento ▫ Monitorar utilização ▫ Escalabilidade rápida Máquinas Virtuais
  35. 35. ▫ Monitorar custos ▫ Monitorar funcionamento ▫ Monitorar utilização ▫ Escalabilidade rápida ▫ Aplicações quebrada em serviços Máquinas Virtuais
  36. 36. Máquinas Virtuais ▫ Monitorar custos ▫ Monitorar funcionamento ▫ Monitorar utilização ▫ Escalabilidade rápida ▫ Aplicações quebrada em serviços ▫ Caso de falhas basta corrigir e re- provisionar
  37. 37. Contêineres Novo paradigma
  38. 38. Contêineres E aí como que se faz com contêineres?
  39. 39. Contêineres E aí como que se faz com contêineres? Primeiramente veremos as características de cada um.
  40. 40. Máquinas Físicas Sistema Operacional Bins/Libs Bins/Libs App1 App2
  41. 41. Máquinas Virtuais Hypervisor SO Guest SO Guest App1 App2 Sistema Operacional Bins/Libs Bins/Libs
  42. 42. Contêineres Container Engine App1 App2 Sistema Operacional Bins/Libs Bins/Libs
  43. 43. Qual modelo você NÃO usaria no seu e-commerce hoje?
  44. 44. Comparativo entre VMs e Contêineres
  45. 45. ● Isolamento no nível de sistema operacional ● Isolamento no nível de máquina Máquinas Virtuais Contêineres
  46. 46. ● Isolamento no nível de sistema operacional ● Aplicações são processos no Host ● Isolamento no nível de máquina ● Aplicações usam o kernel do guest Máquinas Virtuais Contêineres
  47. 47. ● Isolamento no nível de sistema operacional ● Aplicações são processos no Host ● Provisionamento rápido ● Isolamento no nível de máquina ● Aplicações usam o kernel do guest ● Provisionamento lento Máquinas Virtuais Contêineres
  48. 48. Máquinas Virtuais Contêineres ● Isolamento no nível de máquina ● Aplicações usam o kernel do guest ● Provisionamento lento ● KVM, Xen, OracleVM, VMware, VirtualBox ● Isolamento no nível de sistema operacional ● Aplicações são processos no Host ● Provisionamento rápido ● LXC, Docker, rkt, kubernetes
  49. 49. Máquinas Virtuais Contêineres ● Isolamento no nível de máquina ● Aplicações usam o kernel do guest ● Provisionamento lento ● KVM, Xen, OracleVM, VMware, VirtualBox ● Rodam outros SOs guest ● Isolamento no nível de sistema operacional ● Aplicações são processos no Host ● Provisionamento rápido ● LXC, Docker, rkt, kubernetes ● Somente Linux*
  50. 50. Onde usar cada um?
  51. 51. Ambiente de Dev Quais os focos em montar um ambiente de dev?
  52. 52. Quais os focos em montar um ambiente de dev? ▫ Provisionar rápido Ambiente de Dev
  53. 53. Ambiente de Dev Quais os focos em montar um ambiente de dev? ▫ Provisionar rápido ▫ Fácil montar, destruir e remontar
  54. 54. Ambiente de Dev Quais os focos em montar um ambiente de dev? ▫ Provisionar rápido ▫ Fácil montar, destruir e remontar ▫ E PRINCIPALMENTE:
  55. 55. Ambiente de Dev
  56. 56. Monte o mais parecido ao ambiente de produção possível. Inclusive as versões utilizadas.
  57. 57. Ambiente de Dev Monolito => Vai de VM
  58. 58. Ambiente de Dev Monolito => Vai de VM PHP MySQL Redis Varnish RabbitMQ
  59. 59. Ambiente de Dev Microservice => Vai de container
  60. 60. Ambiente de Dev Microservice => Vai de container PHP MySQL Redis Varnish RabbitMQ
  61. 61. Esteira de entrega Quais os focos em montar ambientes para a esteira de entrega?
  62. 62. Quais os focos em montar ambientes para a esteira de entrega? ▫ Que o código seja integrado de maneira contínua (CI) Esteira de entrega
  63. 63. Quais os focos em montar ambientes para a esteira de entrega? ▫ Que o código seja integrado de maneira contínua (CI) ▫ Testes sejam feitos Esteira de entrega
  64. 64. Esteira de entrega Quais os focos em montar ambientes para a esteira de entrega? ▫ Que o código seja integrado de maneira contínua (CI) ▫ Testes sejam feitos ▫ Um artefato "deployável" seja gerado
  65. 65. Esteira de entrega Quais os focos em montar ambientes para a esteira de entrega? ▫ Que o código seja integrado de maneira contínua (CI) ▫ Testes sejam feitos ▫ Um artefato "deployável" seja gerado
  66. 66. Dê preferência para contêineres.
  67. 67. Esteira de entrega ▫ Com contêineres não é necessário instalar todas as dependências para que suas aplicações sejam testadas e empacotadas.
  68. 68. Esteira de entrega ▫ Com contêineres não é necessário instalar todas as dependências para que suas aplicações sejam testadas e empacotadas. ▫ Contêinerize comandos: docker run --rm --volume "$PWD":/app composer/composer install
  69. 69. E o ambiente de produção? Uso Contêineres ou VMs?
  70. 70. Quais os focos em montar um ambiente de produção? Em produção
  71. 71. Quais os focos em montar um ambiente de produção? ▫ Alta Disponibilidade Em produção
  72. 72. Quais os focos em montar um ambiente de produção? ▫ Alta Disponibilidade ▫ Escalabilidade Em produção
  73. 73. Quais os focos em montar um ambiente de produção? ▫ Alta Disponibilidade ▫ Escalabilidade ▫ Redundâncias Em produção
  74. 74. ▫ VMs ainda são mais maduras out- of the-box Em produção
  75. 75. ▫ VMs ainda são mais maduras out- of the-box ▫ Contêineres sobre VMs overhead de 5-8% (bit.ly/research-ibm) Em produção
  76. 76. ▫ VMs ainda são mais maduras out- of the-box ▫ Contêineres sobre VMs overhead de 5-8% (bit.ly/research-ibm) ▫ Contêineres exigem muitos cuidados. Em produção
  77. 77. Em produção ▫ VMs ainda são mais maduras out- of the-box ▫ Contêineres sobre VMs overhead de 5-8% (bit.ly/research-ibm) ▫ Contêineres exigem muitos cuidados. ▫ Em bare metal temos uma otimização de recursos usando contêineres
  78. 78. Contêineres em produção Cuidados
  79. 79. Dev Prod
  80. 80. Contêineres em produção ▫ Migre apenas um serviço por vez
  81. 81. Contêineres em produção ▫ Migre apenas um serviço por vez ▫ Começe por serviços pequenos. Ex. APIs, load balancers.
  82. 82. ▫ Migre apenas um serviço por vez ▫ Começe por serviços pequenos. Ex. APIs, load balancers. ▫ Sistema de Deploy diferenciado Contêineres em produção
  83. 83. ▫ Migre apenas um serviço por vez ▫ Começe por serviços pequenos. Ex. APIs, load balancers. ▫ Sistema de Deploy diferenciado ▫ Construção de nova imagem Contêineres em produção
  84. 84. Contêineres em produção ▫ Migre apenas um serviço por vez ▫ Começe por serviços pequenos. Ex. APIs, load balancers. ▫ Sistema de Deploy diferenciado ▫ Construção de nova imagem ▫ Push da imagem para repositório
  85. 85. Contêineres em produção ▫ Migre apenas um serviço por vez ▫ Começe por serviços pequenos. Ex. APIs, load balancers. ▫ Sistema de Deploy diferenciado ▫ Construção de nova imagem ▫ Push da imagem para repositório ▫ Imagem é testada no CI server
  86. 86. Contêineres em produção ▫ Serviço de registry rodando
  87. 87. Contêineres em produção ▫ Serviço de registry rodando ▫ Registry de Alta disponibilidade
  88. 88. Contêineres em produção ▫ Serviço de registry rodando ▫ Registry de Alta disponibilidade ▫ Na mesma network do CI
  89. 89. Contêineres em produção ▫ Serviço de registry rodando ▫ Registry de Alta disponibilidade ▫ Na mesma network do CI ▫ Storage de alta performance
  90. 90. Contêineres em produção ▫ Serviço de registry rodando ▫ Registry de Alta disponibilidade ▫ Na mesma network do CI ▫ Storage de alta performance ▫ Gerencia de hosts
  91. 91. Contêineres em produção ▫ Serviço de registry rodando ▫ Registry de Alta disponibilidade ▫ Na mesma network do CI ▫ Storage de alta performance ▫ Gerencia de hosts ▫ Gerencia de configurações
  92. 92. Contêineres em produção ▫ Serviço de registry rodando ▫ Registry de Alta disponibilidade ▫ Na mesma network do CI ▫ Storage de alta performance ▫ Gerencia de hosts ▫ Gerencia de configurações ▫ Cluster e Envs
  93. 93. Contêineres em produção ▫ Serviço de registry rodando ▫ Registry de Alta disponibilidade ▫ Na mesma network do CI ▫ Storage de alta performance ▫ Gerencia de hosts ▫ Gerencia de configurações ▫ Cluster e Envs ▫ Chaves e senhas
  94. 94. Contêineres em produção ▫ Health checks melhores que em VMs
  95. 95. Contêineres em produção ▫ Health checks melhores que em VMs ▫ Possibilidade de RollBack
  96. 96. Contêineres em produção ▫ Health checks melhores que em VMs ▫ Possibilidade de RollBack ▫ Logs centralizados e indexados
  97. 97. Contêineres em produção ▫ Health checks melhores que em VMs ▫ Possibilidade de RollBack ▫ Logs centralizados e indexados ▫ Métricas diferentes, monitoramento diferenciado
  98. 98. ▫ Repositório de imagensContêineres em produção
  99. 99. ▫ Repositório de imagens ▫ Gerenciamento de hosts Contêineres em produção
  100. 100. ▫ Repositório de imagens ▫ Gerenciamento de hosts ▫ Gerenciamento de configurações Contêineres em produção
  101. 101. ▫ Repositório de imagens ▫ Gerenciamento de hosts ▫ Gerenciamento de configurações ▫ Locais Contêineres em produção
  102. 102. ▫ Repositório de imagens ▫ Gerenciamento de hosts ▫ Gerenciamento de configurações ▫ Locais ▫ Do cluster Contêineres em produção
  103. 103. ▫ Gerencia de OrquestraçãoContêineres em produção
  104. 104. ▫ Gerencia de Orquestração ▫ Como organizar o cluster Contêineres em produção
  105. 105. ▫ Gerencia de Orquestração ▫ Como organizar o cluster ▫ Organizar contêineres nos clusters Contêineres em produção
  106. 106. ▫ Gerencia de Orquestração ▫ Como organizar o cluster ▫ Organizar contêineres nos clusters ▫ Definir estratégia de schedule Contêineres em produção
  107. 107. ▫ Gerencia de Orquestração ▫ Como organizar o cluster ▫ Organizar contêineres nos clusters ▫ Definir estratégia de schedule ▫ Definir como balancear o tráfego entre os contêineres Contêineres em produção
  108. 108. ▫ Gerencia de Orquestração ▫ Como organizar o cluster ▫ Organizar contêineres nos clusters ▫ Definir estratégia de schedule ▫ Definir como balancear o tráfego entre os contêineres ▫ Configurar service discovery Contêineres em produção
  109. 109. ▫ SegurançaContêineres em produção
  110. 110. ▫ Segurança ▫ Imagem (docker bench, nautilus, etc.) Contêineres em produção
  111. 111. ▫ Segurança ▫ Imagem (docker bench, nautilus, etc.) ▫ Acesso, remover Linux capabilities --cap-drop sys_chroot Contêineres em produção
  112. 112. ▫ Segurança ▫ Imagem (docker bench, nautilus, etc.) ▫ Acesso, remover Linux capabilities --cap-drop sys_chroot ▫ Mudar contêineres para rodar sem root Contêineres em produção
  113. 113. ▫ Utilizar framework do kernel (SELinux ApArmor) --selinux-enabled Contêineres em produção
  114. 114. ▫ Utilizar framework do kernel (SELinux ApArmor) --selinux-enabled ▫ Limitar recursos --cpu-shares=512 Contêineres em produção
  115. 115. ▫ MonitoramentoContêineres em produção
  116. 116. ▫ Monitoramento ▫ Sysdig Contêineres em produção
  117. 117. ▫ Monitoramento ▫ Sysdig ▫ Datadog Contêineres em produção
  118. 118. ▫ Monitoramento ▫ Sysdig ▫ Datadog ▫ New Relic Contêineres em produção
  119. 119. ▫ Monitoramento ▫ Sysdig ▫ Datadog ▫ New Relic ▫ Stats (docker stats) Contêineres em produção
  120. 120. ▫ Não utilizar SSH, gerencie contêineres via Host Contêineres em produção
  121. 121. São cuidados para evitar isso:
  122. 122. Não existe bala de prata, cada problema tem algumas soluções possíveis, é questão de analisar e escolher.
  123. 123. Fontes Imagens: baixandowallpapers.com e clipartpanda. com Apresentação: slidescarnival.com

×