O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

TDC2017 | POA Trilha Containers Piores praticas em containers!

95 visualizações

Publicada em

Trilha Containers - Piores práticas em containers!

Publicada em: Educação
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

TDC2017 | POA Trilha Containers Piores praticas em containers!

  1. 1. Piores Práticas em Containers Ou como aprender da pior forma!
  2. 2. $whoami ● Pery Lemke aka Peronium ● SRE na Ahgora Sistemas ● Sudocaster :) ● Membro da organização do meetup DevOps Floripa ● Entusiasta DevOps ● Garimpeiro de bandas obscuras de Stoner e Doom.
  3. 3. $whoami ● Gomex aka Rafael Gomes ● Especialista na Stone ● Participante do Sudocast :) ● Membro da organização do DevOps Day PoA/Salvador ● Entusiasta DevOps ● Garimpeiro de bandas .*
  4. 4. Porque piores práticas? Porque não há nada na vida como aprender errando! E os exemplos serão com base no Docker. Sorry rkt :/
  5. 5. Tag :latest
  6. 6. Pois sempre baixará a última versão da imagem no repositório. Porém num belo dia, se houver uma atualização todo o seu projeto pode quebrar. Porque é uma má prática?
  7. 7. Por isso...
  8. 8. Mapear porta pública
  9. 9. Expor uma porta alta deixa sua aplicação vulnerável externamente, principalmente em serviços como o Kubernetes e o OpenShift (Kubernetes com esteróides). Lembrando que toda execução dentro do container deve ser feita por um usuário sem previlégio. Porque é uma má prática?
  10. 10. Por isso...
  11. 11. apt-get/yum/apk...
  12. 12. Rodar um upgrade atualizará os pacotes que já estão na versão correta oriunda na sua imagem, e com isso o seu container perderá a consistência e imutabilidade. Rodar update e install em linhas separadas causará o armazenamento em cache apenas do update, e não realizará a instalação das dependências no seu container. Porque é uma má prática?
  13. 13. Por isso...
  14. 14. Uso do ADD ao invés do COPY
  15. 15. Parecidos, porém diferentes. O COPY é mais simples, ele apenas copia o arquivo e/ou diretório para o seu container. Já o ADD, apesar de fazer o mesmo, ele “automagicamente” extrai arquivos TAR ou busca arquivos de URLs remotas. Resumidamente o ADD é uma “bazuca”, mas não use uma bazuca para matar uma mosca e sim para destruir tanques. Porque é uma má prática?
  16. 16. Por isso...
  17. 17. Múltiplos serviços em um container
  18. 18. Escalabilidade da aplicação muito mais complicada, sem falar na lentidão que as dependências instaladas irão causar no seu container. E o principal motivo é que seu Dockerfile ficará extremamente difícil de escrever e manter. E por fim é totalmente anti-12factor :) Porque é uma má prática?
  19. 19. Por isso...
  20. 20. Outras piores práticas... ● Armazenar dados sensíveis em container; ● Usar root (Tema polêmico!); ● Não usar .dockerignore; ● Gemfile ou requirements.pip sem cache; ● Container = VM; ● E tantas outras...
  21. 21. Dúvidas capciosas ou algum case para compartilhar? :)
  22. 22. Agradecimentos Agradecimento especial ao Gomex e ao Helber pela mentoria para esta talk. Agradecer a Ahgora Sistemas pelo apoio. E as vocês por participarem e ouvirem este pobre speaker. :)
  23. 23. Thanks! Contatos: github.com/perylemke twitter.com/perylemke pery.lemke@gmail.com www.sudocast.com.br www.facebook.com/1sudocast

×