2. 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
3. • 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...
4. 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?
5. • 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
6. Já tinha reparado nisto?
• Customer Experience
Improvement Program
– “Service Quality
Monitoring” (SQM)
• Duas partes
– Application Analytics
– Application Performance
Monitoring
7. 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
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ç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?
11. 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
12. 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
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
15. 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
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 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
19. • Será que aquele Javascript está
rodando corretamente em todos
os browsers?
Descubra e resolva problemas de implementação
20. 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
21. 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
22. 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.
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çõ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
25. Application Insights SDK
• Instrumente seu código, criando indicadores
personalizados, tanto no Server quando no Client
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
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?
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.
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