34
Globalcode – Open4education Microservices Renato Groffe MTAC | MCP | MCTS Monitorando serviços REST com o Application Insights e Distributed Tracing

TDC2016SP - Trilha Microservices

Embed Size (px)

Citation preview

Page 1: TDC2016SP - Trilha Microservices

Globalcode – Open4education

Microservices

Renato GroffeMTAC | MCP | MCTS

Monitorando serviços REST com oApplication Insights e Distributed Tracing

Page 2: TDC2016SP - Trilha Microservices

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: TDC2016SP - Trilha Microservices

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: TDC2016SP - Trilha Microservices

Globalcode – Open4education

Agenda

Contexto atual

Monitorando serviços REST

Application Insights

Distributed Tracing

Exemplo prático

Page 5: TDC2016SP - Trilha Microservices

Globalcode – Open4education

Contexto atual

Page 6: TDC2016SP - Trilha Microservices

Globalcode – Open4education

Contexto atual

Escalabilidade, disponibilidade e performance

REST como principal estilo arquitetural

Microserviços ganhando força

Economia das APIs

Page 7: TDC2016SP - Trilha Microservices

Globalcode – Open4education

Questões fundamentais

Modelagem

Cultura de automação

Estratégias de deployment

Segurança

Monitoramento

Page 8: TDC2016SP - Trilha Microservices

Globalcode – Open4education

Monitorando serviços REST

Page 9: TDC2016SP - Trilha Microservices

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: TDC2016SP - Trilha Microservices

Globalcode – Open4education

Como monitorar?

Estipulando métricas para análise

Implementando uma estratégia de log

Criando relatórios de acompanhamento

Page 11: TDC2016SP - Trilha Microservices

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: TDC2016SP - Trilha Microservices

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: TDC2016SP - Trilha Microservices

Globalcode – Open4education

Surgem as dificuldades...

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

Page 14: TDC2016SP - Trilha Microservices

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 e Zipkin

Page 15: TDC2016SP - Trilha Microservices

Globalcode – Open4education

Application Insights

Page 16: TDC2016SP - Trilha Microservices

Globalcode – Open4education

O que é?

Serviço que integra o Microsoft Azure, estando voltado ao monitoramento de aplicações Web (sites e serviços)

Page 17: TDC2016SP - Trilha Microservices

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: TDC2016SP - Trilha Microservices

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: TDC2016SP - Trilha Microservices

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 20: TDC2016SP - Trilha Microservices

Globalcode – Open4education

Como funciona?

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

Page 21: TDC2016SP - Trilha Microservices

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 22: TDC2016SP - Trilha Microservices

Globalcode – Open4education

Plataformas suportadas

Page 23: TDC2016SP - Trilha Microservices

Globalcode – Open4education

Distributed Tracing

Page 24: TDC2016SP - Trilha Microservices

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”

Exemplos de soluções: Zipkin e Application Insights

Page 25: TDC2016SP - Trilha Microservices

Globalcode – Open4education

Representação esquemática

Page 26: TDC2016SP - Trilha Microservices

Globalcode – Open4education

ZipkinSolução open source desenvolvida pelo Twitter

Implementação de um projeto conhecido como Google Dapper

Monitoramento de requisições HTTP, SQL e até Redis

Gráficos mapeando dependências

Fluxo apresentado sob a forma de timelines

Page 27: TDC2016SP - Trilha Microservices

Globalcode – Open4education

Zipkin

Page 28: TDC2016SP - Trilha Microservices

Globalcode – Open4education

Zipkin

Page 29: TDC2016SP - Trilha Microservices

Globalcode – Open4education

Application Insights

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

Application Insights + TrackDependency API

Application Insights + Azure Cloud Services

Page 30: TDC2016SP - Trilha Microservices

Globalcode – Open4education

Application Insights

Page 31: TDC2016SP - Trilha Microservices

Globalcode – Open4education

Exemplo prático

Application Insights + ASP.NET Web API

Page 32: TDC2016SP - Trilha Microservices

Globalcode – Open4education

Dúvidas?

Page 33: TDC2016SP - Trilha Microservices

Globalcode – Open4education

Referências

Application Insights:https://azure.microsoft.com/pt-br/services/application-insights/

Zipkin:https://github.com/openzipkin/zipkin

Page 34: TDC2016SP - Trilha Microservices

Globalcode – Open4education

Obrigado!!!