monitorando serviços rest com o application insights
TRANSCRIPT
Globalcode – Open4education
Monitorando serviços REST com o Application Insights
Renato GroffeMTAC | MCP | MCTS
DevOps & Tests Hack Nights
Globalcode – Open4education
Apresentação pessoal
Atuação na área de desenvolvimento de softwaredesde 2001
Autor Técnico / Palestrante (Canal .NET, TechNet, .NET Magazine, .NET Coders, GDG-SP,DotNet Baixada)
MTAC (Microsoft Technical Audience Contributor)
Globalcode – Open4education
Contatos
Facebook:https://www.facebook.com/renatogroff
Site:http://renatogroffe.net/
Canal .NET:https://www.facebook.com/canaldotnet
LinkedIn:http://br.linkedin.com/in/renatogroffe
Globalcode – Open4education
Agenda
Contexto atual
Monitorando serviços REST
Application Insights
Distributed Tracing
Exemplos práticos
Globalcode – Open4education
Contexto atual
Globalcode – Open4education
Contexto atual
Escalabilidade, disponibilidade e performance
REST como principal estilo arquitetural
Microserviços ganhando força
Economia das APIs
Globalcode – Open4education
Questões fundamentais
Modelagem
Cultura de automação
Estratégias de deployment
Segurança
Monitoramento
Globalcode – Open4education
Monitorando serviços REST
Globalcode – Open4education
Por que monitorar?
Garantir a operação do sistema
Detecção de falhas
Acompanhamento da performance
Determinar uso intensivo de funcionalidades
Globalcode – Open4education
Como monitorar?
Estipulando métricas para análise
Implementando uma estratégia de log
Criando relatórios de acompanhamento
Globalcode – Open4education
Surgem as dificuldades...
É costume relegar o monitoramento a um segundo plano
Logs bem elaborados exigem grandes esforços de codificação
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
Globalcode – Open4education
Surgem as dificuldades...
Múltiplos serviços envolvidos em uma mesma requisição
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
Globalcode – Open4education
Application Insights
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
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
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
Globalcode – Open4education
Como funciona?
Integração com Excel e Power BI
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)
Globalcode – Open4education
Como funciona?
Regras de alerta geram e-mails de notificação
Globalcode – Open4education
Como funciona?
Requisitos para uso:
Uma conta de acesso ao Microsoft Azure
Uma Instrumentation Key
Um SDK disponibilizado pela própria Microsoft
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
Globalcode – Open4education
Como funciona?
https://azure.microsoft.com/pt-br/pricing/details/application-insights/
Globalcode – Open4education
Plataformas suportadas
Globalcode – Open4education
Application Insights em aplicações .NET
Pode ser configurado durante a criação do projeto
Tecnologias:Web FormsASP.NET MVCASP.NET Web APIWCFASP.NET Core 1.0
Globalcode – Open4education
Distributed Tracing
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
Globalcode – Open4education
Representação esquemática
Globalcode – Open4education
Application Insights
Também há o suporte a tracing distribuído
Application Insights + TrackDependency API
Application Insights + Azure Cloud Services
Globalcode – Open4education
Application Insights
Globalcode – Open4education
Exemplos práticos
Globalcode – Open4education
Dúvidas?
Globalcode – Open4education
Referências
Application Insights:https://azure.microsoft.com/pt-br/services/application-insights/
Guia de Sobrevivência - Application Insights:http://social.technet.microsoft.com/wiki/pt-br/contents/articles/34859.application-insights-guia-de-sobrevivencia.aspx
Globalcode – Open4education
Obrigado!!!
DevOps & Tests Hack Nights