Anúncio

Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicações - Setembro-2019

Aon Corporation
14 de Sep de 2019
Anúncio

Mais conteúdo relacionado

Apresentações para você(20)

Similar a Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicações - Setembro-2019(20)

Anúncio

Mais de Renato Groff(20)

Último(20)

Anúncio

Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicações - Setembro-2019

  1. • Microsoft Most Valuable Professional (MVP) • Multi-Plataform Technical Audience Contributor (MTAC) • Mais de 15 anos de experiência na área de Tecnologia • Autor Técnico e Palestrante • Um dos organizadores do Canal .NET, do .NET São Paulo e do DevOps Professionals Renato Groffe h t t p s : / / m e d i u m . c o m / @ re n a t o . g rof f e /
  2. Renato Groffe - Contatos h t t p s : / / m e d i u m . c o m / @ re n a t o . g rof f e / /renatogroffe /in/renatogroffe /canaldotnet /renatogroffe /canaldotnet /renatogroff
  3. Agenda • Escalabilidade: uma visão geral • Orquestração de containers com Kubernetes • Exemplos práticos
  4. Um pouco mais sobre escalabilidade na Web... Vertical Horizontal
  5. Por que escalar uma aplicação Web? • Necessidade de atender a uma demanda crescente de uso sem comprometer a performance • Garantir uma alta disponibilidade
  6. Problemas comuns ao se escalar uma aplicação Web • Como criar rapidamente diferentes instâncias de uma mesma aplicação? • Como evitar problemas envolvendo mudanças de ambientes (Desenvolvimento / Testes para Produção)? • Como configurar sem grandes complicações o balanceamento de carga (load balancing)? • Como evitar problemas com armazenamento temporário de dados (cache em memória, por exemplo)? • Como se recuperar de problemas envolvendo uma instância específica da aplicação?
  7. Algumas respostas... • Utilizando soluções na nuvem do tipo PaaS (Plataform as a Service) → O Microsoft Azure conta com excelentes opções • Empregando alternativas para cache distribuído como o Redis • Utilização de containers Docker • Orquestação de containers com Kubernetes ou Docker Swarm (auto-recuperação e reinicialização automáticas)
  8. Por que utilizar containers Docker? • Isolamento • Utilização mais racional de recursos • Rapidez no deployment • Menor dependência do ambiente
  9. E com isto temos o fim da “desculpa”...
  10. Dificuldades na adoção de containers... • Como escalar containers? • Como garantir o trabalho coordenado entre os diferentes containers de uma aplicação? • Como detectar containers com falhas e corrigir isso automaticamente?
  11. E como superar tais dificuldades?
  12. Utilizando orquestradores
  13. Kubernetes: uma visão geral • Também conhecido como K8s ou kube • Desenvolvido originalmente pela Google • Mantido pela Cloud Native Computing Foundation • Escrito em Go • Open source
  14. Kubernetes: uma visão geral • Cluster com máquina Master e Nodes • Criação de objetos através de arquivos no formato YAML • Diversas funcionalidades para gerenciamento e orquestração • kubectl → ferramenta de linha de comando • Minikube → ambiente de testes
  15. Kubernetes: arquitetura kubectl
  16. Kubernetes: arquitetura • Pod • Grupo de um ou mais containers implantados em um Node (Nó) • Compartilham o mesmo endereço IP, IPC, nome do host e outros recursos POD
  17. Kubernetes: arquitetura • Deployment • Abstração de um Pod com recursos adicionais • Conta com gerenciamento de estados Deployment POD
  18. Kubernetes: arquitetura • Service • Objeto mais estável (Pods são criados ou removidos continuamente) • Cuidará do acesso aos Pods, funcionando como um Load Balancer
  19. Kubernetes: arquitetura
  20. Microsoft Azure: suporte a Kubernetes Azure Kubernetes Service (AKS) +
  21. Exemplos Práticos + +
Anúncio