SlideShare uma empresa Scribd logo
1 de 23
• 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 Campinas .NET
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 /
• Solutions Architect na Venturus
• Autor Técnico e Palestrante
• Um dos organizadores do .NET SP e do
Campinas .NET
Robson Araújo
h t t p s : / / m e d i u m . c o m / @ ro b s o n _ ro c h a /
Agenda
• Dicas para maior performance em APIs REST
• Exemplos práticos
APIs REST - Contexto Atual
• REST como principal estilo arquitetural
• Microserviços ganhando força
• Economia das APIs
• Escalabilidade, disponibilidade e performance
são questões centrais
E como podemos obter mais performance?
• Reduzindo o tamanho das respostas
produzidas
• Utilizando bancos de dados de forma
mais racional
• Monitoramento contínuo a fim de
identificar gargalos
E como podemos obter mais performance?
• Empregando cache
• Evitando processamentos de longa
duração
• Escalando nossas APIs
Como reduzir o tamanho das respostas?
• Removendo valores nulos
• Utilizando técnicas de compressão
Remoção de valores nulos - Antes
Remoção de valores nulos - Depois
Remoção de valores nulos - Resultado
Compressão utilizando GZip
Compressão utilizando Brotli
Utilização mais racional de bancos de dados
• Uso do suporte a JSON oferecido por bancos relacionais
como SQL Server e PostgreSQL
• Possibilidade de utilização de NoSQL
• Empregar índices mediante análise prévia
Suporte a JSON em um banco relacional
Suporte a JSON em um banco relacional
Utilização de cache
• O Redis é uma alternativa NoSQL interessante
para cache e bastante performática
Monitoramento de APIs REST
• Soluções como Azure Application Insights e
New Relic representam uma excelente
alternativa
Evitando processamentos de longa duração
• Implementação do pattern Fire-and-forget
• Soluções de mensageria como RabbitMQ podem
ser uma resposta
Algumas alternativas para escalar uma API
• Soluções do tipo PaaS (Platform as a Service)
• Containers Docker em conjunto com
orquestradores como Kubernetes
Referências – Performance em APIs REST:
bit.ly/performance-apis-aspnet-core
Referências – Performance em APIs REST:
bit.ly/performance-apis-aspnet-core

Mais conteúdo relacionado

Mais procurados

Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
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
 
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 ...Renato Groff
 
APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure ...
 APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure ... APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure ...
APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure ...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 ...
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...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 ...
Implementando soluções containerizadas com .NET Core 3.1 e o Microsoft Azure ...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...
Hospedando projetos Web no Azure: de um site estático a um cluster Kubernetes...Renato Groff
 
APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure T...
APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure T...APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure T...
APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure T...Renato Groff
 
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...Renato Groff
 
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-2020Renato Groff
 
Bancos de dados no Azure: conhecendo as opções relacionais e NoSQL disponívei...
Bancos de dados no Azure: conhecendo as opções relacionais e NoSQL disponívei...Bancos de dados no Azure: conhecendo as opções relacionais e NoSQL disponívei...
Bancos de dados no Azure: conhecendo as opções relacionais e NoSQL disponívei...Renato Groff
 
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018Renato Groff
 
Sobrevoando os serviços do Azure | TDC Florianópolis Online 2020
Sobrevoando os serviços do Azure | TDC Florianópolis Online 2020Sobrevoando os serviços do Azure | TDC Florianópolis Online 2020
Sobrevoando os serviços do Azure | TDC Florianópolis Online 2020Renato Groff
 
Microsoft Azure para Desenvolvedores Web - Azure para Devs e DBAs - Maio-2018
Microsoft Azure para Desenvolvedores Web - Azure para Devs e DBAs - Maio-2018Microsoft Azure para Desenvolvedores Web - Azure para Devs e DBAs - Maio-2018
Microsoft Azure para Desenvolvedores Web - Azure para Devs e DBAs - Maio-2018Renato Groff
 
Apresentação Multimídia - Unifesp - VP9
Apresentação Multimídia - Unifesp - VP9Apresentação Multimídia - Unifesp - VP9
Apresentação Multimídia - Unifesp - VP9Henrique Genovês
 
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-2020Renato Groff
 
Nuvem em 2021: primeiros passos, Azure, tecnologias, carreira - UniFOA | Abri...
Nuvem em 2021: primeiros passos, Azure, tecnologias, carreira - UniFOA | Abri...Nuvem em 2021: primeiros passos, Azure, tecnologias, carreira - UniFOA | Abri...
Nuvem em 2021: primeiros passos, Azure, tecnologias, carreira - UniFOA | Abri...Renato Groffe
 
SQL Server 2017 para Desenvolvedores de Software - SQL Saturday 715
SQL Server 2017 para Desenvolvedores de Software - SQL Saturday 715SQL Server 2017 para Desenvolvedores de Software - SQL Saturday 715
SQL Server 2017 para Desenvolvedores de Software - SQL Saturday 715Renato 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...
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...Renato Groff
 

Mais procurados (20)

Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
 
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 ...
 
APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure ...
 APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure ... APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure ...
APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure ...
 
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 ...
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...
 
TDC - Da presença online ao Cloud Computing
TDC - Da presença online ao Cloud ComputingTDC - Da presença online ao Cloud Computing
TDC - Da presença online ao Cloud Computing
 
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 ...
Implementando soluções containerizadas com .NET Core 3.1 e o Microsoft 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...
 
APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure T...
APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure T...APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure T...
APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure T...
 
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
 
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
 
Bancos de dados no Azure: conhecendo as opções relacionais e NoSQL disponívei...
Bancos de dados no Azure: conhecendo as opções relacionais e NoSQL disponívei...Bancos de dados no Azure: conhecendo as opções relacionais e NoSQL disponívei...
Bancos de dados no Azure: conhecendo as opções relacionais e NoSQL disponívei...
 
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018
 
Sobrevoando os serviços do Azure | TDC Florianópolis Online 2020
Sobrevoando os serviços do Azure | TDC Florianópolis Online 2020Sobrevoando os serviços do Azure | TDC Florianópolis Online 2020
Sobrevoando os serviços do Azure | TDC Florianópolis Online 2020
 
Microsoft Azure para Desenvolvedores Web - Azure para Devs e DBAs - Maio-2018
Microsoft Azure para Desenvolvedores Web - Azure para Devs e DBAs - Maio-2018Microsoft Azure para Desenvolvedores Web - Azure para Devs e DBAs - Maio-2018
Microsoft Azure para Desenvolvedores Web - Azure para Devs e DBAs - Maio-2018
 
Apresentação Multimídia - Unifesp - VP9
Apresentação Multimídia - Unifesp - VP9Apresentação Multimídia - Unifesp - VP9
Apresentação Multimídia - Unifesp - VP9
 
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
 
Nuvem em 2021: primeiros passos, Azure, tecnologias, carreira - UniFOA | Abri...
Nuvem em 2021: primeiros passos, Azure, tecnologias, carreira - UniFOA | Abri...Nuvem em 2021: primeiros passos, Azure, tecnologias, carreira - UniFOA | Abri...
Nuvem em 2021: primeiros passos, Azure, tecnologias, carreira - UniFOA | Abri...
 
Rails nas Nuvens
Rails nas NuvensRails nas Nuvens
Rails nas Nuvens
 
SQL Server 2017 para Desenvolvedores de Software - SQL Saturday 715
SQL Server 2017 para Desenvolvedores de Software - SQL Saturday 715SQL Server 2017 para Desenvolvedores de Software - SQL Saturday 715
SQL Server 2017 para Desenvolvedores de Software - SQL Saturday 715
 
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...
 

Semelhante a Dicas para uma maior performance em APIs REST - DEVPIRA Festival - Dezembro-2018

Dicas para uma maior performance em APIs REST - Tech Meetup - Itaú Unibanco -...
Dicas para uma maior performance em APIs REST - Tech Meetup - Itaú Unibanco -...Dicas para uma maior performance em APIs REST - Tech Meetup - Itaú Unibanco -...
Dicas para uma maior performance em APIs REST - Tech Meetup - Itaú Unibanco -...Renato Groff
 
Monitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application InsightsMonitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application InsightsRenato Groff
 
ASP.NET Core: 5 frameworks/ferramentas indispensáveis em projetos
ASP.NET Core: 5 frameworks/ferramentas indispensáveis em projetosASP.NET Core: 5 frameworks/ferramentas indispensáveis em projetos
ASP.NET Core: 5 frameworks/ferramentas indispensáveis em projetosRenato Groff
 
MongoDB no Microsoft Azure - DBA Brasil 2.0
MongoDB no Microsoft Azure - DBA Brasil 2.0MongoDB no Microsoft Azure - DBA Brasil 2.0
MongoDB no Microsoft Azure - DBA Brasil 2.0Renato Groff
 
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...Renato Groff
 
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...Renato Groff
 
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...Renato Groff
 
SQL Server 2017 para Desenvolvedores de Software - TDC 2018 - São Paulo
SQL Server 2017 para Desenvolvedores de Software - TDC 2018 - São PauloSQL Server 2017 para Desenvolvedores de Software - TDC 2018 - São Paulo
SQL Server 2017 para Desenvolvedores de Software - TDC 2018 - São PauloRenato Groff
 
Monitorando APIs REST com o Application Insights - .NET São Paulo - Junho-2018
Monitorando APIs REST com o Application Insights - .NET São Paulo - Junho-2018Monitorando APIs REST com o Application Insights - .NET São Paulo - Junho-2018
Monitorando APIs REST com o Application Insights - .NET São Paulo - Junho-2018Renato Groff
 
Monitorando aplicações ASP.NET Core 2.2 com Health Checks, Application Insigh...
Monitorando aplicações ASP.NET Core 2.2 com Health Checks, Application Insigh...Monitorando aplicações ASP.NET Core 2.2 com Health Checks, Application Insigh...
Monitorando aplicações ASP.NET Core 2.2 com Health Checks, Application Insigh...Renato Groff
 
Monitorando APIs REST com o Application Insights - .Azure Weekend 2018 - Camp...
Monitorando APIs REST com o Application Insights - .Azure Weekend 2018 - Camp...Monitorando APIs REST com o Application Insights - .Azure Weekend 2018 - Camp...
Monitorando APIs REST com o Application Insights - .Azure Weekend 2018 - Camp...Renato Groff
 
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São PauloNoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São PauloRenato Groff
 
Monitorando aplicações Web com Application Insights, Logic Apps e Slack - .NE...
Monitorando aplicações Web com Application Insights, Logic Apps e Slack - .NE...Monitorando aplicações Web com Application Insights, Logic Apps e Slack - .NE...
Monitorando aplicações Web com Application Insights, Logic Apps e Slack - .NE...Renato Groff
 
Monitorando aplicações Web com Application Insights, Logic Apps e Slack - Dev...
Monitorando aplicações Web com Application Insights, Logic Apps e Slack - Dev...Monitorando aplicações Web com Application Insights, Logic Apps e Slack - Dev...
Monitorando aplicações Web com Application Insights, Logic Apps e Slack - Dev...Renato Groff
 
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...Renato Groff
 
SQL Server no Desenvolvimento Web - Database Dev Night #1 - Junho-2019
SQL Server no Desenvolvimento Web - Database Dev Night #1 - Junho-2019SQL Server no Desenvolvimento Web - Database Dev Night #1 - Junho-2019
SQL Server no Desenvolvimento Web - Database Dev Night #1 - Junho-2019Renato Groff
 
Desenvolvimento Serverless com Azure Functions, .NET Core e VS Code - .NET SP...
Desenvolvimento Serverless com Azure Functions, .NET Core e VS Code - .NET SP...Desenvolvimento Serverless com Azure Functions, .NET Core e VS Code - .NET SP...
Desenvolvimento Serverless com Azure Functions, .NET Core e VS Code - .NET SP...Renato Groff
 
Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019
Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019
Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019Renato 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...
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...Renato Groff
 
Arquiteturas Serverless + Azure Functions - Semana FCI - Mackenzie - Outubro-...
Arquiteturas Serverless + Azure Functions - Semana FCI - Mackenzie - Outubro-...Arquiteturas Serverless + Azure Functions - Semana FCI - Mackenzie - Outubro-...
Arquiteturas Serverless + Azure Functions - Semana FCI - Mackenzie - Outubro-...Renato Groff
 

Semelhante a Dicas para uma maior performance em APIs REST - DEVPIRA Festival - Dezembro-2018 (20)

Dicas para uma maior performance em APIs REST - Tech Meetup - Itaú Unibanco -...
Dicas para uma maior performance em APIs REST - Tech Meetup - Itaú Unibanco -...Dicas para uma maior performance em APIs REST - Tech Meetup - Itaú Unibanco -...
Dicas para uma maior performance em APIs REST - Tech Meetup - Itaú Unibanco -...
 
Monitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application InsightsMonitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application Insights
 
ASP.NET Core: 5 frameworks/ferramentas indispensáveis em projetos
ASP.NET Core: 5 frameworks/ferramentas indispensáveis em projetosASP.NET Core: 5 frameworks/ferramentas indispensáveis em projetos
ASP.NET Core: 5 frameworks/ferramentas indispensáveis em projetos
 
MongoDB no Microsoft Azure - DBA Brasil 2.0
MongoDB no Microsoft Azure - DBA Brasil 2.0MongoDB no Microsoft Azure - DBA Brasil 2.0
MongoDB no Microsoft Azure - DBA Brasil 2.0
 
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
 
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...
 
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
 
SQL Server 2017 para Desenvolvedores de Software - TDC 2018 - São Paulo
SQL Server 2017 para Desenvolvedores de Software - TDC 2018 - São PauloSQL Server 2017 para Desenvolvedores de Software - TDC 2018 - São Paulo
SQL Server 2017 para Desenvolvedores de Software - TDC 2018 - São Paulo
 
Monitorando APIs REST com o Application Insights - .NET São Paulo - Junho-2018
Monitorando APIs REST com o Application Insights - .NET São Paulo - Junho-2018Monitorando APIs REST com o Application Insights - .NET São Paulo - Junho-2018
Monitorando APIs REST com o Application Insights - .NET São Paulo - Junho-2018
 
Monitorando aplicações ASP.NET Core 2.2 com Health Checks, Application Insigh...
Monitorando aplicações ASP.NET Core 2.2 com Health Checks, Application Insigh...Monitorando aplicações ASP.NET Core 2.2 com Health Checks, Application Insigh...
Monitorando aplicações ASP.NET Core 2.2 com Health Checks, Application Insigh...
 
Monitorando APIs REST com o Application Insights - .Azure Weekend 2018 - Camp...
Monitorando APIs REST com o Application Insights - .Azure Weekend 2018 - Camp...Monitorando APIs REST com o Application Insights - .Azure Weekend 2018 - Camp...
Monitorando APIs REST com o Application Insights - .Azure Weekend 2018 - Camp...
 
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São PauloNoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
 
Monitorando aplicações Web com Application Insights, Logic Apps e Slack - .NE...
Monitorando aplicações Web com Application Insights, Logic Apps e Slack - .NE...Monitorando aplicações Web com Application Insights, Logic Apps e Slack - .NE...
Monitorando aplicações Web com Application Insights, Logic Apps e Slack - .NE...
 
Monitorando aplicações Web com Application Insights, Logic Apps e Slack - Dev...
Monitorando aplicações Web com Application Insights, Logic Apps e Slack - Dev...Monitorando aplicações Web com Application Insights, Logic Apps e Slack - Dev...
Monitorando aplicações Web com Application Insights, Logic Apps e Slack - Dev...
 
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...
 
SQL Server no Desenvolvimento Web - Database Dev Night #1 - Junho-2019
SQL Server no Desenvolvimento Web - Database Dev Night #1 - Junho-2019SQL Server no Desenvolvimento Web - Database Dev Night #1 - Junho-2019
SQL Server no Desenvolvimento Web - Database Dev Night #1 - Junho-2019
 
Desenvolvimento Serverless com Azure Functions, .NET Core e VS Code - .NET SP...
Desenvolvimento Serverless com Azure Functions, .NET Core e VS Code - .NET SP...Desenvolvimento Serverless com Azure Functions, .NET Core e VS Code - .NET SP...
Desenvolvimento Serverless com Azure Functions, .NET Core e VS Code - .NET SP...
 
Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019
Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019
Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019
 
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...
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...
 
Arquiteturas Serverless + Azure Functions - Semana FCI - Mackenzie - Outubro-...
Arquiteturas Serverless + Azure Functions - Semana FCI - Mackenzie - Outubro-...Arquiteturas Serverless + Azure Functions - Semana FCI - Mackenzie - Outubro-...
Arquiteturas Serverless + Azure Functions - Semana FCI - Mackenzie - Outubro-...
 

Mais de 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 ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...Renato Groff
 
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-2020Renato 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...
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...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...
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...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...
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...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...
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...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...
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...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...
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...Renato Groff
 
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 2020Renato Groff
 
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 2020Renato 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 |...
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...Renato Groff
 
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 2020Renato Groff
 
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 2020Renato 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 ...
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...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 -...
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...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
.NET: passado, presente e futuro | Semana FCI 2020 - MackenzieRenato 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...
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...Renato Groff
 
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áticaRenato Groff
 
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-2020Renato Groff
 
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 2020Renato 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
 

Dicas para uma maior performance em APIs REST - DEVPIRA Festival - Dezembro-2018

  • 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 Campinas .NET 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. • Solutions Architect na Venturus • Autor Técnico e Palestrante • Um dos organizadores do .NET SP e do Campinas .NET Robson Araújo h t t p s : / / m e d i u m . c o m / @ ro b s o n _ ro c h a /
  • 4. Agenda • Dicas para maior performance em APIs REST • Exemplos práticos
  • 5. APIs REST - Contexto Atual • REST como principal estilo arquitetural • Microserviços ganhando força • Economia das APIs • Escalabilidade, disponibilidade e performance são questões centrais
  • 6. E como podemos obter mais performance? • Reduzindo o tamanho das respostas produzidas • Utilizando bancos de dados de forma mais racional • Monitoramento contínuo a fim de identificar gargalos
  • 7. E como podemos obter mais performance? • Empregando cache • Evitando processamentos de longa duração • Escalando nossas APIs
  • 8. Como reduzir o tamanho das respostas? • Removendo valores nulos • Utilizando técnicas de compressão
  • 9. Remoção de valores nulos - Antes
  • 10. Remoção de valores nulos - Depois
  • 11. Remoção de valores nulos - Resultado
  • 14. Utilização mais racional de bancos de dados • Uso do suporte a JSON oferecido por bancos relacionais como SQL Server e PostgreSQL • Possibilidade de utilização de NoSQL • Empregar índices mediante análise prévia
  • 15. Suporte a JSON em um banco relacional
  • 16. Suporte a JSON em um banco relacional
  • 17. Utilização de cache • O Redis é uma alternativa NoSQL interessante para cache e bastante performática
  • 18. Monitoramento de APIs REST • Soluções como Azure Application Insights e New Relic representam uma excelente alternativa
  • 19.
  • 20. Evitando processamentos de longa duração • Implementação do pattern Fire-and-forget • Soluções de mensageria como RabbitMQ podem ser uma resposta
  • 21. Algumas alternativas para escalar uma API • Soluções do tipo PaaS (Platform as a Service) • Containers Docker em conjunto com orquestradores como Kubernetes
  • 22. Referências – Performance em APIs REST: bit.ly/performance-apis-aspnet-core
  • 23. Referências – Performance em APIs REST: bit.ly/performance-apis-aspnet-core