tdc2016sp - trilha microservices

Post on 16-Apr-2017

367 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Globalcode – Open4education

Microservices

Renato GroffeMTAC | MCP | MCTS

Monitorando serviços REST com oApplication Insights e Distributed Tracing

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

Exemplo prático

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

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)

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?

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

Plataformas suportadas

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”

Exemplos de soluções: Zipkin e Application Insights

Globalcode – Open4education

Representação esquemática

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

Globalcode – Open4education

Zipkin

Globalcode – Open4education

Zipkin

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

Exemplo prático

Application Insights + ASP.NET Web API

Globalcode – Open4education

Dúvidas?

Globalcode – Open4education

Referências

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

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

Globalcode – Open4education

Obrigado!!!

top related