Container revolucao

967 visualizações

Publicada em

Um pouco sobre como e porque container é um buzzword de rápida adoção por diversas empresas e porque o crescimento tem sido tão grande.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Container revolucao

  1. 1. Fernando Ike
  2. 2. Fernando Ike
  3. 3. http://geekandpoke.typepad.com/geekandpoke/page/39/
  4. 4. http://geek-and-poke.com/geekandpoke/2014/11/29/developers-madness
  5. 5. Isolamento Fonte: http://www.itdestination.com/training/courses/adv-linux/
  6. 6. Chroot: Apache + PHP
  7. 7. Chroot: Apache + PHP 17 passos
  8. 8. LXC : Apache + PHP
  9. 9. LXC : Apache + PHP 12 passos
  10. 10. Linux Vserver: Apache + PHP 5 linhas
  11. 11. Xen/KVM: Apache + PHP 4*N passos
  12. 12. Docker: Apache + PHP 1 passos
  13. 13. Debian Jessie
  14. 14. Like git...
  15. 15. Like git...hub: Docker Hub ➔ 240.000 usuários ➔ 150.000 repositórios ➔ 1.250.000 Automated Builds ➔ 500.000.000 Pulls ➔ 80 Repositórios oficiais
  16. 16. Quem usa ● BBC News ● The New York Times ● Netflix ● Paypal ● Spotify ● ING ● Business Insider
  17. 17. http://www.slideshare.net/Docker/dockercon-sf-2015-ben-golubs-keynote-day-1 Ecossistema
  18. 18. Números + 500 milhões de donwloads + 150 mill aplicações conteirnizadas + 150 meetups user group + 1.300 contribuidores
  19. 19. "Docker is a tool that can package an application and its dependencies in a virtual container that can run on any Linux server. This helps enable flexibility and portability on where the application can run, whether on premises, public cloud, private cloud, bare metal, etc."
  20. 20. http://www.instructables.com/id/The-GodFather-Mafia-Guide/step4/Mafia-Family-Rank/
  21. 21. Docker Family Docker Engine Docker Compose Docker Swarm Docker Machine Docker Toolbox
  22. 22. Docker Engine Gerenciador dos containers Desenvolvido em Go Dockerfiles Versão atual 1.8
  23. 23. Docker Toolbox Instalador das ferramentas Docker para Windows e MacOSX: ● Docker Client ● Docker Machine ● Docker Compose (Mac) ● Docker Kitematic ● VirtualBox
  24. 24. Docker Toolbox - Kitematic
  25. 25. Docker Compose ● Simplifica a construção e gerenciamento para múltiplos container (interligados). ● Anteriormente conhecido como Fig ● Desenvolvido em Python
  26. 26. compose.yml
  27. 27. Docker Machine Ferramenta para instalação e gerenciamento de Docker host para diversas plataformas de IaaS Desenvolvido em GO Facilita a instalação: AWS, Azure, Digital Ocean, Virtualbox, OpenStack, SoftwareLayer, Rackspace, Vmware, etc...
  28. 28. Docker Registry Serviço para armazenar e gerenciar imagens de container Pode ser usado privado
  29. 29. Docker Swarm Gerenciador de clusters dockers
  30. 30. Segurança ● Apparmor ● Selinux ● GRSec ● Notary ● Docker Bench for Security
  31. 31. Armazenamento ● Brtfs ● Device-mapper ● AUFS ● Flocker (plugin) ● GlusterFS (plugin) ● Rex-Ray (plugin: Storage Volume by EC2. Openstack)
  32. 32. CoreOS/RKT ● Feito em Go ● Foco maior em segurança e desempenho ● Compatível com containers Docker
  33. 33. Bocker ● Um gerenciador de container feito em bash ● Versão inicial com 100 linhas de código ● Usa CGroups e Namespace
  34. 34. Segurança http://www.theregister.co. uk/2015/05/28/docker_hub_images_buggy_and _vulnerable_say_researchers/ http://www.zdnet.com/article/docker-1-8-adds- serious-container-security/
  35. 35. Segurança ● Maio de 2015 - 30% das imagens oficiais tinham alguma falha “grave” de segurança (Shellshock, Heartbleed, etc.). ● Política de atualização das imagens de containers não-oficiais ● Não usar root como usuário dos serviços nas imagens. ● Docker host com milhares de processos
  36. 36. Notary
  37. 37. Rede ● Serviços UDP precisam de parâmetro extra.
  38. 38. Unikernel ● Single address space operating system (SASOS) ● Altamente especializado ● Extremamente rápido ● nano services ● Small footprint ● Baixo tempo de boot
  39. 39. Unikernel
  40. 40. Unikernel ● MirageOS (OCaml) ● Erlang on OS ● OSv (C/C++) ● HaLVM (Haskell) ● Rumprun
  41. 41. Notáveis ● Kubernetes ● Mesos ● Jenkins ● Deis ● Moedores de Log ● Consul/Etcd
  42. 42. Conclusão ● CD/CI ● DevOps/NoOps ● OpenSource ● Forte Relacionamento com parceiros, integradores e usuários ● Incentivo de novos contribuidores ● Rápida adoção por fornecedores e clientes
  43. 43. Contatos ● http://www.fernandoike.com ● fernando.ike at gmail.com ● https://www.linkedin. com/in/fernandoike ● @fernandoike ● https://hub.docker.com/u/fike/

×