Palestra apresentada no ALM Roadshow etapa Barretos - evento organizado pela comunidade ALM Brasil - em 08/08/2015 tratando de conceitos e definições de DevOps e como utilizar a plataforma do Application Insights para garantir o maior valor sobre os produtos de software.
Melhorando a qualidade do software com testes de ponta a-ponta
DevOps - O caminho ! Monitoria de aplicações com o Application Insights
1. ALM Roadshow
DevOps… o caminho !
Monitoria de aplicações com o Application Insights
Guilherme Cardoso
Consultor ALM | Arquiteto de Software
MCP | MCSD ALM
guilherme.silvacardoso@hotmail.com
@guilhermescard
2. ALM Roadshow
Quem sou eu ?
Consultor especialista em ALM na Konia Tecnologia
Especialista em Tecnologia de desenvolvimento de Sistemas
blog.guilhermescardoso.com.br
twitter.com/guilhermescard
3. ALM Roadshow
• 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.
Nossos assuntos
7. ALM Roadshow
… 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
DevOps é
10. ALM Roadshow
“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
DevOps – agile operations
11. ALM Roadshow
“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
TI dinâmica
14. ALM Roadshow
Cloud computingNovas tecnologias
gerando novas
oportunidades de
valor
Agilidade para
competir
Contato direto com
o consumidor
Proliferação de
dispositivos
Modernização do negócio
Por que DevOps agora ?
15. ALM Roadshow
A TI usada para modernizar o negócio
Equilibrar agilidade
com qualidade,
escala e compliance.
Negócio pensado
“pra frente”
Maximizar economias
em escalas
Melhoria no
time-to-market
Entrega continua de
valor
Por que DevOps agora ?
17. ALM Roadshow
• Sua aplicação está no ar neste momento?
• Sua aplicação está gerando muitas excessões ?
• E o desempenho?
• E a quantidade de usuários ?
• E a origem dos acessos ?
• A resposta é.... ???
Para refletir
19. ALM Roadshow
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 muda. Não acredita ?
21. ALM Roadshow
• Usuários
• Clientes
• Browser
• Devices
• Desktop
• Servidores
• Banco de dados
• Serviços
Tudo está conectado
22. ALM Roadshow
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
Portanto: Um montão de coisas pode dar errado
24. ALM Roadshow
Necessidade de uma mudança cultural
Nenhuma troca de conhecimento
Processos dissociados
Falta de automação
DevOps: barreiras de adoção
25. ALM Roadshow
• 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.
O esqueleto do DevOps
26. ALM Roadshow
Testing Time
DEV QAINT PRODCode
Deploy the same code every time, everywhere, in the same way
Coordination
Provision
Deploy
28. ALM Roadshow
O que é ALM
“É o coordenação das atividades do ciclo
de vida de desenvolvimento, incluíndo
requisitos, modelagem, desenvolvimento,
construção, testes, manutenção e
operações.”
29. ALM Roadshow
Product
Backlog
Ops
Backlog
MonitorSprint
DESENVOLVER
Idéia de trabalhar o software
OPERAR
Resolução de Incidentes
Gerenciamento de Release
Testando
Causa Raiz
Não é possível
identificar a Causa Raiz
Não é possível reporuzir
Incidentes de Produção
Falta de App
Não é possível obter
Feedback
Gerenciamento de Mudanças e
Provisionamento
Ciclo de vida das aplicações
31. ALM Roadshow
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!
O problema: desenvolvimento x Operações
39. ALM Roadshow
• 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
Melhoria contínua
40. ALM Roadshow
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
41. ALM Roadshow
• 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)
Application Insights e o Azure
42. ALM Roadshow
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