SlideShare a Scribd company logo
1 of 37
Download to read offline
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.
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.
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.
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.
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
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.
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
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.
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.
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.
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
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.
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.
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.
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.
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
SESSÃO: DESENVOLVIMENTO

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
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.
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.
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.
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.
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
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.
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.
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.
SESSÃO: DESENVOLVIMENTO

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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

More Related Content

More from Igor Abade

DevOps em grandes empresas - Mito ou Realidade?
DevOps em grandes empresas - Mito ou Realidade?DevOps em grandes empresas - Mito ou Realidade?
DevOps em grandes empresas - Mito ou Realidade?Igor Abade
 
Serverless Computing no Microsoft Azure
Serverless Computing no Microsoft AzureServerless Computing no Microsoft Azure
Serverless Computing no Microsoft AzureIgor Abade
 
Chega de receita de bolo: gerenciando infraestrutura como código
Chega de receita de bolo: gerenciando infraestrutura como códigoChega de receita de bolo: gerenciando infraestrutura como código
Chega de receita de bolo: gerenciando infraestrutura como códigoIgor Abade
 
Microsserviços .NET no Azure
Microsserviços .NET no AzureMicrosserviços .NET no Azure
Microsserviços .NET no AzureIgor Abade
 
Introdução ao Habitat
Introdução ao HabitatIntrodução ao Habitat
Introdução ao HabitatIgor Abade
 
Acelere - e melhore! - o feedback com testes automatizados rápidos - igor abade
Acelere - e melhore! - o feedback com testes automatizados rápidos - igor abadeAcelere - e melhore! - o feedback com testes automatizados rápidos - igor abade
Acelere - e melhore! - o feedback com testes automatizados rápidos - igor abadeIgor Abade
 
Provisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTS
Provisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTSProvisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTS
Provisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTSIgor Abade
 
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)Igor Abade
 
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)Igor Abade
 
Desktop App Converter: Trazendo Apps Win32 para a Windows Store
Desktop App Converter: Trazendo Apps Win32 para a Windows StoreDesktop App Converter: Trazendo Apps Win32 para a Windows Store
Desktop App Converter: Trazendo Apps Win32 para a Windows StoreIgor Abade
 
Acelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidosAcelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidosIgor Abade
 
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)Igor Abade
 
Suporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShellSuporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShellIgor Abade
 
Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)
Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)
Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)Igor Abade
 
Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)
Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)
Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)Igor Abade
 
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)Keynote - Trilha Negócios (DevOps Summit Brasil 2016)
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)Igor Abade
 
Além do pen-drive: empacotando seu software para distribuição e implantação (...
Além do pen-drive: empacotando seu software para distribuição e implantação (...Além do pen-drive: empacotando seu software para distribuição e implantação (...
Além do pen-drive: empacotando seu software para distribuição e implantação (...Igor Abade
 
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...Igor Abade
 
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)Igor Abade
 
Muito além das startups: Build-Measure-Learn em sistemas corporativos
Muito além das startups: Build-Measure-Learn em sistemas corporativosMuito além das startups: Build-Measure-Learn em sistemas corporativos
Muito além das startups: Build-Measure-Learn em sistemas corporativosIgor Abade
 

More from Igor Abade (20)

DevOps em grandes empresas - Mito ou Realidade?
DevOps em grandes empresas - Mito ou Realidade?DevOps em grandes empresas - Mito ou Realidade?
DevOps em grandes empresas - Mito ou Realidade?
 
Serverless Computing no Microsoft Azure
Serverless Computing no Microsoft AzureServerless Computing no Microsoft Azure
Serverless Computing no Microsoft Azure
 
Chega de receita de bolo: gerenciando infraestrutura como código
Chega de receita de bolo: gerenciando infraestrutura como códigoChega de receita de bolo: gerenciando infraestrutura como código
Chega de receita de bolo: gerenciando infraestrutura como código
 
Microsserviços .NET no Azure
Microsserviços .NET no AzureMicrosserviços .NET no Azure
Microsserviços .NET no Azure
 
Introdução ao Habitat
Introdução ao HabitatIntrodução ao Habitat
Introdução ao Habitat
 
Acelere - e melhore! - o feedback com testes automatizados rápidos - igor abade
Acelere - e melhore! - o feedback com testes automatizados rápidos - igor abadeAcelere - e melhore! - o feedback com testes automatizados rápidos - igor abade
Acelere - e melhore! - o feedback com testes automatizados rápidos - igor abade
 
Provisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTS
Provisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTSProvisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTS
Provisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTS
 
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
 
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
 
Desktop App Converter: Trazendo Apps Win32 para a Windows Store
Desktop App Converter: Trazendo Apps Win32 para a Windows StoreDesktop App Converter: Trazendo Apps Win32 para a Windows Store
Desktop App Converter: Trazendo Apps Win32 para a Windows Store
 
Acelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidosAcelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidos
 
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
 
Suporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShellSuporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShell
 
Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)
Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)
Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)
 
Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)
Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)
Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)
 
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)Keynote - Trilha Negócios (DevOps Summit Brasil 2016)
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)
 
Além do pen-drive: empacotando seu software para distribuição e implantação (...
Além do pen-drive: empacotando seu software para distribuição e implantação (...Além do pen-drive: empacotando seu software para distribuição e implantação (...
Além do pen-drive: empacotando seu software para distribuição e implantação (...
 
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
 
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
 
Muito além das startups: Build-Measure-Learn em sistemas corporativos
Muito além das startups: Build-Measure-Learn em sistemas corporativosMuito além das startups: Build-Measure-Learn em sistemas corporativos
Muito além das startups: Build-Measure-Learn em sistemas corporativos
 

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

Editor's Notes

  1. 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.
  2. 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
  3. 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>
  4. 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.
  5. 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.