Aprenda mais sobre sua aplicação e seus
usuários com Application Insights
DNAD 2015 –27/06/2015
Igor Abade V. Leite
@igora...
Desde 2006
• Visual Studio Team System
• Visual Studio ALM
Sobre mim
@igorabade
www.tshooter.com.br
Desde 2010
• Consultor...
Antes de
começarmos…
Devs são esquisitos
“Build the right thing
vs.
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 feedback
Aprenda 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...
• Customer Experience
Improvement Program
– “Service Quality
Monitoring” (SQM)
• Duas partes
– Application Analytics
– App...
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 consid...
Telemetria: Batalha em dois fronts
Application Analytics
(AA)
• Foco no usuário
• Padrões de utilização
• Funcionalidades
...
Diversas opções
Application Analytics Application Perf. Monitoring
Microsoft Application Insights
Application Insights
Aprenda 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 i...
Como funciona
Telemetria chega ao serviço do
Application Insights na nuvem,
onde é processado e armazenado2
Dados de desem...
Fontes de telemetria
plataforma
infraestrutura
aplicação
1
3
4
5
6
Monitoramento Outside-in
Pings de URL e Testes Web a pa...
Plataformas suportadas
Server side
• .NET (incl. ASP.NET 5)
• Java
• Node.js
• PHP
• Python
• Ruby
• WordPress
Client side...
Adoção gradual dos recursos do Application Insights
Por onde começar?
Disponibilidade
básica
Desempenho
básico
Utilização ...
Dashboards
• Página inicial
oferece resumo
da situação da
aplicação
– Disponibilidade
– Desempenho
– Utilização
• Linha do...
demo
Detailed insights with click of a button
• Correlate performance
& usage in a single view
• Pinpoint problems and
help ans...
Quickly identify & triage Availability
issues
• Reduce MTTD by testing the service
availability from Application Insight’s...
• Quickly diagnose issues by
accessing application logging
instrumentation augmented by
additional runtime information
col...
Learn & improve with usage insights
• Understand where
your users are
coming from and
where they spend
most of the time
• ...
Extend telemetry data
• Add Custom Metrics &
Events, to help better
track and analyze user
activity
• Download data
collec...
Powerful Insights w/ Metrics & Search
Explorer
• Metric Explorer
provides flexible
multi-dimensional
UI over custom and
ou...
Leading, real-time mobile crash
analytics
• Near instant
understanding of
which crashes
happening on
devices, allowing
use...
Any App Support
• Easily add analytics
across multiple
platforms
including: ASP.NET,
Java/J2EE, iOS,
Android, Windows
• OS...
3rd Party Platform Support
• Java SDK: allow
Java developers to
easily add
Application Insights
to their app, using
our do...
• Visual Studio: Out-of-the-box collection
of vital application telemetry data
including .NET exceptions, ASP.NET
request ...
Monitor Apps without touching code
• Status Monitor:
Diagnose exceptions &
performance issues
without rebuilding or
re-dep...
• Challenges
– Visibility to application health?
– Visibility to application outages to minimize
– customer impact?
– Hard...
• Challenges
– Uncover root cause of issues in
production?
– Quickly resolve app crashes?
– Monitor app responsiveness?
• ...
• Challenges
– Unable to correlate with other data
sources?
– Lack of information to prioritize future
investments?
• Solu...
Application Insights SDK
Aprenda mais sobre sua aplicação e seus usuários com Application Insights
Usando Application Insights SDK
demo
Dicas de uso do SDK
API Collected by Default? When to Use
Track Page View Yes with JavaScript SDK Want to differentiate wi...
Exemplos de Adoção
Aprenda mais sobre sua aplicação e seus usuários com Application Insights
RoleGuide
Powered by SMSG Readiness
Application Insights
Interesting Facts
• More than 95K Accounts & 220K Apps
• More tha...
“Titanfall delivers an
unparalleled multiplayer
gaming experience,
powered using Azure”
• Uses data centers all over
• The...
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
...
Exportação Contínua
Curiosidades
• More than 95K Accounts & 220K Apps
• More than 11K apps actively using
Application Insights
• More than 99%...
Conclusão
Aprenda mais sobre sua aplicação e seus usuários com Application Insights
Recapitulando...
Notificações e Alertas
Analytics e Log Mining
Monitoramento de Ambiente
Monitoramento da Aplicação
Monito...
Preço?
Para saber mais
• Começe a usar o Application Insights – de graça!
http://www.visualstudio.com/en-us/get-started/find-perf...
Perguntas?
Aprenda mais sobre sua aplicação e seus usuários com Application Insights
www.lambda3.com.br
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DNAD 2015)
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DNAD 2015)
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DNAD 2015)
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DNAD 2015)
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DNAD 2015)
Próximos SlideShares
Carregando em…5
×

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

1.074 visualizações

Publicada em

Desenvolver aplicações está cada vez mais difícil, em especial com a proliferação de dispositivos móveis e web sites. Você sabe quando sua aplicação deu erro? Ou quais recursos seu usuário acessa? E o desempenho em produção, está adequado? Venha conhecer o Application Insights, serviço da Microsoft que permite a captura de 'telemetria' de sua aplicação - na nuvem ou on-premises - para que você saiba exatamente o que acontece com seus sistemas em produção

Publicada em: Tecnologia
0 comentários
4 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.074
No SlideShare
0
A partir de incorporações
0
Número de incorporações
387
Ações
Compartilhamentos
0
Downloads
9
Comentários
0
Gostaram
4
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • There are a number of sources of telemetry data that App Insights can collect and process.
    Outside-in monitoring is the same engine used by System Center’s Global Service Monitor. Developers don’t have to change any application code to enable this, but they can re-utilize the same web tests they create today for more complex user paths through an application.
    By installing an agent, user behavior is captured without a change to code as well.
    In some scenarios, code changes may be required to capture certain metrics and so SDK’s are available to emit and capture those.
  • Customers can start getting insights into their applications at their own pace…

    Level 1 – Basic Availability – Non-invasive, no need to re-deploy or code changes.
    Start getting outside-in monitoring with ping test/synthetic transactions, by configuring URL, ping or deploy existing web tests and get 16 global points of presence.

    Level 2 – Basic Performance: No code changes required. Install agent (Microsoft Monitoring agent) on platform

    Level 3 – Application usage: Inject agent into application - little or no developer effort

    Level 4 – Customer telemetry – Using SDK, developer emits custom event to the service
  • So, who’s using this to monitor applications today. While there are customers using it, it’s in preview still, so we’ve listed these applications as those really using it for production.
  • The core is an instrumentation key

    Belongs to a resource group – grouping for spending, access etc
  • Start with web
  • VS2013 U3 has it built-in
  • Add installs nuget and updates web.config
    Also gives an AI config file
  • Applicationinsights.config
  • VS shows that events are being sent

    Data immediately shows up in the portal
  • Any web (or javascript-enabled) app can send telemetry
  • Easy to access code from portal
  • Client side data
  • Currently the only way to monitor dependant resources (BLOB, HTTP, SQL)
  • Install and choose what web apps to activate, will update config and restart IIS.
  • Status Monitor adds monitoring of dependant resources, otherwise the same as
  • IIS is required
  • Outside-in web test
  • Add your test – locations and criteria
  • How can a 200-returning call keep failing?
    ALL resources must succeed for test to pass
  • These limits will probably change soon
  • Some glitches around hot hours for online banking
  • Apps coming soon – but can still report telemetry to ASP.NET Application Insights-app with apps SDK.
  • Debug mode reports continously, release mode sends upon NEXT resume. (if online, otherwise next time)
  • Example of telemetry data
  • Some common concepts
  • Metrics is looking at lots of data at once (eg graphs)
    Diagnostics is per event
  • Metrics explorer has filters
  • Alerts on metrics
  • Drilling down opens diagnostics search
  • Eg you can follow a session.
  • Custom telemetry is easy; events, exceptions and pageviews are most common.
    You can send properties too.
    Metrics are currently not shown in the Azure portal.
  • Custom events are also easily accessible in the portal.
  • Continuous export to storage container, nicely organized on type, json data.
  • Of course continuous export allows you to keep ALL data.
  • Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DNAD 2015)

    1. 1. Aprenda mais sobre sua aplicação e seus usuários com Application Insights DNAD 2015 –27/06/2015 Igor Abade V. Leite @igorabade
    2. 2. Desde 2006 • Visual Studio Team System • Visual Studio ALM Sobre mim @igorabade www.tshooter.com.br Desde 2010 • Consultoria • Desenvolvimento • Treinamento Democracia Organizacional
    3. 3. Antes de começarmos…
    4. 4. Devs são esquisitos
    5. 5. “Build the right thing vs. Build the thing right” Aprenda mais sobre sua aplicação e seus usuários com Application Insights
    6. 6. Devs são bons em montar coisas.
    7. 7. Das mais simples...
    8. 8. ... às nem tão simples assim
    9. 9. http://www.slideshare.net/AgileOnTheBeach/first-build-the-right-thing Não basta “fazer certo”
    10. 10. It’s all about feedback
    11. 11. Coletando feedback Aprenda mais sobre sua aplicação e seus usuários com Application Insights
    12. 12. http://newsletter.igda.org/2012/08/27/type-of-data-and-techniques-in-games-user-research/
    13. 13. • 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
    14. 14. • Customer Experience Improvement Program – “Service Quality Monitoring” (SQM) • Duas partes – Application Analytics – Application Performance Monitoring Já tinha reparado nisto?
    15. 15. http://blogs.msdn.com/b/jensenh/archive/2008/03/12/the-story-of-the-ribbon.aspx
    16. 16. 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
    17. 17. 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
    18. 18. Diversas opções Application Analytics Application Perf. Monitoring Microsoft Application Insights
    19. 19. Application Insights Aprenda mais sobre sua aplicação e seus usuários com Application Insights
    20. 20. 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
    21. 21. 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)3Telemetria é coletada em cada camada: apps móveis, servidores e browsers1
    22. 22. Fontes de telemetria plataforma infraestrutura aplicação 1 3 4 5 6 Monitoramento Outside-in Pings de URL e Testes Web a partir de 16 pontos de presença globais Traces gerados pelo desenvolvedor Qualquer coisa que o dev queira mandar para o Application Insights Comportamento da aplicação Dispensa codificação – dependências de serviço, consultas, tempo de resposta, exceções, logs, etc. Desempenho da infraestrutura Contadores de desempenho de sistema “Meta-telemetria” Código-fonte, builds, implantações, mudanças de configuração 2 Comportamento do usuário Como a aplicação está sendo utilizada?
    23. 23. Plataformas suportadas Server 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
    24. 24. 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
    25. 25. 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
    26. 26. demo
    27. 27. 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?”
    28. 28. 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.
    29. 29. • 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
    30. 30. 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
    31. 31. 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
    32. 32. 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.
    33. 33. 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
    34. 34. 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.
    35. 35. 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
    36. 36. • 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
    37. 37. 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
    38. 38. • 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
    39. 39. • 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
    40. 40. • 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
    41. 41. Application Insights SDK Aprenda mais sobre sua aplicação e seus usuários com Application Insights
    42. 42. Usando Application Insights SDK
    43. 43. demo
    44. 44. Dicas de uso do SDK API 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
    45. 45. Exemplos de Adoção Aprenda mais sobre sua aplicação e seus usuários com Application Insights
    46. 46. RoleGuide Powered 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.
    47. 47. “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 …
    48. 48. Trabalhando com dados exportados Aprenda mais sobre sua aplicação e seus usuários com Application Insights
    49. 49. Exportação Contínua
    50. 50. “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
    51. 51. Exportação Contínua
    52. 52. 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.
    53. 53. Conclusão Aprenda mais sobre sua aplicação e seus usuários com Application Insights
    54. 54. Recapitulando... Notificações e Alertas Analytics e Log Mining Monitoramento de Ambiente Monitoramento da Aplicação Monitoramento de Uso App Analytics + App Perf Monitoring
    55. 55. Preço?
    56. 56. 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 Webinar http://bit.ly/1c55LW8 • Find Performance Problems http://bit.ly/1fF5TXo • Channel 9 App Insights for Visual Studio Online http://bit.ly/1fF69FR
    57. 57. Perguntas? Aprenda mais sobre sua aplicação e seus usuários com Application Insights
    58. 58. www.lambda3.com.br

    ×