DevOps e App Insights

Post on 12-Jul-2015

635 views 1 download

Transcript of DevOps e App Insights

Adriano Bertucciadriano.bertucci@konia.com.br

Konia Tecnologia

@adrianobertucci

DevOps... O caminho!Monitoria de aplicações com App Insights.

Marcus Garciamarcus.garcia@konia.com.br

Konia Tecnologia

Guilherme Cardosoguilherme.cardoso@konia.com.br

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 paraDesenvolvimento, 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: Drivers

Acelerando demandas

de produção

Satisfação do cliente

Redução TCO/COGS

DevOps – Agile Operations

“Não se trata apenas de colaboração entre desenvolvimento eoperações, trata-se de cada parte do negócio, da empresa trabalharde 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 dainfraestrutura básica e as plataformas de desenvolvimento paraajudar os clientes a construir sistemas integrados que vai torná-lo umparceiro mais forte para em negócio.”

Bob Muglia, VP of Server & Tools @ Microsoft, TechEd 2007

Por que DevOps agora?

Cloud computingNovas tecnologiasgerando novasoportunidades de valor

Agilidade para competirContato direto com o consumidor

Proliferação de dispositivos

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 “prafrente”

Maximizar economias emescalas

Melhoria no time-to-market

Entrega continua de valor

Application LifecycleManagement

Ciclo de Vida das AplicaçõesProductBacklog

OpsBacklog

MonitorSprint

DESENVOLVERIdéia de trabalhar o software

OPERARResolução de Incidentes

Gerenciamento de Release

TestandoCausa Raiz

Não é possívelidentificar a Causa Raiz

Não é possível reporuzirIncidentes de Produção

Falta de App

Não é possível obterFeedback

Gerenciamento de Mudanças eProvisionamento

O problema: Desenvolvimento X Operações

Desenvolvimento

• Dia-a-Dia: Aumentar/Manter a viabilidade do negócio atravéscodificação para suportar as demandasdo mercado

• Quando ocorre um problema: O objetivoé entender a causa raiz para prevenirfuturas 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!

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 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 emconjunto 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õ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

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 servidormuito lentas

Banco de dadossobrecarregado Serviço de terceiros

fora do ar

Funcionalidade difícilde usar

Tempo médio para detectar

Problem

Solution

Value

Saiba antes que seu cliente

Tenha uma visão 360 graus da saúde de sua aplicação e detecteproblemas em produção.

Confgure as métricas de saúde

Identifiqueproblemas com a

aplicação emprodução

Verifique o pulsoda sua aplicação

Saiba antes que seu cliente

Receba alertas automaticamente quando sua aplicação não estiverrespondendo

Alertasautomáticos com

informaçõesrelevantes.

Tempo médio para reparar

Problem

Solution

Value

Melhoria contínua

• Identifique problemas que afetama infraestrutura de sua aplicação.

• Priorize novas funcionalidades,correções de bugs e estratégiasbaseadas em qualidade.

Dados valiosos na pontados seusc dedos

Valorize seu investimento

A solução: 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

Application Insights e o Azure

• Até a versão 1.x o Application Insights é gerenciado pelo VisualStudio Online

• A partir da versão 2.x ele estará no Microsoft Azure (Visual Studio2013 Update 3)

Application Insights: Dashboards

Fontes de telemetria

plataforma

infraestrutura

aplicação

1

3

4

5

6

Monitoramento Outside-inPings 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?

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 Bertucciadriano.bertucci@konia.com.br

Konia Tecnologia

@adrianobertucci

Marcus Garciamarcus.garcia@konia.com.br

Konia Tecnologia

Guilherme Cardosoguilherme.cardoso@konia.com.br

Konia Tecnologia

@guilhermescard