Dicas para uma maior performance em APIs REST - Renato Groffe

iMasters
iMastersjornalista, web editor, web writer, tradutora (en-pt/pt-en) em iMasters
Dicas para uma maior performance em APIs REST - Renato Groffe
• 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 /
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
Dicas para uma maior performance em APIs REST - Renato Groffe
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
1 de 20

Recomendados

Dicas para uma maior performance em APIs REST - DEVPIRA Festival - Dezembro-2018 por
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-2018Renato Groff
1.3K visualizações23 slides
Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F... por
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 Groff
2K visualizações35 slides
APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure ... por
 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
119 visualizações28 slides
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018 por
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
432 visualizações39 slides
Microsoft Azure para Desenvolvedores Web - Azure para Devs e DBAs - Maio-2018 por
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
15 visualizações21 slides
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ... por
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
1.6K visualizações27 slides

Mais conteúdo relacionado

Mais procurados

APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure T... por
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
62 visualizações26 slides
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017 por
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017NoSQL no Microsoft Azure - Global Azure Bootcamp 2017
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017Renato Groff
87 visualizações29 slides
Bancos de dados no Azure: conhecendo as opções relacionais e NoSQL disponívei... por
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
377 visualizações17 slides
Apresentação Multimídia - Unifesp - VP9 por
Apresentação Multimídia - Unifesp - VP9Apresentação Multimídia - Unifesp - VP9
Apresentação Multimídia - Unifesp - VP9Henrique Genovês
478 visualizações21 slides
Monitorando APIs REST com o Application Insights - .NET SP - Dezembro/2017 por
Monitorando APIs REST com o Application Insights - .NET SP - Dezembro/2017Monitorando APIs REST com o Application Insights - .NET SP - Dezembro/2017
Monitorando APIs REST com o Application Insights - .NET SP - Dezembro/2017Renato Groff
54 visualizações29 slides
Sobrevoando os serviços do Azure | TDC Florianópolis Online 2020 por
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
2K visualizações27 slides

Mais procurados(11)

APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure T... por 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...
Renato Groff62 visualizações
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017 por Renato Groff
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017NoSQL no Microsoft Azure - Global Azure Bootcamp 2017
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017
Renato Groff87 visualizações
Bancos de dados no Azure: conhecendo as opções relacionais e NoSQL disponívei... por Renato 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...
Renato Groff377 visualizações
Apresentação Multimídia - Unifesp - VP9 por Henrique Genovês
Apresentação Multimídia - Unifesp - VP9Apresentação Multimídia - Unifesp - VP9
Apresentação Multimídia - Unifesp - VP9
Henrique Genovês478 visualizações
Monitorando APIs REST com o Application Insights - .NET SP - Dezembro/2017 por Renato Groff
Monitorando APIs REST com o Application Insights - .NET SP - Dezembro/2017Monitorando APIs REST com o Application Insights - .NET SP - Dezembro/2017
Monitorando APIs REST com o Application Insights - .NET SP - Dezembro/2017
Renato Groff54 visualizações
Sobrevoando os serviços do Azure | TDC Florianópolis Online 2020 por Renato Groff
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
Renato Groff2K visualizações
TDC2018SP | Trilha UX - Live Coding na Arquitetura Mais Produtiva Que Encontr... por tdc-globalcode
TDC2018SP | Trilha UX - Live Coding na Arquitetura Mais Produtiva Que Encontr...TDC2018SP | Trilha UX - Live Coding na Arquitetura Mais Produtiva Que Encontr...
TDC2018SP | Trilha UX - Live Coding na Arquitetura Mais Produtiva Que Encontr...
tdc-globalcode139 visualizações
Mini-CCNx: prototipagem rápida para Redes Orientadas a Conteúdo baseadas em CCN por Carlos Cabral
Mini-CCNx: prototipagem rápida para Redes Orientadas a Conteúdo baseadas em CCNMini-CCNx: prototipagem rápida para Redes Orientadas a Conteúdo baseadas em CCN
Mini-CCNx: prototipagem rápida para Redes Orientadas a Conteúdo baseadas em CCN
Carlos Cabral862 visualizações
Monitorando APIs REST com o Application Insights - .Azure Weekend 2018 - Camp... por 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...
Renato Groff40 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

Similar a Dicas para uma maior performance em APIs REST - Renato Groffe

Dicas para uma maior performance em APIs REST - Tech Meetup - Itaú Unibanco -... por
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
2.3K visualizações22 slides
Monitorando APIs REST com o Application Insights por
Monitorando APIs REST com o Application InsightsMonitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application InsightsRenato Groff
894 visualizações37 slides
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
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack... por
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
956 visualizações30 slides
ASP.NET Core: 5 frameworks/ferramentas indispensáveis em projetos por
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
5.3K visualizações14 slides
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party... por
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
3.9K visualizações28 slides

Similar a Dicas para uma maior performance em APIs REST - Renato Groffe(20)

Dicas para uma maior performance em APIs REST - Tech Meetup - Itaú Unibanco -... por Renato Groff
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 Groff2.3K visualizações
Monitorando APIs REST com o Application Insights por Renato Groff
Monitorando APIs REST com o Application InsightsMonitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application Insights
Renato Groff894 visualizações
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
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack... por 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...
Renato Groff956 visualizações
ASP.NET Core: 5 frameworks/ferramentas indispensáveis em projetos por Renato Groff
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
Renato Groff5.3K visualizações
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party... por 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...
Renato Groff3.9K visualizações
Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N... por Renato Groff
Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...
Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...
Renato Groff742 visualizações
Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019 por Renato Groff
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
Renato Groff353 visualizações
.Net Community Summit - Construindo APIs REST seguras com o ASP.NET Core - Re... por iMasters
.Net Community Summit - Construindo APIs REST seguras com o ASP.NET Core - Re....Net Community Summit - Construindo APIs REST seguras com o ASP.NET Core - Re...
.Net Community Summit - Construindo APIs REST seguras com o ASP.NET Core - Re...
iMasters186 visualizações
Construindo APIs seguras com o ASP.NET Core - .NET Community Summit 2018 por Renato Groff
Construindo APIs seguras com o ASP.NET Core - .NET Community Summit 2018Construindo APIs seguras com o ASP.NET Core - .NET Community Summit 2018
Construindo APIs seguras com o ASP.NET Core - .NET Community Summit 2018
Renato Groff19.4K visualizações
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C... por Renato 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...
Renato Groff73 visualizações
SQL Server 2017 para Desenvolvedores de Software - SQL Saturday 715 por Renato Groff
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
Renato Groff234 visualizações
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem... por 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...
Renato Groff187 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
Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customiz... por Miguel Xavier
Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customiz...Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customiz...
Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customiz...
Miguel Xavier478 visualizações
Monitorando APIs REST com o Application Insights - .NET São Paulo - Junho-2018 por Renato Groff
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
Renato Groff64 visualizações
Monitorando aplicações ASP.NET Core 2.2 com Health Checks, Application Insigh... por Renato 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...
Renato Groff3.4K visualizações
MongoDB no Microsoft Azure - DBA Brasil 2.0 por Renato Groff
MongoDB no Microsoft Azure - DBA Brasil 2.0MongoDB no Microsoft Azure - DBA Brasil 2.0
MongoDB no Microsoft Azure - DBA Brasil 2.0
Renato Groff214 visualizações
Funcionalidades das versões 9.x do PostgreSQL por Matheus Espanhol
Funcionalidades das versões 9.x do PostgreSQLFuncionalidades das versões 9.x do PostgreSQL
Funcionalidades das versões 9.x do PostgreSQL
Matheus Espanhol10.3K visualizações
Iniciando com serviços de bancos de dados gerenciados na AWS por Amazon Web Services LATAM
Iniciando com serviços de bancos de dados gerenciados na AWSIniciando com serviços de bancos de dados gerenciados na AWS
Iniciando com serviços de bancos de dados gerenciados na AWS
Amazon Web Services LATAM579 visualizações

Mais de iMasters

O que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro por
O que você precisa saber para modelar bancos de dados NoSQL - Dani MonteiroO que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
O que você precisa saber para modelar bancos de dados NoSQL - Dani MonteiroiMasters
1.4K visualizações40 slides
Postgres: wanted, beloved or dreaded? - Fabio Telles por
Postgres: wanted, beloved or dreaded? - Fabio TellesPostgres: wanted, beloved or dreaded? - Fabio Telles
Postgres: wanted, beloved or dreaded? - Fabio TellesiMasters
603 visualizações51 slides
Por que minha query esta lenta? - Suellen Moraes por
Por que minha query esta lenta? - Suellen MoraesPor que minha query esta lenta? - Suellen Moraes
Por que minha query esta lenta? - Suellen MoraesiMasters
370 visualizações12 slides
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig... por
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...iMasters
298 visualizações9 slides
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves por
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalvesORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalvesiMasters
324 visualizações31 slides
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -... por
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...iMasters
1.7K visualizações52 slides

Mais de iMasters(20)

O que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro por iMasters
O que você precisa saber para modelar bancos de dados NoSQL - Dani MonteiroO que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
O que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
iMasters1.4K visualizações
Postgres: wanted, beloved or dreaded? - Fabio Telles por iMasters
Postgres: wanted, beloved or dreaded? - Fabio TellesPostgres: wanted, beloved or dreaded? - Fabio Telles
Postgres: wanted, beloved or dreaded? - Fabio Telles
iMasters603 visualizações
Por que minha query esta lenta? - Suellen Moraes por iMasters
Por que minha query esta lenta? - Suellen MoraesPor que minha query esta lenta? - Suellen Moraes
Por que minha query esta lenta? - Suellen Moraes
iMasters370 visualizações
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig... por iMasters
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
iMasters298 visualizações
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves por iMasters
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalvesORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
iMasters324 visualizações
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -... por iMasters
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
iMasters1.7K visualizações
Arquitetando seus dados na prática para a LGPD - Alessandra Martins por iMasters
Arquitetando seus dados na prática para a LGPD - Alessandra MartinsArquitetando seus dados na prática para a LGPD - Alessandra Martins
Arquitetando seus dados na prática para a LGPD - Alessandra Martins
iMasters3.3K visualizações
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil... por iMasters
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
iMasters287 visualizações
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud por iMasters
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana ChahoudDesenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
iMasters950 visualizações
Use MDD e faça as máquinas trabalharem para você - Andreza Leite por iMasters
 Use MDD e faça as máquinas trabalharem para você - Andreza Leite Use MDD e faça as máquinas trabalharem para você - Andreza Leite
Use MDD e faça as máquinas trabalharem para você - Andreza Leite
iMasters682 visualizações
Entendendo os porquês do seu servidor - Talita Bernardes por iMasters
Entendendo os porquês do seu servidor - Talita BernardesEntendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita Bernardes
iMasters544 visualizações
Backend performático além do "coloca mais máquina lá" - Diana Arnos por iMasters
Backend performático além do "coloca mais máquina lá" - Diana ArnosBackend performático além do "coloca mais máquina lá" - Diana Arnos
Backend performático além do "coloca mais máquina lá" - Diana Arnos
iMasters477 visualizações
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro por iMasters
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
iMasters475 visualizações
Quem se importa com acessibilidade Web? - Mauricio Maujor por iMasters
Quem se importa com acessibilidade Web? - Mauricio MaujorQuem se importa com acessibilidade Web? - Mauricio Maujor
Quem se importa com acessibilidade Web? - Mauricio Maujor
iMasters480 visualizações
Service Mesh com Istio e Kubernetes - Wellington Figueira da Silva por iMasters
Service Mesh com Istio e Kubernetes - Wellington Figueira da SilvaService Mesh com Istio e Kubernetes - Wellington Figueira da Silva
Service Mesh com Istio e Kubernetes - Wellington Figueira da Silva
iMasters603 visualizações
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti por iMasters
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto PascuttiErros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
iMasters559 visualizações
Elasticidade e engenharia de banco de dados para alta performance - Rubens G... por iMasters
Elasticidade e engenharia de banco de dados para alta performance  - Rubens G...Elasticidade e engenharia de banco de dados para alta performance  - Rubens G...
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...
iMasters569 visualizações
Construindo aplicações mais confiantes - Carolina Karklis por iMasters
Construindo aplicações mais confiantes - Carolina KarklisConstruindo aplicações mais confiantes - Carolina Karklis
Construindo aplicações mais confiantes - Carolina Karklis
iMasters477 visualizações
Monitoramento de Aplicações - Felipe Regalgo por iMasters
Monitoramento de Aplicações - Felipe RegalgoMonitoramento de Aplicações - Felipe Regalgo
Monitoramento de Aplicações - Felipe Regalgo
iMasters709 visualizações
Clean Architecture - Elton Minetto por iMasters
Clean Architecture - Elton MinettoClean Architecture - Elton Minetto
Clean Architecture - Elton Minetto
iMasters917 visualizações

Dicas para uma maior performance em APIs REST - Renato Groffe

  • 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. 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
  • 4. 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
  • 5. E como podemos obter mais performance? • Empregando cache • Evitando processamentos de longa duração • Escalando nossas APIs
  • 6. Como reduzir o tamanho das respostas? • Removendo valores nulos • Utilizando técnicas de compressão
  • 7. Remoção de valores nulos - Antes
  • 8. Remoção de valores nulos - Depois
  • 9. Remoção de valores nulos - Resultado
  • 12. 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
  • 13. Suporte a JSON em um banco relacional
  • 14. Suporte a JSON em um banco relacional
  • 15. Utilização de cache • O Redis é uma alternativa NoSQL interessante para cache e bastante performática
  • 16. Monitoramento de APIs REST • Soluções como Azure Application Insights e New Relic representam uma excelente alternativa
  • 18. Evitando processamentos de longa duração • Implementação do pattern Fire-and-forget • Soluções de mensageria como RabbitMQ podem ser uma resposta
  • 19. Algumas alternativas para escalar uma API • Soluções do tipo PaaS (Platform as a Service) • Containers Docker em conjunto com orquestradores como Kubernetes
  • 20. Referências – Performance em APIs REST: bit.ly/performance-apis-aspnet-core