Introdução ao docker

719 visualizações

Publicada em

Lightning Talk apresentada no Open Talks 03/2015 Rio de Janeiro

Publicada em: Tecnologia
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
719
No SlideShare
0
A partir de incorporações
0
Número de incorporações
17
Ações
Compartilhamentos
0
Downloads
39
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Introdução ao docker

  1. 1. Introdução ao Docker MeetUp Open Talks RJ - 03/2015
  2. 2. O que é o Docker Uma abstração opensource que automatiza a implementação de qualquer aplicação de forma leve e portátil em containers auto- suficientes, onde poderão ser executados nos mais diversos ambientes.
  3. 3. Motivação Nós queremos entregar nosso software funcional para diferentes ambientes de forma simples.
  4. 4. Principais Problemas ● Mover do ambiente de desenvolvimento para produção é difícil ○ Bibliotecas conflitantes / Diferentes versões ○ Diferentes sistemas operacionais ○ Diferentes versões de banco de dados ● Criar, atualizar e manter toda a software stack é difícil ○ O projeto usualmente contém muitas libs, bancos de dados, serviços… ○ Difícil de manter uma versão do projeto reproduzível ● Teste / Integração Contínua / Entrega Contínua é difîcil de automatizar
  5. 5. Como resolver isso (DIY) Faça você mesmo (Do-It-Yourself) 1. Copiar / Instalar depedencias (manualmente) 2. Preparar os banco de dados 3. Instalar a última versão do projeto 4. Configurar as propriedades 5. Testar o projeto em execução 6. Epaa! Alguma coisa esta faltando, não esta funcionando! 7. Consertar os erros 8. Repetir os testes da aplicação novamente até estar funcionando 9. Escrever manuais para ajudar outras pessoas a configurar o (monstrinho).
  6. 6. Como resolver isso (VMs) Empacotar tudo em uma VM e execute o deploy em diferentes ambientes
  7. 7. Desvantages das VMs ● Pesada. Quantas VMs você pode rodar em sua maquina? ● Consumo alto de recursos. Virtualização completa OS, I/O, etc… ● Tamanho. Usualmente precisa de muitos GBs para cada VM ● Problemas de portabilidade. Diferentes soluções de virtualização. ● Gerenciamento. Difícil de manter / configurar / reusar diferentes versões de cada VM. ● Problemas de gerenciamento podem ser resolvidos com Vagrant, Chef, Puppet…
  8. 8. Como resolver isso (Docker) Empacotar tudo em containers LXC
  9. 9. Virtual Machines Cada aplicação virtualizada não inclui somente a aplicação - onde pode ser somente 10MB de arquivo - e as libs e binários necessários, mas também todo um sistema operacional - onde pode ter mais de 10 GB. Docker vs Virtual Machines Docker A Docker Engine Container compreende apenas a aplicação e suas dependencias. Ela roda em um processo isolado em um userspace no sistema operacional hospedeiro, compartilhando o kernel com os outros containers. Dessa forma é possível ter o isolamento e alocamento de recurso que uma vm proporciona porém mais portatíl e eficiente.
  10. 10. O Ecosistema do Docker
  11. 11. Obrigado By Hugo Leonardo Costa e Silva WebDeveloper at Holis @hugoleodev

×