Más contenido relacionado MVP ShowCast: Cloud-based Load Testing (+bonus: Application Insights)1. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
MVP ShowCast 2013
Cloud-based Load Testing
Igor Abade Leite
Visual Studio ALM
Owner – Lambda3
@igorabade
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
2. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
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
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
3. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
MVP ShowCast 2013
Introdução
Cloud-based Load Testing
Igor Abade V. Leite
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
4. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
Propósito do Teste de Desempenho
♦ Identificar a capacidade da
aplicação
♦ Alguns objetivos
♦
♦
♦
♦
Explorar
Verificar
Encontrar os limites
“Quebrar”
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
5. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
Boas práticas
Identificar padrões de
desempenho
Definir linha-base de
desempenho
Sprint 1
feature a
feature b
Teste de
Unidade
Teste
Manual
Pegar problemas mais
cedo
Testes de Desempenho
ao longo do ciclo de
desenvolvimento
Teste de
Regressão
Teste de
Desempenho
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
Sprint 2
feature c
feature d
Implantação
6. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
As Ferramentas de Hoje
Visual
Studio
Ultimate
Visual Studio
Premium
•Web Performance Tests
•Load Tests
•Load Test Rigs
• Profiling Tools
• Performance Wizard
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
7. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
Topologia
♦ Controlador
♦ Orquestra os testes
♦ Gerencia Licenciamento
♦ Coleta e armazena dados de
desempenho
Coordena e
coleta
informações
Gera carga
de usuários
Aplicação
sob Teste
Agente 1
Servidor
Web
♦ Agentes (1..n)
♦ Simulam usuários
Controlador
Agente 2
Agente n
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
Servidor BD
8. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
Montando o ambiente de testes
Cloud-based Load Testing
Igor Abade V. Leite
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
9. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
MVP ShowCast 2013
Criando Scripts de Navegação
Cloud-based Load Testing
Igor Abade V. Leite
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
10. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
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)
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
11. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
Testes de Desempenho Web
Gravados no browser
Guiado por dados
Define metas de desempenho
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
Extração automática de
parâmetros
Grava e gerencia think time
12. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
Criando scripts de navegação com Web Performance Test
Cloud-based Load Testing
Igor Abade V. Leite
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
13. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
MVP ShowCast 2013
Criando Testes de Carga
Cloud-based Load Testing
Igor Abade V. Leite
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
14. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
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
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
15. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
Criando testes de carga com Load Test
Cloud-based Load Testing
Igor Abade V. Leite
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
16. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
Recapitulando…
Configurar ambiente
de testes
Criar testes – Web
Performance e Load
Tests
Executar Testes
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
Analisar resultados
Corrigir problemas
de
escala/desempenho
17. SESSÃO: DESENVOLVIMENTO
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
18. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
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
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
19. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
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
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
20. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
MVP ShowCast 2013
Testes de Carga no Visual Studio Online
Cloud-based Load Testing
Igor Abade V. Leite
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
21. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
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
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
22. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
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
Pool de Agentes de Teste (Dinâmico)
Load Test
Web Service
Worker
Azure Tables
Visual Studio
Ultimate 2013
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
Azure Blobs
Resultados
23. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
Testes de Carga Elásticos com Visual Studio Online
Cloud-based Load Testing
Igor Abade V. Leite
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
24. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
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
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
25. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
Comparando duas soluções
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
Como ter o melhor dos dois mundos?
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
26. SESSÃO: DESENVOLVIMENTO
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
27. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
MVP ShowCast 2013
Application Insights
Cloud-based Load Testing
Igor Abade V. Leite
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
28. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
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
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
29. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
Application Insights
Disponibilidade
Comportamento
Melhorias
Dashboards de Saúde
Notificações & Insights
Dashboards de Uso
Minha aplicação está disponível?
Desempenho está satisfatório?
Dashboard único
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
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
30. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
Por onde começar?
Alterações de
Código
Não-invasivo
Adoção gradual dos recursos do Application Insights
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
31. SESSÃO: DESENVOLVIMENTO
Precisamos
de suporte
ao Chrome!
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
Mais fatos e menos emoção no
planejamento do produto
REQUIREMENTS
Precisamos
adicionar o
menu às
outras
páginas
BACKLOG
Build | Measure | Learn
Construct
Temos de
incluir
conteúdo
local para a
Califórnia!
Operate
Collaboration
RELEASE
WORKING SOFTWARE
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
32. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
Eu não acho
que é o
banco de
dados…
Transformando o ruído em ação
REQUIREMENTS
Putz! Por
onde a
gente
começa?!
BACKLOG
Build | Measure | Learn
Construct
Operate
Collaboration
A culpa não
deve ser da
nossa
aplicação…
RELEASE
WORKING SOFTWARE
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
33. SESSÃO: DESENVOLVIMENTO
Ei, está
aumentando
o número de
exceções…
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
Uma Bola de Cristal?
REQUIREMENTS
Estranho, a
memória
disponível
está
diminuindo…
BACKLOG
Build | Measure | Learn
Construct
Estou
recebendo
alertas de
limite
ultrapassado!
Operate
Collaboration
RELEASE
WORKING SOFTWARE
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
34. SESSÃO: DESENVOLVIMENTO
Que estranho!
Está
aumentando o
número de
usuários!
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
Alertas antecipados
REQUIREMENTS
Hum… O
desempenho
está indo de
oito a
oitenta!
Nossa
disponibilidade
caiu para 94,6%
- o que está
acontecendo?
BACKLOG
Build | Measure | Learn
Construct
Operate
Collaboration
RELEASE
WORKING SOFTWARE
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
35. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
Application Insights
Cloud-based Load Testing
Igor Abade V. Leite
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
36. SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
Recapitulando...
REQUIREMENTS
BACKLOG
Monitoramento de Uso
Build | Measure | Learn
Construct
Operate
Collaboration
Monitoramento de Ambiente
Monitoramento da Aplicação
Analytics e Log Mining
RELEASE
WORKING SOFTWARE
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
Descoberta rápida com Alertas
37. SESSÃO: DESENVOLVIMENTO
Perguntas & Respostas
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
Notas del editor Visual Studio Online Application Insights provides a 360 degree view of your applications, collecting rich operational, performance, and customer usage information from your applications,whether they run on-premises, in Azure, third-party cloud providers, or a mixture of all three. This empowers you to: Pro-actively monitor that your applications are available andPerforming as expected, and when they aren’t, to provide information that helps you to resolve them promptly. Use information to continuously improve your applications and prioritize future investments. Customers can start getting insights into their applications at their own pace…Level 1 – Basic Availability – Non-invasive, no need to re-deploy or code changes. Start getting outside-in monitoring with ping test/synthetic transactions, by configuring URL, ping or deploy existing web tests and get 16 global points of presence.Level 2 – Basic Performance: No code changes required. Install agent (Microsoft Monitoring agent) on platformLevel 3 – Application usage: Inject agent into application - little or no developer effortLevel 4 – Customer telemetry – Using SDK, developer emits custom event to the service Too often backlog grooming involves we too much yelling and emotion by getting insight into what customers are REALLY doing we can remove much of that emotion in the process…or at least back up the emotion with facts<g> Distributed systems can generate a ton of data…my daughter’s netbook doesn’t do much more than play mindcraft has 84,000 system events and 26,000 windows events. Application Insights is planning on offering a set of services that look for patterns then show you the underlying problem to that much collapsed view. Teams in Microsoft have found that these services and the custom alerts they have start giving them insight into not only their own problems before their customers discover them but underlying systemic level issues.