Cloud-based Load Testing - Bônus: Application Insights [MVP ShowCast 2013 - DEV - Gerenciamento de...

Post on 15-Jun-2015

2.972 views 0 download

description

Palestra: Cloud-based Load Testing - Bônus: Application Insights Palestrante: Igor Abade Leite Realização: 27/11/2013 17h Trilha: Gerenciamento de projetos & Application Lifecycle Management Sessão: Desenvolvimento Evento: MVP ShowCast 2013 Site: http://mvpshowcast.azurewebsites.net

Transcript of Cloud-based Load Testing - Bônus: Application Insights [MVP ShowCast 2013 - DEV - Gerenciamento de...

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

MVP ShowCast 2013

Cloud-based Load Testing

Igor Abade Leite

Visual Studio ALM

Owner – Lambda3

@igorabade

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Sobre mim

♦Igor Abade (@igorabade)♦ Microsoft MVP, Visual Studio ALM

♦ Adora falar sobre Team Foundation Server (TFS)

♦Sócio da Lambda3♦ Consultoria ALM/TFS, Agilidade/Scrum, Arquitetura

♦ Desenvolvimento de Sistemas

♦ Treinamentos

♦ Parceira Microsoft Gold ALM

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

MVP ShowCast 2013

Cloud-based Load TestingIgor Abade V. Leite

Introdução

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Propósito do Teste de Desempenho

♦Identificar a capacidade da aplicação

♦Alguns objetivos♦ Explorar

♦ Verificar

♦ Encontrar os limites

♦ “Quebrar”

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Boas práticas

Testes de Desempenhoao longo do ciclo de

desenvolvimento

Pegar problemas maiscedo

Definir linha-base de desempenho

Identificar padrões de desempenho

Sprint 1 Sprint 2 Implantação

feature a feature b feature c feature d

Teste deUnidade

TesteManual

Teste deRegressão

Teste deDesempenho

feature a

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

As Ferramentas de Hoje

Visual Studio

Ultimate

•Web Performance Tests

•Load Tests

•Load Test Rigs

Visual Studio Premium

• Profiling Tools

• Performance Wizard

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Topologia

♦Controlador♦ Orquestra os testes

♦ Gerencia Licenciamento

♦ Coleta e armazena dados de desempenho

♦Agentes (1..n)♦ Simulam usuários

Coordena e coleta

informações

Controlador

Gera carga de usuários

Agente 1

Agente 2

Agente n

Aplicação sob Teste

Servidor Web

Servidor BD

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Montando o ambiente de testesCloud-based Load Testing

Igor Abade V. Leite

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

MVP ShowCast 2013

Cloud-based Load TestingIgor Abade V. Leite

Criando Scripts de Navegação

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Tudo começa com um script...

♦Descreve os cenários de navegação

♦Simula os acessos feitos por um usuário

♦Web Performance Test (Teste de Desempenho Web)

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Testes de Desempenho Web

Gravados no browser

Extração automática de parâmetros

Grava e gerencia think timeDefine metas de desempenho

Guiado por dados

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Criando scripts de navegação com Web Performance TestCloud-based Load Testing

Igor Abade V. Leite

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

MVP ShowCast 2013

Cloud-based Load TestingIgor Abade V. Leite

Criando Testes de Carga

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Teste de Carga no Visual Studio

♦ Modelo flexível de Carga♦ “Cenários” para modelar diferentes

grupos de usuários

♦ Diversos padrões de carga♦ Baseados em metas

♦ Crescente ou Constante

♦ Personalizado

♦ Modela diferentes browsers e redes

♦ Duração definida por tempo ou iterações

♦ Testes “de unidade” (MSTest) podem ser executados para gerar carga

♦ Serviços Web

♦ Acesso direto a banco de dados

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Criando testes de carga com Load TestCloud-based Load Testing

Igor Abade V. Leite

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Configurar ambientede testes

Criar testes – Web Performance e Load

TestsExecutar Testes Analisar resultados

Corrigir problemasde

escala/desempenho

Recapitulando…

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Desafios do modelo atual

♦Provisionamento é complexo♦ Envolve vários times, como Infra e

Desenvolvimento

♦Lento para escalar♦ Por ex.: 100 -> 1000 usuários

virtuais

♦Ambiente caro de se criar e manter

♦ Precisa adicionar mais hardware para aumentar escala

♦ Fica ocioso boa parte do tempo

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Alternativa – Test Rig no Azure

♦Test Rig criada com VMs Azure

♦Elimina custo de aquisição de hardware

♦Elimina desperdício de hardware ocioso

♦Difícil de configurar e manter

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

MVP ShowCast 2013

Cloud-based Load TestingIgor Abade V. Leite

Testes de Carga no Visual Studio Online

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Nova Alternativa: Visual Studio Online

♦Anteriormente conhecido como:

♦ Team Foundation Service Preview (TFS Preview)

♦ Team Foundation Service (TF Service)

♦Serviços na nuvem para desenvolvedores

♦ TFS (Controle de Versão, Itens de Trabalho, Relatórios)

♦ Automação de Builds

♦ Testes de Carga Elásticos

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Testes de Carga Elásticos

♦ Requer Visual Studio Ultimate 2013

♦ Elimina necessidade de criação de test rigs locais

♦ Controladores e agentes estão na nuvem

♦ Provisionados e escalados automaticamente

Visual StudioUltimate 2013

Load Test Web Service

Pool de Agentes de Teste (Dinâmico)

Resultados

Worker

Azure Blobs

Azure Tables

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Testes de Carga Elásticos com Visual Studio Online

Cloud-based Load Testing

Igor Abade V. Leite

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Recapitulando...

♦Elastic Load Test do Visual Studio Online

♦ Alternativa para evitar criação de rigs

♦ Mais fácil de usar e manter

♦ Acesso limitado aos indicadores de desempenho da aplicação

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

On-premise♦Contras

♦ Cara de montar e manter

♦ Difícil de configurar

♦Prós♦ Não requer acesso à internet

♦ Acesso amplo a indicadores

Cloud-based♦Prós

♦ Barato de montar e manter

♦ Dispensa configuração

♦Contras♦ Requer acesso à internet

♦ Acesso limitado a indicadores

Comparando duas soluções

Como ter o melhor dos dois mundos?

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

MVP ShowCast 2013

Cloud-based Load TestingIgor Abade V. Leite

Application Insights

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

O que é o Application Insights

♦Novo serviço de monitoramento de aplicações do Visual Studio Online

♦Coleta indicadores de desempenho, logs e erros de aplicações em diversas plataformas

♦ Server-side .NET, Java etc.

♦ Windows Phone, iOS, Android...

♦ On-premise ou na nuvem

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Application Insights

Disponibilidade

Minha aplicação está disponível?Desempenho está satisfatório?

Dashboard único

MelhoriasComportamento

O que há de errado?Mostre-me código suspeito e casos de teste

Onde devemos investor?Mostre-me principais funcionalidades e

padrões de uso de meus clientes

Dashboards de Saúde Notificações & Insights Dashboards de Uso

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Por onde começar?

Adoção gradual dos recursos do Application Insights

Não-invasivo

Alterações de Código

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

REQUIREMENTS

BACKLOG

RELEASE

OperateConstruct

WORKING SOFTWARE

Build | Measure | Learn

Collaboration

Precisamosde suporteao Chrome!

Precisamosadicionar o

menu àsoutras

páginas

Temos de incluir

conteúdolocal para a Califórnia!

Mais fatos e menos emoção no planejamento do produto

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

REQUIREMENTS

BACKLOG

RELEASE

OperateConstruct

WORKING SOFTWARE

Build | Measure | Learn

Collaboration

Eu não achoque é o

banco de dados…

Putz! Poronde a gente

começa?!

A culpa nãodeve ser da

nossaaplicação…

Transformando o ruído em ação

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

REQUIREMENTS

BACKLOG

RELEASE

OperateConstruct

WORKING SOFTWARE

Build | Measure | Learn

Collaboration

Ei, estáaumentandoo número de exceções…

Estranho, a memóriadisponível

estádiminuindo…

Estourecebendoalertas de

limiteultrapassado!

Uma Bola de Cristal?

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

REQUIREMENTS

BACKLOG

RELEASE

OperateConstruct

WORKING SOFTWARE

Build | Measure | Learn

Collaboration

Que estranho! Está

aumentando o número de usuários!

Hum… O desempenhoestá indo de

oito a oitenta!

Nossadisponibilidadecaiu para 94,6%

- o que estáacontecendo?

Alertas antecipados

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Application InsightsCloud-based Load Testing

Igor Abade V. Leite

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

REQUIREMENTS

BACKLOG

RELEASE

OperateConstruct

WORKING SOFTWARE

Build | Measure | Learn

Collaboration

Descoberta rápida com Alertas

Analytics e Log Mining

Monitoramento de Ambiente

Monitoramento da Aplicação

Monitoramento de Uso

Recapitulando...

SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Perguntas & Respostas