Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azure - .NET SP - Julho-2018

Renato Groff
Renato GroffAon Corporation
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azure - .NET SP - Julho-2018
• 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 e do
.NET SP
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
• Um pouco mais sobre escalabilidade na Web...
• Por que utilizar Docker?
• 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)
Microsoft Azure e escalabilidade na Web
• Azure App Service
• Azure Web App for Containers
• Azure Container Service
• Azure Kubernetes Service (AKS)
E por que utilizar Docker?
Principais benefícios
• Isolamento
• Utilização mais racional de recursos
• Rapidez no deployment
• Menor dependência do ambiente
Azure Web App for Containers
• Hospedagem de aplicações
• Suporte a Continuous Integration
• Escalabilidade (vertical e horizontal)
• Suporte a HTTPS
Azure Web App for Containers - Suporte
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
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
• kubectl → ferramenta de linha de comando
• Minikube → ambiente de testes
Kubernetes: gerenciamento de containers
• Orquestração
• Auto recuperação
• Reinício
• Replicação
• Escalonamento
Kubernetes: arquitetura
• Master
• Máquina que controla os Nodes (Nós)
• Responsável pelas atribuições de tarefas
aos Nodes
• Nodes
• Máquina que realizam as tarefas
atribuídas pelo Master
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
• Replication Controller
• Controla quantas cópias idênticas de um Pod
serão executadas e em quais locais do cluster
• Kubelet
• Serviço que garante a inicialização e execução
dos containers nos Nodes
Kubernetes: arquitetura
E como a nuvem Microsoft fica nisto?
Azure Container Service
E mais recentemente
Azure Kubernetes Service (AKS)
conhecido anteriormente como AKS (managed Kubernetes)
+
Exemplos Práticos
+ +
Aplicação
• Utilização do Azure Web App for Containers e
Azure Kubernetes Service (AKS)
• API REST criada com o ASP.NET Core 2.1
• Esta aplicação foi publicada no Docker Hub
como a imagem renatogroffe/apicontagem
• Contagem de acessos, além de exibição do
nome da máquina e do sistema operacional em
uso
Aplicação
• Fontes:
https://github.com/renatogroffe/ASPNETCore2.1_Kubernetes
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azure - .NET SP - Julho-2018
medium.com/@renato.groffe/
1 de 34

Recomendados

Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ... por
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 ...Renato Groff
24 visualizações33 slides
Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ... por
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 ...Renato Groff
41 visualizações32 slides
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020 por
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-2020Renato Groff
580 visualizações26 slides
Azure Kubernetes Service: orquestrando containers e escalando rapidamente apl... por
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...Renato Groff
425 visualizações31 slides
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl... por
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...Renato Groff
849 visualizações29 slides
Hospedando Aplicações Web no Azure: App Service, Docker e Kubernetes - Azure ... por
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 ...Renato Groff
136 visualizações27 slides

Mais conteúdo relacionado

Mais procurados

ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março por
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - MarçoASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - MarçoRenato Groff
1.3K visualizações31 slides
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -... por
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Renato Groffe
13.1K visualizações22 slides
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020 por
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-2020Renato Groff
669 visualizações46 slides
DevOps + Kubernetes: orquestração e deployment automatizado de containers - O... por
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...Renato Groff
4.8K visualizações36 slides
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ... por
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...Renato Groff
5.4K visualizações25 slides
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019 por
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-2019Renato Groff
236 visualizações46 slides

Mais procurados(20)

ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março por Renato Groff
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - MarçoASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
Renato Groff1.3K visualizações
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -... por Renato Groffe
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Renato Groffe13.1K visualizações
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020 por Renato Groff
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
Renato Groff669 visualizações
DevOps + Kubernetes: orquestração e deployment automatizado de containers - O... por Renato Groff
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...
Renato Groff4.8K visualizações
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ... por Renato Groff
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Renato Groff5.4K visualizações
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019 por Renato Groff
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
Renato Groff236 visualizações
.NET Core 3.x + ASP.NET Core 3.x + Docker + Kubernetes na prática - Canal .NE... por Renato Groff
.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...
Renato Groff3.3K visualizações
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour... por Renato Groff
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...
Renato Groff4K visualizações
Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur... por Renato Groff
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...
Renato Groff66 visualizações
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane... por Renato Groff
 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...
Renato Groff299 visualizações
Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F... por Renato Groff
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...
Renato Groff2K visualizações
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018 por Renato Groff
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
Renato Groff71 visualizações
Docker: visão geral, possibilidades e primeiros passos - UNIVAG - Junho-2020 por Renato Groff
Docker: visão geral, possibilidades e primeiros passos - UNIVAG - Junho-2020Docker: visão geral, possibilidades e primeiros passos - UNIVAG - Junho-2020
Docker: visão geral, possibilidades e primeiros passos - UNIVAG - Junho-2020
Renato Groff440 visualizações
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018 por Renato Groff
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
Renato Groff24 visualizações
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018 por Renato Groff
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
Docker para Desenvolvedores .NET - .NET SP - Novembro-2018
Renato Groff56 visualizações
Docker + Azure: opções disponíveis para uso de Containers na nuvem Microsoft ... por Renato Groff
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 ...
Renato Groff1K visualizações
Hospedando projetos Web no Azure: de um site estático a um cluster Kubernetes... por Renato Groff
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...
Renato Groff1.8K visualizações
Dicas para uma maior performance em APIs REST - DEVPIRA Festival - Dezembro-2018 por Renato Groff
Dicas para uma maior performance em APIs REST - DEVPIRA Festival - Dezembro-2018Dicas para uma maior performance em APIs REST - DEVPIRA Festival - Dezembro-2018
Dicas para uma maior performance em APIs REST - DEVPIRA Festival - Dezembro-2018
Renato Groff1.3K visualizações
Docker | Minicurso Gratuito - Azure na Prática por Renato Groff
Docker | Minicurso Gratuito - Azure na PráticaDocker | Minicurso Gratuito - Azure na Prática
Docker | Minicurso Gratuito - Azure na Prática
Renato Groff1.4K visualizações
Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Global... por Renato Groff
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...
Renato Groff2.1K visualizações

Similar a Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azure - .NET SP - Julho-2018

Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv... por
Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...
Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...Renato Groff
425 visualizações33 slides
Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei... por
Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei...Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei...
Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei...Renato Groff
8.5K visualizações40 slides
Docker + Kubernetes: Turbinando seus projetos Web - Open Source Saturday - Ag... por
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...Renato Groff
25 visualizações29 slides
Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1... por
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...Renato Groff
557 visualizações25 slides
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl... por
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...Renato Groff
122 visualizações29 slides
Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur... por
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...Renato Groff
35 visualizações28 slides

Similar a Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azure - .NET SP - Julho-2018(17)

Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv... por Renato Groff
Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...
Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...
Renato Groff425 visualizações
Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei... por Renato Groff
Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei...Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei...
Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei...
Renato Groff8.5K visualizações
Docker + Kubernetes: Turbinando seus projetos Web - Open Source Saturday - Ag... por Renato Groff
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...
Renato Groff25 visualizações
Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1... por Renato Groff
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...
Renato Groff557 visualizações
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl... por Renato Groff
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...
Renato Groff122 visualizações
Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur... por Renato Groff
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...
Renato Groff35 visualizações
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018 por Renato Groff
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
Renato Groff4.6K visualizações
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se... por Renato Groff
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...
Renato Groff2.6K visualizações
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP... por Renato Groff
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
Renato Groff748 visualizações
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop... por Renato Groff
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
Renato Groff127 visualizações
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ... por Renato Groff
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...
Renato Groff1.6K visualizações
Implementando soluções containerizadas com .NET Core 3.1 e o Microsoft Azure ... por Renato Groff
Implementando soluções containerizadas com .NET Core 3.1 e o Microsoft Azure ...Implementando soluções containerizadas com .NET Core 3.1 e o Microsoft Azure ...
Implementando soluções containerizadas com .NET Core 3.1 e o Microsoft Azure ...
Renato Groff113 visualizações
Docker + Azure - Global Azure Bootcamp 2018 - Campinas-SP por Renato Groff
Docker + Azure - Global Azure Bootcamp 2018 - Campinas-SPDocker + Azure - Global Azure Bootcamp 2018 - Campinas-SP
Docker + Azure - Global Azure Bootcamp 2018 - Campinas-SP
Renato Groff328 visualizações
Docker + Azure - Global Azure Bootcamp 2018 - São Paulo-SP por Renato Groffe
Docker + Azure - Global Azure Bootcamp 2018 - São Paulo-SPDocker + Azure - Global Azure Bootcamp 2018 - São Paulo-SP
Docker + Azure - Global Azure Bootcamp 2018 - São Paulo-SP
Renato Groffe466 visualizações
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019 por Renato Groff
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Renato Groff1.3K visualizações
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand... por Renato Groff
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...
Renato Groff1.7K visualizações
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab... por Renato Groff
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...
Renato Groff1.2K visualizações

Mais de Renato Groff

Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ... por
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 ...Renato Groff
312 visualizações40 slides
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020 por
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-2020Renato Groff
98 visualizações19 slides
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev... por
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...Renato Groff
250 visualizações18 slides
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat... por
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...Renato Groff
141 visualizações19 slides
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat... por
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...Renato Groff
117 visualizações14 slides
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No... por
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...Renato Groff
160 visualizações15 slides

Mais de Renato Groff(20)

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

Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azure - .NET SP - Julho-2018

  • 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 e do .NET SP 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. Agenda • Um pouco mais sobre escalabilidade na Web... • Por que utilizar Docker? • Exemplos práticos
  • 5. Um pouco mais sobre escalabilidade na Web... Vertical Horizontal
  • 6. Por que escalar uma aplicação Web? • Necessidade de atender a uma demanda crescente de uso sem comprometer a performance • Garantir uma alta disponibilidade
  • 7. 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?
  • 8. 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)
  • 9. Microsoft Azure e escalabilidade na Web • Azure App Service • Azure Web App for Containers • Azure Container Service • Azure Kubernetes Service (AKS)
  • 10. E por que utilizar Docker?
  • 11. Principais benefícios • Isolamento • Utilização mais racional de recursos • Rapidez no deployment • Menor dependência do ambiente
  • 12. Azure Web App for Containers • Hospedagem de aplicações • Suporte a Continuous Integration • Escalabilidade (vertical e horizontal) • Suporte a HTTPS
  • 13. Azure Web App for Containers - Suporte
  • 14. 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?
  • 15. E como superar tais dificuldades?
  • 18. 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
  • 19. 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 • kubectl → ferramenta de linha de comando • Minikube → ambiente de testes
  • 20. Kubernetes: gerenciamento de containers • Orquestração • Auto recuperação • Reinício • Replicação • Escalonamento
  • 21. Kubernetes: arquitetura • Master • Máquina que controla os Nodes (Nós) • Responsável pelas atribuições de tarefas aos Nodes • Nodes • Máquina que realizam as tarefas atribuídas pelo Master
  • 23. 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
  • 24. Kubernetes: arquitetura • Deployment • Abstração de um Pod com recursos adicionais • Conta com gerenciamento de estados Deployment POD
  • 25. Kubernetes: arquitetura • Service • Objeto mais estável (Pods são criados ou removidos continuamente) • Cuidará do acesso aos Pods, funcionando como um Load Balancer
  • 26. Kubernetes: arquitetura • Replication Controller • Controla quantas cópias idênticas de um Pod serão executadas e em quais locais do cluster • Kubelet • Serviço que garante a inicialização e execução dos containers nos Nodes
  • 28. E como a nuvem Microsoft fica nisto? Azure Container Service
  • 29. E mais recentemente Azure Kubernetes Service (AKS) conhecido anteriormente como AKS (managed Kubernetes) +
  • 31. Aplicação • Utilização do Azure Web App for Containers e Azure Kubernetes Service (AKS) • API REST criada com o ASP.NET Core 2.1 • Esta aplicação foi publicada no Docker Hub como a imagem renatogroffe/apicontagem • Contagem de acessos, além de exibição do nome da máquina e do sistema operacional em uso