Adriano Bertucci [email protected] Konia Tecnologia @adrianobertucci
DevOps... O caminho! Monitoria de aplicações com App Insights.
Marcus Garcia [email protected]
Konia Tecnologia
Guilherme Cardoso [email protected]
Konia Tecnologia @guilhermescard
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.
O Famoso “DevOps”!!
DevOps é... … conjunto de processos, métodos e sistemas para comunicação, colaboração e integração entre os departamentos para Desenvolvimento, Operações.
* Wikipedia
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: Drivers
Acelerando demandas
de produção
Sa:sfação do cliente
Redução TCO/COGS
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
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
Por que DevOps agora?
Cloud compu:ng Novas tecnologias gerando novas oportunidades de valor
Agilidade para compe:r Contato direto com o consumidor
Proliferação de disposi:vos
Modernização do negócio
Por que DevOps agora?
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 :me-‐to-‐market
Entrega con:nua de valor
Application Lifecycle Management
Ciclo de Vida das Aplicações Product Backlog
Ops Backlog
Monitor Sprint
DESENVOLVER Idéia de trabalhar o soSware
OPERAR Resolução de Incidentes
Gerenciamento de Release
Testando Causa Raiz
Não é possível iden:ficar 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
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 obje:vo é 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 obje:vo é restaurar o funcionamento – REBOOT!
• Tempo: SLA 99.9% (cerca 43 min/mês)
Obje>vos, prioridades e mentalidade desalinhados!
“Você sabe o que pode ter causado a falha?”
“Como eu vou saber, você que escreveu o código”
DevOps: Barreiras de Adoção
Necessidade de uma mudança cultural
Nenhuma troca de conhecimento
Processos dissociados
Falta de automação
A solução: Dev + Ops = DevOps
• Artefatos compar>lhados • A saída do processo de desenvolvimento é na:vamente consumida pelo ferramental operacional e vice-‐versa
• Automação • Releases automá:cos liberados para qualquer ambiente através de uma experiência “self-‐service”.
• Obje>vo comum • Métricas de monitoramento únicas e automa:zadas.
Cultura colabora>va, onde todas as partes interessadas trabalham em conjunto durante todo o ciclo.
Ferramentas
Automações: Ferramentas
Para refletir... • Sua aplicação está no ar neste momento? • Está funcionando? • Será que está com algum erro? • E o desempenho?
• A resposta é.... ???
Tudo mudou. Não Acredita? Força de trabalho
2.6 bilhõ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
Em 2016...
Tudo está conectado... • Usuários • Clientes
• Browser • Devices • Desktop
• Servidores • Banco de dados • Serviços
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
Tempo médio para detectar
Problem
Solu:on
Value
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
Iden:fique problemas com a aplicação em produção
Verifique o pulso da sua aplicação
Saiba antes que seu cliente Receba alertas automaticamente quando sua aplicação não estiver respondendo
Alertas automá:cos com informações relevantes.
Tempo médio para reparar
Problem
Solu:on
Value
Melhoria contínua • Ident i f ique 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 inves:mento
A solução: Application Insights
Disponível
Minha aplicação está disponível e com bom desmpenho para meus usuários ?
Dashboard Único
Melhorando Performance
O quê está errado? Mostre-‐me os problemas de desempenho,
Uso de memória e exceções
Onde iremos inves:r? Mostre-‐me as principais funconalidades e
U:lização dos usuários
Dashboards de Saúde No:ficações e Insights Uso dos Dashboards
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)
Application Insights: Dashboards
Fontes de telemetria
plataforma
infraestrutura
aplicação
1
3
4
5
6
Monitoramento Outside-‐in Pings de URL e Testes Web a par:r de vários pontos de presença globais
Traces gerados pelo desenvolvedor Qualquer coisa que o dev queira mandar para o Applica:on 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 u:lizada?
Como utilizar o Application Insights?
Não invasivo
Alterações no código
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
Demonstração
Application Insights
Alguma Pergunta pessoal?
Nosso muito Obrigado!
Até o próximo ano.
Adriano Bertucci [email protected] Konia Tecnologia @adrianobertucci
Marcus Garcia [email protected]
Konia Tecnologia
Guilherme Cardoso [email protected]
Konia Tecnologia @guilhermescard