Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Minimize riscos e otimize desempenho em pipeline conteinerizado

Minimize riscos e otimize desempenho em pipeline conteinerizado

Entenda como se preparar para a demanda de conteinerização de pipeline - desde a fase de CI até chegar no ambiente de produção.

Veja como criar imagens otimizadas que terão ótimos desempenhos tanto nos processos de CI/testes até mesmo em processos de deployment (teste, staging, produção).

Também apresenta-se algumas referências de boas práticas em compliance (bootstrap, riscos/segurança).

Adriano Vieira

March 13, 2017
Tweet

More Decks by Adriano Vieira

Other Decks in Technology

Transcript

  1. [email protected] @adriano_vieira K e e p C A L M

    S a n d h a v i n g f u n DevOps-DF Meetup::Docker birthday #4 2017 Minimize riscos e otimize desempenho em pipeline conteinerizado Fonte: Gartner* 2016
  2. [email protected] @adriano_vieira K e e p C A L M

    S a n d h a v i n g f u n DevOps-DF Meetup::Docker birthday #4 2017 Minimize riscos e otimize desempenho em pipeline conteinerizado Realiability • Aplicação não tem bugs • Usadas práticas de desenvolvimento seguro • Ótimas notas em testes de desempenho • Controle de aceso, políticas de segurança e conformidade • Gestão de capacidade ...
  3. [email protected] @adriano_vieira K e e p C A L M

    S a n d h a v i n g f u n DevOps-DF Meetup::Docker birthday #4 2017 Minimize riscos e otimize desempenho em pipeline conteinerizado ... As tradicionais boas práticas continuam valendo!
  4. [email protected] @adriano_vieira K e e p C A L M

    S a n d h a v i n g f u n DevOps-DF Meetup::Docker birthday #4 2017 Minimize riscos e otimize desempenho em pipeline conteinerizado • Containers – Otimizar construção da imagem • + app mesma imagem base • Desempenho do pipeline • Desempenho de deploy • Otimização de área de storage
  5. [email protected] @adriano_vieira K e e p C A L M

    S a n d h a v i n g f u n DevOps-DF Meetup::Docker birthday #4 2017 Minimize riscos e otimize desempenho em pipeline conteinerizado Provider: imagem scratch (ex: RHEL, Debian, Ubuntu etc) Sua imagem base (packages bootstrap, tunning etc) 200MB 150MB r o r w r o
  6. [email protected] @adriano_vieira K e e p C A L M

    S a n d h a v i n g f u n DevOps-DF Meetup::Docker birthday #4 2017 Minimize riscos e otimize desempenho em pipeline conteinerizado Provider: imagem scratch (ex: RHEL, Debian, Ubuntu etc) Sua imagem base (packages bootstrap, tunning etc) Midleware específicos (packages, setup, logging etc) 200MB 150MB 100MB r w r o r o
  7. [email protected] @adriano_vieira K e e p C A L M

    S a n d h a v i n g f u n DevOps-DF Meetup::Docker birthday #4 2017 Minimize riscos e otimize desempenho em pipeline conteinerizado Provider: imagem scratch (ex: RHEL, Debian, Ubuntu etc) Sua imagem base (packages bootstrap, tunning etc) Midleware específicos (packages, setup, logging etc) App A (bootstrap etc) App B (bootstrap etc) App N (bootstrap etc) 200MB 150MB 100MB 50MB r o r w r o r o
  8. [email protected] @adriano_vieira K e e p C A L M

    S a n d h a v i n g f u n DevOps-DF Meetup::Docker birthday #4 2017 200MB 150MB 100MB 50MB Minimize riscos e otimize desempenho em pipeline conteinerizado Provider: imagem scratch (ex: RHEL, Debian, Ubuntu etc) Sua imagem base (packages bootstrap, tunning etc) Midleware específicos (packages, setup, logging etc) App A (bootstrap etc) App B (bootstrap etc) App N (bootstrap etc) Imagem (docker) 500MB
  9. [email protected] @adriano_vieira K e e p C A L M

    S a n d h a v i n g f u n DevOps-DF Meetup::Docker birthday #4 2017 Minimize riscos e otimize desempenho em pipeline conteinerizado 200MB 150MB 100MB 50MB Provider: imagem scratch (ex: RHEL, Debian, Ubuntu etc) Sua imagem base (packages bootstrap, tunning etc) Midleware específicos (packages, setup, logging etc) App A (bootstrap etc) App B (bootstrap etc) App N (bootstrap etc) 500MB App A App B App N container::App A container::App B container::App N Imagem (docker) 0 MB 0 MB 0 MB
  10. [email protected] @adriano_vieira K e e p C A L M

    S a n d h a v i n g f u n DevOps-DF Meetup::Docker birthday #4 2017 Minimize riscos e otimize desempenho em pipeline conteinerizado • framework-python-flask.Dockerfile • app-A-python-flask.Dockerfile
  11. [email protected] @adriano_vieira K e e p C A L M

    S a n d h a v i n g f u n DevOps-DF Meetup::Docker birthday #4 2017 Minimize riscos e otimize desempenho em pipeline conteinerizado Recomendações • Hardening (host, imagem, container) • Análise e controle de conformidade (audit) • Controles de acessos ativo (ex: selinux) • Logging • Restringir rede entre containers segundo os requisitos de serviço
  12. [email protected] @adriano_vieira K e e p C A L M

    S a n d h a v i n g f u n DevOps-DF Meetup::Docker birthday #4 2017 Minimize riscos e otimize desempenho em pipeline conteinerizado Recomendações CIS* • Host – Partição exclusiva para containers – Vesão de linux/kernel atualizadas (3.10+; CentOS/RHEL 7.2+; Debian-8) – Diretórios sensíveis & containers (root) – O auditctl usado normalmente, use para o daemon Docker ... • Imagens, conteiners
  13. [email protected] @adriano_vieira K e e p C A L M

    S a n d h a v i n g f u n DevOps-DF Meetup::Docker birthday #4 2017 Minimize riscos e otimize desempenho em pipeline conteinerizado • Containers – Scaneie imagens • Conteúdo (ex: docker history, microbadger)
  14. [email protected] @adriano_vieira K e e p C A L M

    S a n d h a v i n g f u n DevOps-DF Meetup::Docker birthday #4 2017 • App base image (15 layers, 105MB/253MB) • App (19 layers, 118MB/293MB) Minimize riscos e otimize desempenho em pipeline conteinerizado
  15. [email protected] @adriano_vieira K e e p C A L M

    S a n d h a v i n g f u n DevOps-DF Meetup::Docker birthday #4 2017 • App base image (15 layers, 105MB/253MB) • App (19 layers, 118MB/293MB) Minimize riscos e otimize desempenho em pipeline conteinerizado
  16. [email protected] @adriano_vieira K e e p C A L M

    S a n d h a v i n g f u n DevOps-DF Meetup::Docker birthday #4 2017 Provider: imagem scrat (ex: RHEL, Debian, Ubuntu etc)??? Minimize riscos e otimize desempenho em pipeline conteinerizado • Segurança: Hosts e/ou Conteinerização – Mitigue riscos: use padões de mercado (ex: SCAP, CIS) – Scaneie imagens • Segurança (ex: open-scap*, coreos clair, docker bench) Imagem (docker)
  17. [email protected] @adriano_vieira K e e p C A L M

    S a n d h a v i n g f u n DevOps-DF Meetup::Docker birthday #4 2017 Minimize riscos e otimize desempenho em pipeline conteinerizado • Verifique sua fonte de imagens base – Softwares maliciosos – Brechas de segurança • Otimize o workflow devel-teste-deploy • Aprimore o processo de monitoramento
  18. [email protected] @adriano_vieira K e e p C A L M

    S a n d h a v i n g f u n DevOps-DF Meetup::Docker birthday #4 2017 • SCAP (CVE) Minimize riscos e otimize desempenho em pipeline conteinerizado
  19. [email protected] @adriano_vieira K e e p C A L M

    S a n d h a v i n g f u n DevOps-DF Meetup::Docker birthday #4 2017 Minimize riscos e otimize desempenho em pipeline conteinerizado Dúvidas? https://speakerdeck.com/adrianovieira
  20. [email protected] @adriano_vieira K e e p C A L M

    S a n d h a v i n g f u n DevOps-DF Meetup::Docker birthday #4 2017 Minimize riscos e otimize desempenho em pipeline conteinerizado • Referências – Daniels, Katherine; Davis, Jennifer. Effective DevOps. O'Reilly. 2016 – Understand images, containers, and storage drivers. Docker Inc. 2017. disponível em: https://docs.docker.com/engine/userguide/storagedriver/imagesandcontainers – Daemon storage-driver option. Docker Inc. 2017. https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-storage-driver-option – What You Need to Know About Docker and Containers. Watson, Richard. Gartner. 2016. – Get Started with DevOps: A Guide for IT Managers. Rushgrove, Gareth. Puppet. 2016 – CIS Docker 1.11.0 Benchmark. Pravin Goyal. Center for Internet Security. 2016. disponível em: https://benchmarks.cisecurity.org/tools2/docker/CIS_Docker_1.11.0_Benchmark_v1.0.0.pdf – CIS Docker 1.12.0 Benchmark. Goyal, Pravin; Sjögren, Thomas; McCune, Rory; Konakandla, Manideep. Center for Internet Security. 2016. disponível em: https://benchmarks.cisecurity.org/tools2/docker/CIS_Docker_1.12.0_Benchmark_v1.0.0.pdf – Understanding and Hardening Linux Containers. NCC Group. Grattafiori, Aaron. 2016. disponível em: https://www.nccgroup.trust/globalassets/our-research/us/whitepapers/2016/april/ncc_group_understan ding_hardening_linux_containers-10pdf • Ferramentas – Gitlab-CI+runners (http://gitlab.com) – Pytest (www.pytest.org) – Open-scap (https://www.open-scap.org)
  21. [email protected] @adriano_vieira K e e p C A L M

    S a n d h a v i n g f u n DevOps-DF Meetup::Docker birthday #4 2017 Minimize riscos e otimize desempenho em pipeline conteinerizado Adriano Vieira [email protected] adriano_vieira adrianosvieira https://speakerdeck.com/adrianovieira https://www.gitlab.com/adrianovieira https://github.com/adrianovieira