Upload
mvp-showcast
View
2.972
Download
0
Embed Size (px)
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
Citation preview
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