mvp showcast: cloud-based load testing (+bonus: application insights)

37
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

Upload: igor-abade

Post on 27-Jun-2015

346 views

Category:

Technology


1 download

DESCRIPTION

Veja como usar os novos serviços de Load Test e Application Insights do Visual Studio Online (www.visualstudio.com) para testar e monitorar suas aplicações

TRANSCRIPT

Page 1: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

MVP ShowCast 2013

Cloud-based Load Testing

Igor Abade Leite

Visual Studio ALM

Owner – Lambda3

@igorabade

Page 2: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

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

Page 3: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

MVP ShowCast 2013

Cloud-based Load TestingIgor Abade V. Leite

Introdução

Page 4: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

Propósito do Teste de Desempenho

♦Identificar a capacidade da aplicação

♦Alguns objetivos♦Explorar♦Verificar♦Encontrar os limites♦“Quebrar”

Page 5: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

Boas práticas

Testes de Desempenho ao longo do ciclo de

desenvolvimento

Pegar problemas mais cedo

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

Page 6: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

As Ferramentas de Hoje

Visual Studio

Ultimate

•Web Performance Tests• Load Tests• Load Test Rigs

Visual Studio Premium

• Profiling Tools• Performance Wizard

Page 7: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

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

Page 8: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

Montando o ambiente de testesCloud-based Load Testing

Igor Abade V. Leite

Page 9: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

MVP ShowCast 2013

Cloud-based Load TestingIgor Abade V. Leite

Criando Scripts de Navegação

Page 10: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

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)

Page 11: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

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

Page 12: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

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

Igor Abade V. Leite

Page 13: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

MVP ShowCast 2013

Cloud-based Load TestingIgor Abade V. Leite

Criando Testes de Carga

Page 14: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

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

Page 15: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

Criando testes de carga com Load TestCloud-based Load Testing

Igor Abade V. Leite

Page 16: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

Configurar ambiente de testes

Criar testes – Web Performance e Load

TestsExecutar Testes Analisar resultados

Corrigir problemas de

escala/desempenho

Recapitulando…

Page 17: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

Nem tudo são flores…

Page 18: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

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

Page 19: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

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

Page 20: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

MVP ShowCast 2013

Cloud-based Load TestingIgor Abade V. Leite

Testes de Carga no Visual Studio Online

Page 21: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

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

Page 22: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

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

Page 23: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

Testes de Carga Elásticos com Visual Studio OnlineCloud-based Load Testing

Igor Abade V. Leite

Page 24: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

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

Page 25: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

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?

Page 26: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

BONUS STAGE!!!

Page 27: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

MVP ShowCast 2013

Cloud-based Load TestingIgor Abade V. Leite

Application Insights

Page 28: MVP ShowCast: Cloud-based Load Testing (+bonus: 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

Page 29: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

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

Page 30: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

Por onde começar?

Disponibilidade básicaEmbrace the advantages of the cloud for your enterprise at your paceAdoção gradual dos recursos do Application Insights

Desempenho básico

Utilização da aplicação

Telemetria Personalizada

Não-invasivo

Alterações de Código

Page 31: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

REQUIREMENTS

BACKLOG

RELEASE

OperateConstruct

WORKING SOFTWARE

Build | Measure | Learn

Collaboration

Precisamos de suporte ao Chrome!

Precisamos adicionar o

menu às outras

páginas

Temos de incluir

conteúdo local para a Califórnia!

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

Page 32: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

REQUIREMENTS

BACKLOG

RELEASE

OperateConstruct

WORKING SOFTWARE

Build | Measure | Learn

Collaboration

Eu não acho que é o

banco de dados…

Putz! Por onde a gente

começa?!

A culpa não deve ser da

nossa aplicação…

Transformando o ruído em ação

Page 33: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

REQUIREMENTS

BACKLOG

RELEASE

OperateConstruct

WORKING SOFTWARE

Build | Measure | Learn

Collaboration

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

Estranho, a memória disponível

está diminuindo…

Estou recebendo alertas de

limite ultrapassado!

Uma Bola de Cristal?

Page 34: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

REQUIREMENTS

BACKLOG

RELEASE

OperateConstruct

WORKING SOFTWARE

Build | Measure | Learn

Collaboration

Que estranho! Está

aumentando o número de usuários!

Hum… O desempenho está indo de

oito a oitenta!

Nossa disponibilidade caiu para 94,6%

- o que está acontecendo?

Alertas antecipados

Page 35: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

Application InsightsCloud-based Load Testing

Igor Abade V. Leite

Page 36: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

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...

Page 37: MVP ShowCast: Cloud-based Load Testing (+bonus: 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.

Perguntas & Respostas