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

O que você precisa saber sobre Kubernetes para não passar vergonha

drequena
November 25, 2020

O que você precisa saber sobre Kubernetes para não passar vergonha

Uma bate papo feito no meetup do iFood Sem Fronteiras sobre Kubernetes.
Vários assuntos bordados e comentados, todos com referências no final da apresentação!
Bons estudos! ;)

drequena

November 25, 2020
Tweet

More Decks by drequena

Other Decks in Technology

Transcript

  1. Tudo que você precisa
    saber sobre Kubernetes

    View Slide

  2. Quase tudo que você
    precisa saber sobre
    Kubernetes

    View Slide

  3. O que você precisa saber sobre
    Kubernetes para não passar
    vergonha

    View Slide

  4. Quem sou eu
    Daniel Requena
    ● Pai e marido
    ● Bacharel em Ciência da Computação
    ● Mestre em Engenharia de Computação
    ● 15+ anos de experiência na área
    ● SRE iFood
    ● Apaixonado por: Tecnologia, Infraestrutura, DevOps, IAC,
    Cloud, Containers, K8S e + buzzwords.
    ● Problemas com cafeína

    View Slide

  5. O que estou fazendo aqui?
    ● 3 objetivos
    ○ Vender o iFood pra vocês
    ○ Dar uma visão geral e contextualizada sobre Kubernetes
    ○ Tentar dar um exemplo prático de utilização
    ○ Deixar muitas referências de cursos, livros, vídeos, podcasts, etc... sobre os
    tópicos aqui abordados

    View Slide

  6. iFood
    ● Funcionários em Tech: ~650 foodlovers
    ● ~50 milhões de pedidos/mês
    ● 9K orders por minuto
    ● Quantidade de Aplicações: ~550 apps
    ● EC2s: ~3500
    ● Número de deploys: +1000 mês
    ● Tráfego de rede: +4.0M RPM

    View Slide

  7. Por que aprender Kubernetes?
    ● Quase a totalidade das aplicações do iFood rodam em Kubernetes
    ○ Realidade cada vez maior e que só tende a aumentar
    ● Criado para o atual padrão arquitetural de aplicações
    ● Padrão de fato de orquestração de containers
    ● Diferencial profissional
    ● Se isso ainda não for o suficiente...

    View Slide

  8. Containers
    ● Tecnologia criada na década de 70 (pra variar)
    ● Isolamento entre aplicações na camada de Sistema Operacional (processo)
    ● Renascimento há cerca de 6 anos atrás
    ● Principal referência (mas não mais a única): Docker
    ● Revolucionou a forma de desenvolver, empacotar e executar aplicações.
    ○ Rapidez de inicialização
    ○ Portabilidade
    ○ Efêmeros
    ○ Imutável
    ○ Mais performance (na teoria)
    ● Reforçou e endossou o padrão que voltava à moda
    ○ microservices (também dos anos 70)

    View Slide

  9. Containers
    Crédito das imagens: https://www.docker.com/resources/what-container
    Hardware
    Hypervisor
    Virtual Machine
    Guest OS
    Docker
    App A
    App B
    App C
    App D

    View Slide

  10. Containers
    Crédito das imagens: https://martinfowler.com/articles/microservices/images/sketch.png

    View Slide

  11. Containers
    ● Arquitetura de microservices
    ○ Escopo único por aplicação
    ○ Alta escalabilidade
    ○ Debug difícil
    ○ Gerenciamento difícil
    ● Se uma andorinha não faz verão, 1 container não faz um sistema
    ○ Escalar
    ○ Detectar falha
    ○ Reiniciar
    ○ Distribuição de carga

    View Slide

  12. Kubernetes
    ● O que é?
    ○ Um orquestrador de containers
    ○ Distribuído
    ○ Resiliente
    ● O que faz?
    ○ Executa, Monitora, Expõe, Distribui Carga, Escala, e muito mais, aplicações
    empacotadas como containers.
    ● Como tirar melhor proveito?
    ○ Microservices
    ○ Stateless
    ○ Escalável
    ○ 12 fatores
    ○ Lembrando que não existe bala de prata

    View Slide

  13. Kubernetes
    Crédito da imagem: https://kubernetes.io/pt/docs/concepts/architecture/cloud-controller/

    View Slide

  14. Kubernetes

    View Slide

  15. Kubernetes
    ● Como interagimos com o Kubernetes?
    ○ kubectl
    ■ Interage com a API
    ■ Comanda a criação, destruição, replicação de serviços.
    ● Se é uma API, precisamos conhecer seus objetos e specs
    ○ JSON / YAML
    ■ Deployment
    ■ Service
    ■ HPA (Horizontal Pod AutoScaler)
    ■ …
    ■ muitos outros mais...

    View Slide

  16. Kubernetes
    DEMO

    View Slide

  17. Kubernetes
    Client
    APP
    service
    HPA


    APP
    APP
    APP
    20%↑

    View Slide

  18. Kubernetes

    View Slide

  19. Kubernetes
    ● Blzs mais como eu faço isso em casa?

    View Slide

  20. Kubernetes
    Crédito da imagem: https://blogs.sap.com/wp-content/uploads/2013/12/ice_cc_344906.png

    View Slide

  21. Referências
    ● https://training.play-with-docker.com/
    ● https://github.com/gomex/docker-para-desenvolvedores
    ● https://12factor.net/
    ● https://microservices.io/
    ● https://martinfowler.com/microservices/
    ● https://www.manning.com/books/cloud-native-patterns
    ● https://www.katacoda.com/courses/kubernetes
    ● https://kind.sigs.k8s.io/docs/user/quick-start/#installation
    ● https://minikube.sigs.k8s.io/docs/start/
    ● https://microk8s.io/
    ● LinuxTips (playlist kubernetes)
    ● https://blog.getupcloud.com/kubicast-50-8d48a45dcf91
    ● https://movile.blog/papo-sobremesa-01-kubernetes/
    ● https://github.com/drequena/headers

    View Slide

  22. Contatos
    [email protected]
    @Daniel_Requena
    github.com/drequena
    @daniel_requena
    speakerdeck.com/drequena
    linkedin.com/in/danielrequena/
    Daniel Requena
    #VemProiFood
    https://materiais.ifood.com.br/universidades

    View Slide