monitorando serviços rest com o application insights

35
Globalcode – Open4education Monitorando serviços REST com o Application Insights Renato Groffe MTAC | MCP | MCTS DevOps & Tests Hack Nights

Upload: renato-groff

Post on 15-Apr-2017

220 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Monitorando serviços REST com o Application Insights

Globalcode – Open4education

Monitorando serviços REST com o Application Insights

Renato GroffeMTAC | MCP | MCTS

DevOps & Tests Hack Nights

Page 2: Monitorando serviços REST com o Application Insights

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)

Page 3: Monitorando serviços REST com o Application Insights

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

Page 4: Monitorando serviços REST com o Application Insights

Globalcode – Open4education

Agenda

Contexto atual

Monitorando serviços REST

Application Insights

Distributed Tracing

Exemplos práticos

Page 5: Monitorando serviços REST com o Application Insights

Globalcode – Open4education

Contexto atual

Page 6: Monitorando serviços REST com o Application Insights

Globalcode – Open4education

Contexto atual

Escalabilidade, disponibilidade e performance

REST como principal estilo arquitetural

Microserviços ganhando força

Economia das APIs

Page 7: Monitorando serviços REST com o Application Insights

Globalcode – Open4education

Questões fundamentais

Modelagem

Cultura de automação

Estratégias de deployment

Segurança

Monitoramento

Page 8: Monitorando serviços REST com o Application Insights

Globalcode – Open4education

Monitorando serviços REST

Page 9: Monitorando serviços REST com o Application Insights

Globalcode – Open4education

Por que monitorar?

Garantir a operação do sistema

Detecção de falhas

Acompanhamento da performance

Determinar uso intensivo de funcionalidades

Page 10: Monitorando serviços REST com o Application Insights

Globalcode – Open4education

Como monitorar?

Estipulando métricas para análise

Implementando uma estratégia de log

Criando relatórios de acompanhamento

Page 11: Monitorando serviços REST com o Application Insights

Globalcode – Open4education

Surgem as dificuldades...

É costume relegar o monitoramento a um segundo plano

Logs bem elaborados exigem grandes esforços de codificação

Page 12: Monitorando serviços REST com o Application Insights

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

Page 13: Monitorando serviços REST com o Application Insights

Globalcode – Open4education

Surgem as dificuldades...

Múltiplos serviços envolvidos em uma mesma requisição

Page 14: Monitorando serviços REST com o Application Insights

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

Page 15: Monitorando serviços REST com o Application Insights

Globalcode – Open4education

Application Insights

Page 16: Monitorando serviços REST com o 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

Page 17: Monitorando serviços REST com o Application Insights

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

Page 18: Monitorando serviços REST com o Application Insights

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

Page 19: Monitorando serviços REST com o Application Insights

Globalcode – Open4education

Como funciona?

Integração com Excel e Power BI

Page 20: Monitorando serviços REST com o Application Insights

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)

Page 21: Monitorando serviços REST com o Application Insights

Globalcode – Open4education

Como funciona?

Regras de alerta geram e-mails de notificação

Page 22: Monitorando serviços REST com o Application Insights

Globalcode – Open4education

Como funciona?

Requisitos para uso:

Uma conta de acesso ao Microsoft Azure

Uma Instrumentation Key

Um SDK disponibilizado pela própria Microsoft

Page 23: Monitorando serviços REST com o Application Insights

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

Page 24: Monitorando serviços REST com o Application Insights

Globalcode – Open4education

Como funciona?

https://azure.microsoft.com/pt-br/pricing/details/application-insights/

Page 25: Monitorando serviços REST com o Application Insights

Globalcode – Open4education

Plataformas suportadas

Page 26: Monitorando serviços REST com o Application Insights

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

Page 27: Monitorando serviços REST com o Application Insights

Globalcode – Open4education

Distributed Tracing

Page 28: Monitorando serviços REST com o Application Insights

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

Page 29: Monitorando serviços REST com o Application Insights

Globalcode – Open4education

Representação esquemática

Page 30: Monitorando serviços REST com o Application Insights

Globalcode – Open4education

Application Insights

Também há o suporte a tracing distribuído

Application Insights + TrackDependency API

Application Insights + Azure Cloud Services

Page 31: Monitorando serviços REST com o Application Insights

Globalcode – Open4education

Application Insights

Page 32: Monitorando serviços REST com o Application Insights

Globalcode – Open4education

Exemplos práticos

Page 33: Monitorando serviços REST com o Application Insights

Globalcode – Open4education

Dúvidas?

Page 34: Monitorando serviços REST com o Application Insights

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

Page 35: Monitorando serviços REST com o Application Insights

Globalcode – Open4education

Obrigado!!!

DevOps & Tests Hack Nights