Page 1
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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