Apresentação sobre o uso do Application Insights em serviços REST realizada em 17/07/2016, durante o evento DevOps & Tests Hack Nights.
Link com a gravação da palestra (a partir de 01:00:00):
https://youtu.be/_41riBJvH34?t=3639
2. Globalcode – Open4education
Apresentação pessoal
Atuação na área de desenvolvimento de software
desde 2001
Autor Técnico / Palestrante (Canal .NET,
TechNet, .NET Magazine, .NET Coders, GDG-SP,
DotNet Baixada)
MTAC (Microsoft Technical Audience Contributor)
6. Globalcode – Open4education
Contexto atual
Escalabilidade, disponibilidade e performance
REST como principal estilo arquitetural
Microserviços ganhando força
Economia das APIs
9. Globalcode – Open4education
Por que monitorar?
Garantir a operação do sistema
Detecção de falhas
Acompanhamento da performance
Determinar uso intensivo de funcionalidades
10. Globalcode – Open4education
Como monitorar?
Estipulando métricas para análise
Implementando uma estratégia de log
Criando relatórios de acompanhamento
11. Globalcode – Open4education
Surgem as dificuldades...
É costume relegar o monitoramento a um segundo plano
Logs bem elaborados exigem grandes esforços de
codificação
12. Globalcode – Open4education
Surgem as dificuldades...
Um único serviço pode possuir múltiplas instâncias
Host
Instância
1
Host
Instância
2
Host
Instância
3
Load Balancer
14. Globalcode – Open4education
Como superar isto?
Telemetria → coleta automatizada de dados
(métricas) para posterior análise
O Microsoft Azure oferece o Application Insights
Distributed Tracing → múltiplos serviços
Application Insights é uma opção
16. Globalcode – Open4education
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
17. Globalcode – Open4education
O que é possível monitorar?
Algumas das métricas disponibilizadas por default:
Número de requisições
Tempos de resposta
Falhas
Eventos customizados
18. Globalcode – Open4education
Como funciona?
Dados são coletados
em uma aplicação e
enviados a um
repositório na nuvem
Dashboards no portal
do Azure oferecem
diferentes análises
20. Globalcode – Open4education
Como funciona?
Monitoramento em tempo real (Beta)
Aplicações on-premise ou na nuvem (mesmo fora do Azure) podem ser
monitoradas
Detecção proativa → detecção e geração de avisos sobre problemas
de performance (usando data mining + Machine Learning)
22. Globalcode – Open4education
Como funciona?
Requisitos para uso:
Uma conta de acesso ao Microsoft Azure
Uma Instrumentation Key
Um SDK disponibilizado pela própria Microsoft
23. Globalcode – Open4education
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
26. Globalcode – Open4education
Application Insights em aplicações .NET
Pode ser configurado durante a criação do projeto
Tecnologias:
Web Forms
ASP.NET MVC
ASP.NET Web API
WCF
ASP.NET Core 1.0
28. Globalcode – Open4education
O que é?
Monitoramento envolvendo interações entre múltiplos
serviços
Permite identificar toda a rota percorrida por uma
requisição HTTP
Capacidade de determinar “gargalos”
Application Insights é uma alternativa
30. Globalcode – Open4education
Application Insights
Também há o suporte a tracing distribuído
Application Insights + TrackDependency API
Application Insights + Azure Cloud Services