Upload
cds
View
490
Download
0
Embed Size (px)
Citation preview
DevOps - Visão Geral do Application Insights
DEV201
Carlos dos SantosP&D CDS Informática [email protected]
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.6 bilhõesde 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çõesApplication 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)3
Telemetria é 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áriospontos 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
2 Comportamento do usuárioComo a aplicação está sendo utilizada?
Fontes de Telemetria
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
Disponibilidade Básica
Adoção gradual do Application InsightsAdoção gradual do Application Insights
Performance Básica
Utilização da Aplicação
Telemetria personalizada
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 Webinarhttp://bit.ly/1c55LW8
• Find Performance Problemshttp://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