DevOps - Visão Geral do
Application Insights
DEV201
Carlos dos Santos
P&D CDS Informática Ltda.
@cdssoftware
www.carloscds.net
Quem sou eu…
• Mais de 25 anos de experiência no desenvolvimento de software
• Trabalho com tecnologia Microsoft desde 2003
• Responsável por Pesquisa e Desenvolvimento na CDS Informática
• Microsoft MVP C# há 8 anos
• MCPD, MCTS, MCT
• Professional Scrum Developer, Professional Scrum Master
• Advisory Council Member Top Award 2012
• Palestrante em diversos eventos pelo Brasil
• Palestrante no próximo Microsoft Insights (antigo TechED)
• Consultor em Tecnologias Microsoft para adoção/evolução tecnológica
• Core Commiter dos projetos: CodeCracker e BoletoNet no GitHub
• Mentor no Startup Weekend Londrina 2015
• Sua aplicação está no ar
neste momento ?
• Será que está com algum erro ?
• E o desempenho ?
• Qual parte da aplicação tem mais acesso ?
A resposta é...
Para refletir...
Força de trabalho
2.6bilhões
de dispositivos móveis
em 2016; 350M usados
no trabalho
Consumidores
82%
da população mundial
online participa de redes
sociais
Comércio
70%
das empresas usam ou
estão investindo em
soluções de nuvem
Tudo mudou, não acredita?
• Os 5 comandos mais utilizados no
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
Já tinha reparado nisto?
• Customer Experience
Improvement Program
– “Service Quality
Monitoring” (SQM)
• Duas partes
– Application Analytics
– Application Performance
Monitoring
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ções
Application Analytics Application Perf. Monitoring
Microsoft Application Insights
Disponível
Minha aplicação está disponível e com
bom desmpenho para meus usuários ?
Dashboard Único
MelhorandoPerformance
O quê está errado?
Mostre-me os problemas de desempenho,
Uso de memória e exceções
Onde iremos investir?
Mostre-me as principais funconalidades e
Utilização dos usuários
Dashboards de Saúde Notificações e Insights Uso dos Dashboards
A solução: Application Insights
• Novo serviço de monitoramento
de aplicações do Microsoft
Azure
• Coleta indicadores de
desempenho, logs e erros de
aplicações em diversas
plataformas
• Server-side ou cliente-side
• Devices
• On-premise ou na nuvem
O que é o Application Insights?
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
plataforma
infraestrutura
aplicação
1
3
4
5
6
Monitoramento Outside-in
Pings de URL e Testes Web a partir de vários
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?
Fontes de Telemetria
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
Não invasivo
Alterações no
código
Por onde começar?
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
Demo
Controle a Disponibilidade
• Teste a disponibilidade da sua aplicação, usando os
vários pontos de presença do Application Insights
• Configure alertas que podem lhe ajudar a tomar
providências mais rápidas quando um serviço se
comporta de maneira anormal
• Através do portal, você tem acesso
a indicadores de performance,
requisições e tempos das
requisições.
• Estas informações ajudam a
melhorar a resolução de
problemas e principalmente, a
identificar estes problemas
Descubra e resolva problemas de performance
• Será que aquele Javascript está
rodando corretamente em todos
os browsers?
Descubra e resolva problemas de implementação
E que tal entender o comportamento do usuário ?
• Entenda de onde os
usuários estão vindo e
onde gastam tempo na sua
aplicação.
• Qual browser ele está
utilizando ?
• Qual resolução de tela ?
• Qual sistema operacional ?
• Priorize investimentos e
melhore a sua aplicação
baseado na atividade e uso
Veja, em tempo real, a análise de crash de suas Apps
• Entenda em
instantes que tipo
de quebra
acontece nos
devices,
permitindo
rapidamente a
correção dos
problemas
Suporte a diversos tipos de aplicaçãos
• Você pode
configurar
diversos tipos de
aplicação, de
maneira simples e
rápida, através do
portal.
• E para cada tipo
de aplicação
existe um tutorial
de como
implementar.
• Visual Studio: inclui captura de
exceções, requests ASP.NET,
performance e instrumentação
totamente integrado a ferramenta.
• Azure Portal: Websites and VMs:
Integração transparente
• Universal Applications: Uso e
dados de crash em Windows 10, PC,
tablet e dispositivos móveis
Simplilficado na Plataforma Microsoft
Monitore suas Aplicações sem mudar o Código
• Status Monitor:
Captura exceções e
problemas de
performance sem a
precisar de um novo
build ou deploy.
• Instale Status
Monitor no seu
servidor IIS ou
Azure VM para
coletar performance
Application Insights SDK
• Instrumente seu código, criando indicadores
personalizados, tanto no Server quando no Client
Usando Application Insights SDK
Algumas implementações no Git
• https://github.com/Microsoft/ApplicationInsights-Android
• https://github.com/Microsoft/ApplicationInsights-PHP
• https://github.com/Microsoft/ApplicationInsights-node.js
• https://github.com/Microsoft/ApplicationInsights-Python
• https://github.com/Microsoft/ApplicationInsights-Ruby
• https://github.com/Microsoft/ApplicationInsights-WordPress
Demo
E quanto custa tudo isto ?
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
Q&A
Visite o espaço Ask the Experts, próximo dos expositores
Sessões relacionadas
• DEV302 – DevOps - Automação de deployment no Azure.
• DEV308 – DevOps - Entregando containers no Universo de
DevOps em nuvem híbrida com Microsoft.
• DEV204 - DevOps - A origem.
• MDC304 - DevOps - O que acontece quando você coloca a sua
aplicação em um container?
Continue sua capacitação
Microsoft Virtual
Academy
http://aka.ms/ch9 http://aka.ms/mva

Application Insights

  • 1.
    DevOps - VisãoGeral do Application Insights DEV201
  • 2.
    Carlos dos Santos P&DCDS Informática Ltda. @cdssoftware www.carloscds.net Quem sou eu… • Mais de 25 anos de experiência no desenvolvimento de software • Trabalho com tecnologia Microsoft desde 2003 • Responsável por Pesquisa e Desenvolvimento na CDS Informática • Microsoft MVP C# há 8 anos • MCPD, MCTS, MCT • Professional Scrum Developer, Professional Scrum Master • Advisory Council Member Top Award 2012 • Palestrante em diversos eventos pelo Brasil • Palestrante no próximo Microsoft Insights (antigo TechED) • Consultor em Tecnologias Microsoft para adoção/evolução tecnológica • Core Commiter dos projetos: CodeCracker e BoletoNet no GitHub • Mentor no Startup Weekend Londrina 2015
  • 3.
    • Sua aplicaçãoestá no ar neste momento ? • Será que está com algum erro ? • E o desempenho ? • Qual parte da aplicação tem mais acesso ? A resposta é... Para refletir...
  • 4.
    Força de trabalho 2.6bilhões dedispositivos móveis em 2016; 350M usados no trabalho Consumidores 82% da população mundial online participa de redes sociais Comércio 70% das empresas usam ou estão investindo em soluções de nuvem Tudo mudou, não acredita?
  • 5.
    • Os 5comandos mais utilizados no 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
  • 6.
    Já tinha reparadonisto? • Customer Experience Improvement Program – “Service Quality Monitoring” (SQM) • Duas partes – Application Analytics – Application Performance Monitoring
  • 7.
    Telemetria: Batalha emdois fronts Application Analytics (AA) •Foco no usuário •Padrões de utilização •Funcionalidades Application Performance Monitoring (APM) •Foco na aplicação •Desempenho •Disponibilidade
  • 8.
    Diversas opções Application AnalyticsApplication Perf. Monitoring Microsoft Application Insights
  • 9.
    Disponível Minha aplicação estádisponível e com bom desmpenho para meus usuários ? Dashboard Único MelhorandoPerformance O quê está errado? Mostre-me os problemas de desempenho, Uso de memória e exceções Onde iremos investir? Mostre-me as principais funconalidades e Utilização dos usuários Dashboards de Saúde Notificações e Insights Uso dos Dashboards A solução: Application Insights
  • 10.
    • Novo serviçode monitoramento de aplicações do Microsoft Azure • Coleta indicadores de desempenho, logs e erros de aplicações em diversas plataformas • Server-side ou cliente-side • Devices • On-premise ou na nuvem O que é o Application Insights?
  • 11.
    Como funciona Telemetria chegaao 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
  • 12.
    plataforma infraestrutura aplicação 1 3 4 5 6 Monitoramento Outside-in Pings deURL e Testes Web a partir de vários 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? Fontes de Telemetria
  • 13.
    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
  • 14.
  • 15.
    Dashboards • Página inicial ofereceresumo da situação da aplicação – Disponibilidade – Desempenho – Utilização • Linha do tempo sincronizada – Correlação de eventos e métricas
  • 16.
  • 17.
    Controle a Disponibilidade •Teste a disponibilidade da sua aplicação, usando os vários pontos de presença do Application Insights • Configure alertas que podem lhe ajudar a tomar providências mais rápidas quando um serviço se comporta de maneira anormal
  • 18.
    • Através doportal, você tem acesso a indicadores de performance, requisições e tempos das requisições. • Estas informações ajudam a melhorar a resolução de problemas e principalmente, a identificar estes problemas Descubra e resolva problemas de performance
  • 19.
    • Será queaquele Javascript está rodando corretamente em todos os browsers? Descubra e resolva problemas de implementação
  • 20.
    E que talentender o comportamento do usuário ? • Entenda de onde os usuários estão vindo e onde gastam tempo na sua aplicação. • Qual browser ele está utilizando ? • Qual resolução de tela ? • Qual sistema operacional ? • Priorize investimentos e melhore a sua aplicação baseado na atividade e uso
  • 21.
    Veja, em temporeal, a análise de crash de suas Apps • Entenda em instantes que tipo de quebra acontece nos devices, permitindo rapidamente a correção dos problemas
  • 22.
    Suporte a diversostipos de aplicaçãos • Você pode configurar diversos tipos de aplicação, de maneira simples e rápida, através do portal. • E para cada tipo de aplicação existe um tutorial de como implementar.
  • 23.
    • Visual Studio:inclui captura de exceções, requests ASP.NET, performance e instrumentação totamente integrado a ferramenta. • Azure Portal: Websites and VMs: Integração transparente • Universal Applications: Uso e dados de crash em Windows 10, PC, tablet e dispositivos móveis Simplilficado na Plataforma Microsoft
  • 24.
    Monitore suas Aplicaçõessem mudar o Código • Status Monitor: Captura exceções e problemas de performance sem a precisar de um novo build ou deploy. • Instale Status Monitor no seu servidor IIS ou Azure VM para coletar performance
  • 25.
    Application Insights SDK •Instrumente seu código, criando indicadores personalizados, tanto no Server quando no Client
  • 26.
  • 27.
    Algumas implementações noGit • https://github.com/Microsoft/ApplicationInsights-Android • https://github.com/Microsoft/ApplicationInsights-PHP • https://github.com/Microsoft/ApplicationInsights-node.js • https://github.com/Microsoft/ApplicationInsights-Python • https://github.com/Microsoft/ApplicationInsights-Ruby • https://github.com/Microsoft/ApplicationInsights-WordPress
  • 28.
  • 29.
    E quanto custatudo isto ?
  • 30.
    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
  • 31.
    Q&A Visite o espaçoAsk the Experts, próximo dos expositores
  • 32.
    Sessões relacionadas • DEV302– DevOps - Automação de deployment no Azure. • DEV308 – DevOps - Entregando containers no Universo de DevOps em nuvem híbrida com Microsoft. • DEV204 - DevOps - A origem. • MDC304 - DevOps - O que acontece quando você coloca a sua aplicação em um container?
  • 33.
    Continue sua capacitação MicrosoftVirtual Academy http://aka.ms/ch9 http://aka.ms/mva

Notas do Editor

  • #10 Visual Studio Online Application Insights provides a 360 degree view of your applications, collecting rich operational, performance, and customer usage information from your applications, whether they run on-premises, in Azure, third-party cloud providers, or a mixture of all three. This empowers you to: Pro-actively monitor that your applications are available and Performing as expected, and when they aren’t, to provide information that helps you to resolve them promptly. Use information to continuously improve your applications and prioritize future investments.
  • #13 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.
  • #15 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