O documento discute o DevOps e como o Application Insights pode ser usado para monitorar aplicações. Ele explica o que é DevOps, sua importância, ferramentas como o Application Insights e demonstra como ele fornece dashboards e métricas para monitorar o desempenho e saúde de aplicações.
1. Adriano Bertucci
adriano.bertucci@konia.com.br
Konia Tecnologia
@adrianobertucci
DevOps... O caminho!
Monitoria de aplicações com App Insights.
Marcus Garcia
marcus.garcia@konia.com.br
Konia Tecnologia
Guilherme Cardoso
guilherme.cardoso@konia.com.br
Konia Tecnologia
@guilhermescard
2. Agenda
• O famoso “DevOps”
• A importância do DevOps para o negócio
• Application Lifecycle Management (ALM) e o DevOps
• Ferramentas
• Application Insights
• Recursos de Telemetria
• Demonstração
• Dúvidas, curiosidades e afins.
4. DevOps é...
… conjunto de processos, métodos e sistemas para comunicação,
colaboração e integração entre os departamentos para
Desenvolvimento, Operações.
Os desenvolvedores estão
sendo integrados aos
processos de entrega de
serviços operacionais
Operações englobou o
novo papel de serviço
proprietário
6. DevOps – Agile Operations
“Não se trata apenas de colaboração entre desenvolvimento e
operações, trata-se de cada parte do negócio, da empresa trabalhar
de maneira colaborativa para atender os objetivos do negócio.”
Patrick Dubois, Pai do DevOps
7. TI Dinâmica
“Com TI Dinâmica, estamos reunindo as capacidades da
infraestrutura básica e as plataformas de desenvolvimento para
ajudar os clientes a construir sistemas integrados que vai torná-lo um
parceiro mais forte para em negócio.”
Bob Muglia, VP of Server & Tools @ Microsoft, TechEd 2007
8. Por que DevOps agora?
Novas tecnologias Cloud computing
gerando novas
oportunidades de valor
Contato direto com o Proliferação de
Agilidadepara competir
consumidor
dispositivos
Modernização do negócio
9. Por que DevOps agora?
Equilibrar agilidade com
qualidade, escala e
compliance.
A TI usada para modernizar o negócio
Negócio pensado “pra
frente”
Maximizar economias em
escalas
Melhoriano
time-to-market
Entrega continua de valor
11. Ciclo de Vida das Aplicações
Product
Backlog
Sprint Monitor
Ops
Backlog
DESENVOLVER
Idéia de trabalhar o software
OPERAR
Resolução de Incidentes
Gerenciamento de Release
Testando
Causa Raiz
Não é possível reporuzir
Incidentes de Produção
Não é possível
identificar a Causa Raiz
Falta de App
Não é possível obter
Feedback
Gerenciamento de Mudanças e
Provisionamento
12. O problema: Desenvolvimento X Operações
Desenvolvimento
• Dia-a-Dia: Aumentar/Manter a
viabilidade do negócio através
codificação para suportar as demandas
do mercado
• Quando ocorre um problema: O objetivo
é entender a causa raiz para prevenir
futuras ocorrências.
• Tempo: Sprints (3-4 semanas)
Operações
• Dia-a-Dia: Aumentar/Manter a
disponibilidade operacional do
negócio eliminando/controlando as
alterações
• Quando ocorre um problema: O
objetivo é restaurar o funcionamento
– REBOOT!
• Tempo: SLA 99.9% (cerca 43 min/mês)
Objetivos, prioridades e mentalidade desalinhados!
13.
14. DevOps: Barreiras de Adoção
Necessidade de uma mudança cultural
Nenhuma troca de conhecimento
Processos dissociados
Falta de automação
15. A solução: Dev + Ops = DevOps
• Artefatos compartilhados
• A saída do processo de desenvolvimento é nativamente consumida pelo
ferramental operacional e vice-versa
• Automação
• Releases automáticos liberados para qualquer ambiente através de uma
experiência “self-service”.
• Objetivo comum
• Métricas de monitoramento únicas e automatizadas.
Cultura colaborativa, onde todas as partes interessadas trabalham em
conjunto durante todo o ciclo.
19. Para refletir...
• Sua aplicação está no ar neste momento?
• Está funcionando?
• Será que está com algum erro?
• E o desempenho?
• A resposta é.... ???
20. Tudo mudou. Não Acredita?
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
22. Tudo está conectado...
• Usuários
• Clientes
• Browser
• Devices
• Desktop
• Servidores
• Banco de dados
• Serviços
23. Portanto: Um montão de coisas pode dar
errado
Bug na aplicação
Respostas do servidor
muito lentas
Banco de dados
sobrecarregado Serviço de terceiros
fora do ar
Funcionalidade difícil
de usar
25. Saiba antes que seu cliente
Tenha uma visão 360 graus da saúde de sua aplicação e detecte
problemas em produção.
Confgure as
métricas de saúde
Verifique o pulso
da sua aplicação
Identifique
problemas com a
aplicação em
produção
26. Saiba antes que seu cliente
Receba alertas automaticamente quando sua aplicação não estiver
respondendo
Alertas
automáticos com
informações
relevantes.
28. Melhoria contínua
• Identifique problemas que afetam
a infraestrutura de sua aplicação.
• Priorize novas funcionalidades,
correções de bugs e estratégias
baseadas em qualidade.
Dados valiosos na ponta
dos seusc dedos
Valorize seu investimento
29. A solução: Application Insights
Disponível
Dashboards de Saúde Notificações e Insights Uso dos Dashboards
Minha aplicação está disponível e com
bom desmpenho para meus usuários ?
Dashboard Único
Performance Melhorando
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
30. Application Insights e o Azure
• Até a versão 1.x o Application Insights é gerenciado pelo Visual
Studio Online
• A partir da versão 2.x ele estará no Microsoft Azure (Visual Studio
2013 Update 3)
32. Fontes de telemetria
aplicação
plataforma
infraestrutura
1
2 Comportamento do usuário
3
4
5
6
Monitoramento Outside-in
Pings de URL e Testes Web a partir de vários
pontos de presença globais
Como a aplicação está sendo utilizada?
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
33. Como utilizar o Application Insights?
Alterações no
código
Não invasivo
34. Plataformas suportadas
Server side
• .NET & Java
• On-prem: MS
Monitoring
Agent
• Azure: VM’s e
cloud services
• ASP.NET
• AppInsights SDK
Client side
• Browser (JS)
• Windows Phone
• Windows Store
Em breve
• Azure Web Sites
• iOS
• Android