SlideShare uma empresa Scribd logo
1 de 25
• 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 /
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
Agenda
• Escalabilidade: uma visão geral
• Orquestração de containers com Kubernetes
• Exemplos práticos
Um pouco mais sobre escalabilidade na Web...
Vertical
Horizontal
Por que escalar uma aplicação Web?
• Necessidade de atender a uma demanda
crescente de uso sem comprometer a
performance
• Garantir uma alta disponibilidade
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?
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)
Por que utilizar containers Docker?
• Isolamento
• Utilização mais racional de recursos
• Rapidez no deployment
• Menor dependência do ambiente
E com isto temos o fim da “desculpa”...
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?
E como superar tais dificuldades?
Utilizando orquestradores
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
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
Kubernetes: arquitetura
kubectl
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
Kubernetes: arquitetura
• Deployment
• Abstração de um Pod com
recursos adicionais
• Conta com gerenciamento de
estados
Deployment
POD
Kubernetes: arquitetura
• Service
• Objeto mais estável (Pods são criados ou
removidos continuamente)
• Cuidará do acesso aos Pods, funcionando
como um Load Balancer
Kubernetes: arquitetura
Microsoft Azure: suporte a Kubernetes
Azure Kubernetes Service (AKS)
+
Exemplos Práticos
+ +
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicações - Setembro-2019
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicações - Setembro-2019

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
 
.NET Core 3.x + ASP.NET Core 3.x + Docker + Kubernetes na prática - Canal .NE...
.NET Core 3.x + ASP.NET Core 3.x + Docker + Kubernetes na prática - Canal .NE....NET Core 3.x + ASP.NET Core 3.x + Docker + Kubernetes na prática - Canal .NE...
.NET Core 3.x + ASP.NET Core 3.x + Docker + Kubernetes na prática - Canal .NE...
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
 
Azure Kubernetes Service: orquestrando containers e escalando rapidamente apl...
Azure Kubernetes Service: orquestrando containers e escalando rapidamente apl...Azure Kubernetes Service: orquestrando containers e escalando rapidamente apl...
Azure Kubernetes Service: orquestrando containers e escalando rapidamente apl...
 
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...
 
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
 Alternativas para a Implementação de Microservices no Microsoft Azure - Jane... Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
 
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...
 
Docker e Kubernetes: Dicas e Truques - Dezembro-2019
Docker e Kubernetes: Dicas e Truques - Dezembro-2019Docker e Kubernetes: Dicas e Truques - Dezembro-2019
Docker e Kubernetes: Dicas e Truques - Dezembro-2019
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
 
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
 
.NET e ASP.NET Core 2.2, .NET Core 3, Visual Studio 2019: uma visão geral - ....
.NET e ASP.NET Core 2.2, .NET Core 3, Visual Studio 2019: uma visão geral - .....NET e ASP.NET Core 2.2, .NET Core 3, Visual Studio 2019: uma visão geral - ....
.NET e ASP.NET Core 2.2, .NET Core 3, Visual Studio 2019: uma visão geral - ....
 
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...
 
.NET Core 3.0 e ASP.NET Core 3.0: principais novidades - FCamara - Agosto-2019
.NET Core 3.0 e ASP.NET Core 3.0: principais novidades - FCamara - Agosto-2019.NET Core 3.0 e ASP.NET Core 3.0: principais novidades - FCamara - Agosto-2019
.NET Core 3.0 e ASP.NET Core 3.0: principais novidades - FCamara - Agosto-2019
 
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
 
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
 
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
 
Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...
Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...
Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...
 
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
 
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019
 

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

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

Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...
Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...
Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...
 
Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Fevere...
Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Fevere...Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Fevere...
Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Fevere...
 
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...
 
Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F...
Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F...Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F...
Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F...
 
Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...
Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...
Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...
 
Hospedando Aplicações Web no Azure: App Service, Docker e Kubernetes - Azure ...
Hospedando Aplicações Web no Azure: App Service, Docker e Kubernetes - Azure ...Hospedando Aplicações Web no Azure: App Service, Docker e Kubernetes - Azure ...
Hospedando Aplicações Web no Azure: App Service, Docker e Kubernetes - Azure ...
 
Hospedando projetos Web no Azure: de um site estático a um cluster Kubernetes...
Hospedando projetos Web no Azure: de um site estático a um cluster Kubernetes...Hospedando projetos Web no Azure: de um site estático a um cluster Kubernetes...
Hospedando projetos Web no Azure: de um site estático a um cluster Kubernetes...
 
Docker + Kubernetes: Turbinando seus projetos Web - Open Source Saturday - Ag...
Docker + Kubernetes: Turbinando seus projetos Web - Open Source Saturday - Ag...Docker + Kubernetes: Turbinando seus projetos Web - Open Source Saturday - Ag...
Docker + Kubernetes: Turbinando seus projetos Web - Open Source Saturday - Ag...
 
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...
 
Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Global...
Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Global...Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Global...
Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Global...
 
Docker + Azure: opções disponíveis para uso de Containers na nuvem Microsoft ...
Docker + Azure: opções disponíveis para uso de Containers na nuvem Microsoft ...Docker + Azure: opções disponíveis para uso de Containers na nuvem Microsoft ...
Docker + Azure: opções disponíveis para uso de Containers na nuvem Microsoft ...
 
Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur...
Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur...Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur...
Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur...
 
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
 
.NET Core + Docker: containers e seus benefícios no deployment de aplicações
.NET Core + Docker: containers e seus benefícios no deployment de aplicações.NET Core + Docker: containers e seus benefícios no deployment de aplicações
.NET Core + Docker: containers e seus benefícios no deployment de aplicações
 
Docker para Ambientes de Desenvolvimento e Testes - Open Source Roadshow 2019...
Docker para Ambientes de Desenvolvimento e Testes - Open Source Roadshow 2019...Docker para Ambientes de Desenvolvimento e Testes - Open Source Roadshow 2019...
Docker para Ambientes de Desenvolvimento e Testes - Open Source Roadshow 2019...
 
.NET Core + Docker: containers e seus benefícios no deployment de aplicações ...
.NET Core + Docker: containers e seus benefícios no deployment de aplicações ....NET Core + Docker: containers e seus benefícios no deployment de aplicações ...
.NET Core + Docker: containers e seus benefícios no deployment de aplicações ...
 
DevOps + Kubernetes: orquestração e deployment automatizado de containers - O...
DevOps + Kubernetes: orquestração e deployment automatizado de containers - O...DevOps + Kubernetes: orquestração e deployment automatizado de containers - O...
DevOps + Kubernetes: orquestração e deployment automatizado de containers - O...
 
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
 

Mais de Renato Groff

Mais de Renato Groff (20)

Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
 
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
 
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
 
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
 
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
 
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
 
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...
 
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...
 
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020Docker: dicas e truques para o dia a dia | MVPConf Latam 2020
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020
 
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
 
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |....NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
 
Aplicações Distribuídas com .NET | TDC Recife Online 2020
Aplicações Distribuídas com .NET | TDC Recife Online 2020Aplicações Distribuídas com .NET | TDC Recife Online 2020
Aplicações Distribuídas com .NET | TDC Recife Online 2020
 
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020
 
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...
 
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
 
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
 
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
 
Kubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Kubernetes na Nuvem | Minicurso Gratuito - Azure na PráticaKubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Kubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
 
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
 
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
 

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

  • 1.
  • 2. • 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 /
  • 3. 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
  • 4.
  • 5. Agenda • Escalabilidade: uma visão geral • Orquestração de containers com Kubernetes • Exemplos práticos
  • 6. Um pouco mais sobre escalabilidade na Web... Vertical Horizontal
  • 7. Por que escalar uma aplicação Web? • Necessidade de atender a uma demanda crescente de uso sem comprometer a performance • Garantir uma alta disponibilidade
  • 8. 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?
  • 9. 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)
  • 10. Por que utilizar containers Docker? • Isolamento • Utilização mais racional de recursos • Rapidez no deployment • Menor dependência do ambiente
  • 11. E com isto temos o fim da “desculpa”...
  • 12. 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?
  • 13. E como superar tais dificuldades?
  • 15. 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
  • 16. 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
  • 18. 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
  • 19. Kubernetes: arquitetura • Deployment • Abstração de um Pod com recursos adicionais • Conta com gerenciamento de estados Deployment POD
  • 20. Kubernetes: arquitetura • Service • Objeto mais estável (Pods são criados ou removidos continuamente) • Cuidará do acesso aos Pods, funcionando como um Load Balancer
  • 22. Microsoft Azure: suporte a Kubernetes Azure Kubernetes Service (AKS) +