DNAD 2015: Aprenda mais sobre sua aplicação e seus usuários com Application Insights
-
Upload
igor-abade -
Category
Technology
-
view
539 -
download
1
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
http://newsletter.igda.org/2012/08/27/type-of-data-and-techniques-in-games-user-research/
• 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?
http://blogs.msdn.com/b/jensenh/archive/2008/03/12/the-story-of-the-ribbon.aspx
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