mvp showcast: cloud-based load testing (+bonus: application insights)
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çõesTRANSCRIPT
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 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
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 ambiente de testes
Criar testes – Web Performance e Load
TestsExecutar Testes Analisar resultados
Corrigir problemas de
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.
Nem tudo são flores…
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 OnlineCloud-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.
BONUS STAGE!!!
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?
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
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
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
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?
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
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