DNAD 2015: Aprenda mais sobre sua aplicação e seus usuários com Application Insights

Post on 07-Aug-2015

539 views 1 download

Transcript of DNAD 2015: Aprenda mais sobre sua aplicação e seus usuários com Application Insights

Aprenda mais sobre sua aplicação e seus usuários com

Application Insights

DNAD 2015 –27/06/2015

Igor Abade V. Leite@igorabade

Desde 2006• Visual Studio Team System• Visual Studio ALM

Sobre mim

@igorabadewww.tshooter.com.br

Desde 2010• Consultoria• Desenvolvimento• TreinamentoDemocracia Organizacional

Antes de começarmos…

Devs são esquisitos

“Build the right thingvs.

Build the thing right”

Aprenda mais sobre sua aplicação e seus usuários com Application Insights

Devs são bons em montar coisas.

Das mais simples...

... às nem tão simples assim

http://www.slideshare.net/AgileOnTheBeach/first-build-the-right-thing

Não basta “fazer certo”

It’s all about feedback

Coletando feedbackAprenda mais sobre sua aplicação e seus usuários com Application Insights

• Top 5 Most-Used Commands in Microsoft Word 2003– Paste– Save– Copy– Undo– Bold

“Paste itself accounts for more than 11% of all commands used, and has more than twice as much usage as the #2 entry on the list, Save”

Já tinha reparado nisto?

http://blogs.msdn.com/b/jensenh/archive/2006/04/07/570798.aspx

• Customer Experience Improvement Program– “Service Quality

Monitoring” (SQM)

• Duas partes– Application Analytics– Application Performance

Monitoring

Já tinha reparado nisto?

Vai ficar pior!

“By 2017, 94.5% of downloads will be for free apps; Less than 0.01% of consumer mobile apps will be considered a financial success”

-Gartner

Telemetria: Batalha em dois fronts

Application Analytics (AA)

• Foco no usuário• Padrões de utilização

• Funcionalidades

Application Performance

Monitoring (APM)

• Foco na aplicação• Desempenho• Disponibilidade

Diversas opçõesApplication Analytics

Application Perf. Monitoring

Microsoft Application Insights

Application InsightsAprenda mais sobre sua aplicação e seus usuários com Application Insights

O que é o Application Insights• Novo serviço de monitoramento de

aplicações do Azure– APM + AA “as-a-service”

• Coleta indicadores de desempenho, logs e erros de aplicações em diversas plataformas– Server-side ou cliente-side– Apps pn-premise, na nuvem, em

devices

Como funciona

Telemetria chega ao serviço do Application Insights na nuvem, onde é processado e armazenado2

Dados de desempenho e utilização são disponibilizados no Portal do Azure (portal.azure.com)3

Telemetria é coletada em cada camada: apps móveis, servidores e browsers1

Fontes de telemetria

plataforma

infraestrutura

aplicação

1

3

4

5

6

Monitoramento Outside-in Pings de URL e Testes Web a partir de 16pontos de presença globais

Traces gerados pelo desenvolvedorQualquer coisa que o dev queira mandar parao Application Insights

Comportamento da aplicaçãoDispensa codificação – dependências de serviço,consultas, tempo de resposta, exceções, logs, etc.

Desempenho da infraestruturaContadores de desempenho de sistema

“Meta-telemetria”Código-fonte, builds, implantações, mudançasde configuração

2Comportamento do usuárioComo a aplicação está sendo utilizada?

Plataformas suportadasServer side

• .NET (incl. ASP.NET 5)

• Java• Node.js• PHP• Python• Ruby• WordPress

Client side

• Browser• Javascript

• Windows• Win Forms, WPF• Windows Store

• OSX

Devices

• Android• iOS• Windows Phone

Application Insights SDK

Adoção gradual dos recursos do Application Insights

Por onde começar?

Disponibilidade básica

Desempenho básico

Utilização da aplicação

Telemetria Personalizada

Não-invasivo

Alterações de Código

Dashboards• Página inicial

oferece resumo da situação da aplicação– Disponibilidade– Desempenho– Utilização

• Linha do tempo sincronizada– Correlação de

eventos e métricas

demoDashboards

Detailed insights with click of a button • Correlate performance

& usage in a single view

• Pinpoint problems and help answer questions like, “Do I have network performance issues that hurt my user adoption?”

• Click on specific metric and drill into detailed information, answer questions such as “what request is failing the most?”

Quickly identify & triage Availability issues

• Reduce MTTD by testing the service availability from Application Insight’s global points of presence, using URL ping tests and rich multi-step web tests

• Simple alert setting rules provide proactive notifications about abnormal service or website behaviors

• Wide set of Notifications based on VS Web Test synthetic transactions to detect failures in critical application flows, real-time metric data provided by Application Insights APIs and Windows Performance counters.

• Quickly diagnose issues by accessing application logging instrumentation augmented by additional runtime information collected for exceptions, requests and client side page execution.

• Significantly speed up incident mitigation, minimizing MTTR and improve application SLAs with reproducible test cases

Diagnose & Solve performance problems

Learn & improve with usage insights

• Understand where your users are coming from and where they spend most of the time

• Prioritize investments and continuously improve application based on user activity and usage trends

Extend telemetry data• Add Custom Metrics &

Events, to help better track and analyze user activity

• Download data collected in Application Insights for a quick snapshot view

• Continuously Export data to Azure Blob Storage for custom integration with other data sources & further analysis

Powerful Insights w/ Metrics & Search Explorer

• Metric Explorer provides flexible multi-dimensional UI over custom and out-of-the-box telemetry collected

• Search Explorer enable efficient search over large set of data using the query experience.

Leading, real-time mobile crash analytics

• Near instant understanding of which crashes happening on devices, allowing users to quickly prioritize fixing key issues with the biggest impact

Any App Support• Easily add

analytics across multiple platforms including: ASP.NET, Java/J2EE, iOS, Android, Windows

• OSS technologies, such as Node.JS, PHP, Ruby, Python, etc.

3rd Party Platform Support• Java SDK: allow

Java developers to easily add Application Insights to their app, using our downloadable SDK

• iOS & Android SDK: provide crash analytics based on HockeyApp

• Visual Studio: Out-of-the-box collection of vital application telemetry data including .NET exceptions, ASP.NET request performance and logs instrumentation

• Azure Portal for Websites and VMs: Transparent integration provide access to application telemetry data with no effort

• Universal Applications: Usage and crash data across Windows 10, PC, tablet and mobile devices, which will be presented in the Windows Developer Center Portal

Zero click on Microsoft Platform

Monitor Apps without touching code• Status Monitor:

Diagnose exceptions & performance issues without rebuilding or re-deploying web apps.

• Install Status Monitor on IIS Server/Azure VM to track external dependencies & windows performance counters

• Challenges– Visibility to application health?– Visibility to application outages to

minimize– customer impact?– Hard to get information to determine

impact of issue?

• Solutions– Reduce ‘Mean Time to Detect’– Ensure service availability with 16 global

points of presence– URL ping tests and rich multi-step web

tests– Threshold based alerts on metrics and

perf. counters– Real time alerts via email

Identify & Triage issues: Availability

• Challenges– Uncover root cause of issues in

production?– Quickly resolve app crashes?– Monitor app responsiveness?

• Solutions– Reduce ‘Mean Time to Resolve’– Identify issues with request rate &

dependency response times– Multi-dimensional analyses over

custom & default metrics– Drill through exceptions & failed

requests with traces and runtime telemetry

Diagnose & Solve problems: Performance

• Challenges– Unable to correlate with other data

sources?– Lack of information to prioritize future

investments?

• Solutions– Understand key adoption trends– Prioritize investments & support specific

client environments– Custom event instrumentation & client

page views– Complete usage with perf. telemetry for

360° view– Export data to manually correlate with

external data sources

Learn & Improve continuously: Usage

Application Insights SDK

Aprenda mais sobre sua aplicação e seus usuários com Application Insights

Usando Application Insights SDK

demoApplication Insights

SDK

Dicas de uso do SDKAPI Collected by Default? When to Use

Track Page View Yes with JavaScript SDK Want to differentiate with SPA

Track Request Yes with Server SDK

Track Event No Business/Feature usage logging

Track Trace No System logging, treat like your event log

Track Exception Yes but only at HTTP Module with Server SDK

Only exceptions you care about

Track Metric No Performance counters, business metrics

Exemplos de AdoçãoAprenda mais sobre sua aplicação e seus usuários com Application Insights

RoleGuidePowered by SMSG Readiness

Application Insights

Interesting Facts

• More than 95K Accounts & 220K Apps

• More than 11K apps actively using Application Insights

• More than 99% applications from outside Microsoft

• Key lifecycle piece of services like MS Game Studios, Visual Studio Online, MSDN, Office Apps, etc.

“Titanfall delivers an unparalleled multiplayer gaming experience, powered using Azure”• Uses data centers all over• The game figures out where you are• Where the closest Azure data center is• Spins up a server just for you – constantly available set of

servers• AI & NPCs(non-player characters) powered by server• More than 100,000 virtual machines deployed on launch day

...so there is no host advantage in this multiplayer game

Launched on March 11, 2014

Application Insights

monitoring coming …

Trabalhando com dados exportados

Aprenda mais sobre sua aplicação e seus usuários com Application Insights

Exportação Contínua

“Meta-Application Insights”• Used daily for tracking adoption, prioritizing

investments and maintaining live site & data platform

• Pipeline is instrumented to track overall business metrics and feature/usage workflows

• Used for Live Site to track availability & performance in real time and fix issues quickly

• Tremendously useful for providing the service successfully

Exportação Contínua

Curiosidades• More than 95K Accounts & 220K

Apps• More than 11K apps actively using

Application Insights• More than 99% applications from

outside Microsoft• Key lifecycle piece of services like

MS Game Studios, Visual Studio Online, MSDN, Office Apps, etc.

ConclusãoAprenda mais sobre sua aplicação e seus usuários com Application Insights

Recapitulando...

Notificações e AlertasAnalytics e Log Mining

Monitoramento de Ambiente

Monitoramento da Aplicação

Monitoramento de Uso

App Analytics + App Perf Monitoring

Preço?

Para saber mais• Começe a usar o Application Insights – de graça!

http://www.visualstudio.com/en-us/get-started/find-performance-problems-vs

• Roller-coaster Tour of App Insights Webinarhttp://bit.ly/1c55LW8

• Find Performance Problemshttp://bit.ly/1fF5TXo

• Channel 9 App Insights for Visual Studio Online http://bit.ly/1fF69FR

Perguntas?Aprenda mais sobre sua aplicação e seus usuários com Application Insights

www.lambda3.com.br