Apresentação sobre monitoramento de APIs REST com o Application Insights. Palestra realizada em São Paulo-SP em 01/09/2017, durante a edição 2017 do evento DevXperience.
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
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. Agenda
• APIs REST: contexto atual
• Monitorando serviços REST
• Application Insights: uma visão geral
• Exemplos práticos
5. APIs REST: contexto atual
• Escalabilidade, disponibilidade e performance
• REST como principal estilo arquitetural
• Microserviços ganhando força
• Economia das APIs
8. Por que monitorar?
• Garantir a operação do sistema
• Detecção de falhas
• Acompanhamento da performance
• Determinar uso intensivo de funcionalidades
9. Como monitorar?
• Estipulando métricas para análise
• Implementando uma estratégia de log
• Criando relatórios de acompanhamento
10. Surgem as dificuldades...
• É costume relegar o monitoramento a um segundo plano
• Logs bem elaborados exigem grandes esforços de codificação
11. Como superar isto?
Telemetria
• Coleta automatizada de dados (métricas) para
posterior análise
• O Application Insights é uma solução do Microsoft
Azure que emprega este tipo de prática
13. O que é?
• Serviço que integra o Microsoft Azure,
estando voltado ao monitoramento
de aplicações Web (sites e serviços)
• Uso de telemetria para coleta de
dados
14. O que é possível monitorar?
Algumas métricas disponibilizadas por default:
• Número de requisições
• Tempos de resposta
• Falhas
• Eventos customizados
16. Como funciona?
• Dados são coletados em uma
aplicação e enviados a um
repositório na nuvem
• Aplicações on-premise ou na
nuvem (mesmo fora do Azure)
podem ser monitoradas
• Dashboards no portal do Azure
oferecem diferentes análises
17. Como funciona?
• Possibilidade de customização de dashboards
• Dados são mantidos por 90 dias
• Exportação contínua → mantendo dados por
mais tempo, com custos adicionais
• Integração com outras soluções Microsoft →
Excel, Power BI e Visual Studio Team Service
18. Como funciona?
Disponível para:
• Novas aplicações e projetos já existentes
• Soluções on-premise ou na nuvem
• Sites, Web Services e APIs REST
19. Como funciona?
Tracking de dependências:
• Log de dependências de uma aplicação
• Útil na identificação de problemas de
performance
• Bancos de dados SQL e do Azure Cosmos DB,
chamadas HTTP e Blob Storage são exemplos
22. Como funciona?
Testes de Disponibilidade
• Execução de testes seguindo um intervalo de
tempo (5, 10, 15 min)
• Conduzidos a partir de diferentes data centers do
Azure
24. Como funciona?
Regras de alerta
• Além da detecção inteligente, alertas podem
ser gerados com base em regras que analisam
métricas
26. Como funciona?
Live Metrics Stream
• Monitoramento em tempo real
• Requisições, falhas e o consumo de recursos nos
servidores utilizados
28. Como funciona?
Application Map
• Exibe relações de dependência entre componentes
de uma aplicação
• Informações de desempenho, falhas e alertas
30. Como funciona?
Monitoramento de Performance
• Informações que auxiliam na busca por problemas
de performance
• Detalhamento de dependências envolvidas
32. Como funciona?
Analytics
• Análise avançada de dados gerados pelo Application Insights
• Execução de consultas
• Diferentes tipos de visualizações (tabela, gráficos)
• Exportação para Excel
• Integração com Power BI