Apresentação sobre algumas considerações sobre o uso de Docker.
TDC Floripa 2015: www.thedevelopersconference.com.br/tdc/2015/florianopolis/trilha-cloud-computing
5. O QUE É DOCKER?
5
• Tecnologia recente (2013)
• Baseada em namespaces (isolamento de processos)
• Plataforma com ferramentas de suporte de armazenamento, rede
• Comunidade grande e crescendo sempre
• Esta em Trial no Tech Radar da ThoughtWorks
7. POR QUE DOCKER?
7
• Todas dependências de uma aplicação dentro de um pacote (imagem)
• Várias aplicações em um mesmo servidor
• Mesma imagem em diferentes servidores e ambientes
• Imagem torna-se um artefato de deployment
• Facilita escalar horizontalmente
• Isolamento de aplicação e dependências de forma barata
10. COMO "DOCKERIZAR"?
10
• A aplicação pode iniciar e parar a qualquer momento?
• Como a aplicação sabe localizar os serviços que ela usa?
• Assume serviços rodando no mesmo servidor?
• Como as dependências são gerenciadas?
• Como arquivos gerados pela aplicação são persistidos?
12. DOCKER NO PIPELINE
12
• Seu CI já possui artefatos gerados?
• Como publicar imagens do Docker?
• Posso utilizar um registro publico?
• Como manter o próprio registro?
• Como se integra com outros gerenciadores de artefatos?
14. COMPOSIÇÃO DE CONTAINERS
14
• Como os seus processos interagem?
• Eles se comunicam por rede?
• Eles se comunicam por arquivos intermediarios?
• Como orquestrar containers para desenvolvimento?
• Como orquestrar containers em produção?
15. COMO LIDAR COM
PERSISTÊNCIA DE
ARQUIVOS?
Containers são descartáveis. Como lidar com arquivos de forma
persistente?
15
16. PERSISTÊNCIA DE ARQUIVOS
16
• Os arquivos do containers podem ser descartados?
• Como gerencio arquivos permanentes?
• Onde persistir esses arquivos?
18. DEPLOYMENT
18
• Como configurar o servidor do Docker?
• Posso continuar usando o meu Configuration Manager?
• Qual distro recomendada?
• Como implementar meu próprio PaaS?
20. MÚLTIPLOS SERVIDORES
20
• Como abstraio a rede entre múltiplos servidores?
• Como faço para containers serem executados no mesmo
servidor?
• Como o sistema escolhe qual servidor executará o
container?
21. E É SEGURO?
Aplicações podem ser comprometidas por diversos motivos. Como
containers mitigam os problemas?
21
22. SEGURANÇA
22
• Quão isolados são os processos?
• Quão difícil é escalar privilégios?
• Como aplicar patches de segurança?
• Como auditar containers?
23. ESTA MADURO?
A comunidade é forte e tem resolvido vários problemas que estamos
discutindo. Será que devo começar a usar?
23
24. MATURIDADE
24
• Tenho um processo que consegue acompanhar as
mudanças do ecosistema?
• As mudanças tem sido retro-compatíveis?
28. FUTURO
28
• Acompanhar o que outras empresas tem feito
• New Relic, Spotify, Google, Joyent, Phusion, Iron.io...
• Acompanhe outras tecnologias de containers
• rkt (CoreOs), Snappy (Canonical), systemd-nspawn
• Kubernets, Mesos, Marathon, Flyn, Deis...
• Acompanhe a evolução da plataforma
• Powerstrip, Weave, Flannel, Swarm, Registrator.