$30 off During Our Annual Pro Sale. View Details »

Aplicação Distribuída com Docker Swarm (Meetup GruPy-SP)

Aplicação Distribuída com Docker Swarm (Meetup GruPy-SP)

Palestra que além de abordar o que é o Docker e como ele se posiciona em comparação com as tradicionais maquinas virtuais, tem como principal intenção mostrar como uma aplicação pode ser levada de um ambiente local para um cluster de máquinas Docker. O demo está disponível no GitHub em https://github.com/wsilva/demo-flask-swarm

Wellington F. Silva

December 02, 2016
Tweet

More Decks by Wellington F. Silva

Other Decks in Technology

Transcript

  1. APLICAÇÃO DISTRIBUIDA COM
    DOCKER SWARM
    MEETUP GRUPY SP - DEVOPS

    View Slide

  2. WHO AM I?
    WELLINGTON F. SILVA
    ▸ AKA: wsilva | boina | tom | fisi
    ▸ Pai
    ▸ Técnico Telecom
    ▸ Programador
    ▸ Instrutor
    ▸ DevOps
    ▸ Escritor

    View Slide

  3. AGENDA
    ▸ Virtualização
    ▸ Virtual Machine x Contêineres
    ▸ Docker
    ▸ Histórico
    ▸ Demo com Compose e Swarm
    ▸ Adoção do Docker

    View Slide

  4. O QUE É DOCKER?

    View Slide

  5. View Slide

  6. View Slide

  7. FERRAMENTA PARA
    VIRTUALIZAÇÃO NO NÍVEL DO
    SISTEMAS OPERACIONAL
    by wsilva
    O QUE É O DOCKER?

    View Slide

  8. TIPOS DE VIRTUALIZAÇÃO

    View Slide

  9. O QUE É O DOCKER?
    TIPOS DE VIRTUALIZAÇÃO
    ▸ Full Virtualization

    View Slide

  10. O QUE É O DOCKER?
    TIPOS DE VIRTUALIZAÇÃO
    ▸ Full Virtualization
    ▸ Partial Virtualization

    View Slide

  11. O QUE É O DOCKER?
    TIPOS DE VIRTUALIZAÇÃO
    ▸ Full Virtualization
    ▸ Partial Virtualization
    ▸ Paravirtualization

    View Slide

  12. O QUE É O DOCKER?
    TIPOS DE VIRTUALIZAÇÃO
    ▸ Full Virtualization
    ▸ Partial Virtualization
    ▸ Paravirtualization
    ▸ OS Level Virtualization

    View Slide

  13. O QUE É O DOCKER?
    TIPOS DE VIRTUALIZAÇÃO
    ▸ Full Virtualization
    ▸ Partial Virtualization
    ▸ Paravirtualization
    ▸ OS Level Virtualization <= DOCKER

    View Slide

  14. View Slide

  15. VMS X CONTÊINERES

    View Slide

  16. SERVIDOR
    SERVIDOR
    HOST OS
    HOST OS
    CONTAINER ENGINE
    HYPERVISOR
    BINS/LIBS
    GUEST OS BINS/LIBS
    GUEST OS
    BINS/LIBS BINS/LIBS APP APP
    APP APP
    VM VM
    Container Container
    VMs x Contêineres

    View Slide

  17. SERVIDOR
    SERVIDOR
    DEBIAN LINUX
    DEBIAN LINUX
    DOCKER
    VIRTUALBOX
    BINS/LIBS
    CENTOS LINUX BINS/LIBS
    UBUNTU LINUX
    BINS/LIBS BINS/LIBS NGINX MYSQL
    NGINX MYSQL
    VM VM
    Container Container
    VMs x Contêineres

    View Slide

  18. COMO FUNCIONA?

    View Slide

  19. PROCESSOS
    +
    KERNEL NAMESPACES
    +
    CGROUPS

    View Slide

  20. PROCESSOS
    PID=1

    View Slide

  21. KERNEL NAMESPACES
    (O QUE O PROCESSO PODE VER)

    View Slide

  22. COMO FUNCIONA?
    KERNEL NAMESPACES
    ▸ IPC - interprocess communication

    View Slide

  23. COMO FUNCIONA?
    KERNEL NAMESPACES
    ▸ IPC - interprocess communication
    ▸ PID - Processos

    View Slide

  24. COMO FUNCIONA?
    KERNEL NAMESPACES
    ▸ IPC - interprocess communication
    ▸ PID - Processos
    ▸ NET- rede

    View Slide

  25. COMO FUNCIONA?
    KERNEL NAMESPACES
    ▸ IPC - interprocess communication
    ▸ PID - Processos
    ▸ NET- rede
    ▸ UTS - Unix timesharing system, recursos do kernel

    View Slide

  26. COMO FUNCIONA?
    KERNEL NAMESPACES
    ▸ IPC - interprocess communication
    ▸ PID - Processos
    ▸ NET- rede
    ▸ UTS - Unix timesharing system, recursos do kernel
    ▸ USER - usuários

    View Slide

  27. COMO FUNCIONA?
    KERNEL NAMESPACES
    ▸ IPC - interprocess communication
    ▸ PID - Processos
    ▸ NET- rede
    ▸ UTS - Unix timesharing system, recursos do kernel
    ▸ USER - usuários
    ▸ MNT - filesystem e pontos de montagem

    View Slide

  28. CGROUPS
    (O QUE O PROCESSO PODE USAR)

    View Slide

  29. COMO FUNCIONA?
    CGROUPS
    ▸ CPU

    View Slide

  30. COMO FUNCIONA?
    CGROUPS
    ▸ CPU
    ▸ Memória

    View Slide

  31. COMO FUNCIONA?
    CGROUPS
    ▸ CPU
    ▸ Memória
    ▸ I/O em disco

    View Slide

  32. COMO FUNCIONA?
    CGROUPS
    ▸ CPU
    ▸ Memória
    ▸ I/O em disco
    ▸ Interface de rede

    View Slide

  33. COMO FUNCIONA?
    CGROUPS
    ▸ CPU
    ▸ Memória
    ▸ I/O em disco
    ▸ Interface de rede
    ▸ Hardwares periféricos (pen drive, camera, etc)

    View Slide

  34. HISTÓRICO

    View Slide

  35. HISTÓRICO
    HISTÓRIA
    ▸ 21/03/2013 1ª Demo

    View Slide

  36. HISTÓRICO
    HISTÓRIA
    ▸ 21/03/2013 1ª Demo
    ▸ Opensource(Apache License 2.0)

    View Slide

  37. HISTÓRICO
    HISTÓRIA
    ▸ 21/03/2013 1ª Demo
    ▸ Opensource(Apache License 2.0)
    ▸ Base para dotCloud

    View Slide

  38. HISTÓRICO
    HISTÓRIA
    ▸ 21/03/2013 1ª Demo
    ▸ Opensource(Apache License 2.0)
    ▸ Base para dotCloud
    ▸ 23/07/2013 - Ben Golub, CEO da
    Gluster e da Plaxo se une ao time

    View Slide

  39. HISTÓRICO
    HISTÓRIA
    ▸ 21/03/2013 1ª Demo
    ▸ Opensource(Apache License 2.0)
    ▸ Base para dotCloud
    ▸ 23/07/2013 - Ben Golub, CEO da
    Gluster e da Plaxo se une ao time
    ▸ 22/01/2014 2º aporte de US$ 15
    mi

    View Slide

  40. HISTÓRICO
    HISTÓRIA
    ▸ 23/07/2014 Compra da Orchard
    (FIG)

    View Slide

  41. HISTÓRICO
    HISTÓRIA
    ▸ 23/07/2014 Compra da Orchard
    (FIG)
    ▸ 16/09/2014 3º aporte US$ 40 mi

    View Slide

  42. HISTÓRICO
    HISTÓRIA
    ▸ 23/07/2014 Compra da Orchard
    (FIG)
    ▸ 16/09/2014 3º aporte US$ 40 mi
    ▸ 15/10/2014 Microsoft anuncia
    Docker no Windows 2016 sever

    View Slide

  43. HISTÓRICO
    HISTÓRIA
    ▸ 23/07/2014 Compra da Orchard
    (FIG)
    ▸ 16/09/2014 3º aporte US$ 40 mi
    ▸ 15/10/2014 Microsoft anuncia
    Docker no Windows 2016 sever
    ▸ dez/2014 compose, swarm,
    machine

    View Slide

  44. HISTÓRICO
    HISTÓRIA
    ▸ 23/07/2014 Compra da Orchard
    (FIG)
    ▸ 16/09/2014 3º aporte US$ 40 mi
    ▸ 15/10/2014 Microsoft anuncia
    Docker no Windows 2016 sever
    ▸ dez/2014 compose, swarm,
    machine
    ▸ 14/04/2015 4º aporte US$ 95 mi

    View Slide

  45. HISTÓRICO
    HISTÓRIA
    ▸ 22/06/2015 Open Container
    Initiative

    View Slide

  46. HISTÓRICO
    HISTÓRIA
    ▸ 22/06/2015 Open Container
    Initiative
    ▸ 29/02/2016 fim da dotCloud

    View Slide

  47. HISTÓRICO
    HISTÓRIA
    ▸ 22/06/2015 Open Container
    Initiative
    ▸ 29/02/2016 fim da dotCloud
    ▸ 20/06/2016 Docker for Mac and
    Windows

    View Slide

  48. HISTÓRICO
    HISTÓRIA
    ▸ 22/06/2015 Open Container
    Initiative
    ▸ 29/02/2016 fim da dotCloud
    ▸ 20/06/2016 Docker for Mac and
    Windows
    ▸ 28/07/2016 Docker 1.12 com
    Swarmkit

    View Slide

  49. E O SWARM?

    View Slide

  50. E A APLIÇÃO?

    View Slide

  51. PRAY FOR DEMO
    GODS
    https://github.com/wsilva/demo-flask-swarm

    View Slide

  52. ADOÇÃO

    View Slide

  53. View Slide

  54. View Slide

  55. View Slide

  56. View Slide

  57. View Slide

  58. TO BE CONTINUED…
    MAIS SOBRE DOCKER
    ▸ https://docs.docker.com
    ▸ https://telegram.me/dockerbr
    ▸ http://docker-br.herokuapp.com
    ▸ https://community.docker.com
    ▸ http://bit.ly/curso-docker
    ▸ https://www.meetup.com/Docker-
    Sao-Paulo/

    View Slide