El documento describe cómo usar Windows Azure para realizar pruebas de rendimiento en la nube. Explica los tipos de pruebas de rendimiento, por qué es importante realizarlas, y los beneficios de usar la nube para pruebas de rendimiento, como la escalabilidad y la capacidad de inyección distribuida. También describe la arquitectura propuesta para ejecutar pruebas de rendimiento en la nube usando Visual Studio 2010 Load Testing y roles de trabajo de Windows Azure.
1. Pruebas de rendimiento en la nube
Usando Windows Azure para tus pruebas de carga
Luis Fraile – ALM Division Manager David Salgado – Technical Evangelist
luis.fraile@globealm.com Microsoft
http://www.globealm.com @davidsb
http://www.globetesting.com
@globetesting
@lfraile
3. ¿Pruebas de rendimiento?
Simulación de procesos de negocio
Simulando condiciones de carga
Pruebas continuadas de disponibilidad
Objetivo:
• Comprobar la respuesta ante carga y disponibilidad
4. El rendimiento está en los ojos del que mira
Rendimiento
• Un aplicación con un buen rendimiento es aquel que permite al
usuario realizar sus tareas sin una percepción de lentitud en la
aplicación.
¿Por qué hay problemas de rendimiento?
• Mirar el rendimiento de todas las capas bajo carga, y solucionar
problemas de rendimiento en las capas que no rindan
5. Rendimiento, carga, stress…
Preguntas
Respuestas
• Sera lo suficientemente • Pruebas de
rápida? rendimiento
• Soportara a todos mis
clientes? • Pruebas de carga
• Que pasa si algo sale
mal? • Pruebas de stress
• Que tengo que planear
para cuando mi
• Pruebas de capacidad
numero de clientes
crezca?
6. La Receta
Planificación Estrategia Pruebas Entorno Pruebas +
Diseño Casos de
Configuración
Pruebas de
Instalación
EstrategiaBase
InformePruebas
SmokeTest
Línea Test
SOAK Final
Scripting
Stress
DatosRendimiento
Herramientas
Monitores
Prueba
Entorno Pruebas + Instalación Diseño Casos de •Establecer expectativas
Datos Herramientas Prueba
•Planificaciónun las de
•Prueba iterativo
•Procesoopcional
•Establecerdecasos
•Verificar de fases
•Convertirlas las
•Selecciónlosdel
•Herramientas de
•Configuración Entono
•Sumario
•Transacciones proyecto
Pruebas Carga
Configuración
Monitores
Scripting •Descripción scripts
•Solo si
estándarde
anteriores (pre-prod)
pruebatodas entorno
métricas2decarga
•Validacioneslas
pruebaseniteraciones
de pruebasdelde
•Mínimo
•Identificaciónproblema
ejecutadas,
pruebas anteriores
comparación de
•No aporta texto
automatizados
“potencialmente
imágenes datos
•Herramientas inicial
•Carga deyvalor al son
Preparación
Smoke Test proyectoOtros
responsables datosvaria
s encontrados
satisfactorias
•Si complejidad
•Lael rendimiento
interesantes” de
•Juegos de
monitorización y nosi
continuar
•Descripciónaportadas
soluciones
es función
esta fase de
en bueno, de los
•Selecciónno se
sistemas no seladebe
Línea Base escenariosen exceso
continuar con
completade otros
herramienta pruebas
métricas avanzadas
•Otras herramientas
•Detallar
Análisis + Cambios +
Pruebas de cada escenario
tipos de pruebas
correctamente
seleccionada de
(reporting...)
•Descripción de los casos
Informes
Rendimiento pruebas ejecutado no
de prueba
Soak Test Pruebas Carga Otros •Descripción de los
aporta valor
monitores
Ejecución Stress •Documento “vivo”
Cierre Informe Final
8. Algunos fails…
● Probar la aplicación desde tu propia red
● Probar la aplicación desde tu propio servidor vs comprar
servidores
● No probar desde diferentes geografías
10. Tradicional
Compra
Capacidades
Capacidades IT
“Insuficientes“
CAPACIDAD IT
“Derroche“ Costes fijos de
de capacidades IT
capacidade
s
Barrera para
innovaciones Carga Real
TIEMPO
11. Cloud
Allocated IT
CAPACIDAD IT
capacities
No “insuficiencias“
Reducción de Posibilidad de
exceso de reducción de
capacidad capacidades
Reducción IT en caso de
de reducción de
inversiones carga
iniciales Carga Real
TIEMPO
12. Privada Infrastructura Plataforma Software
(On-Premise) (como Servicio) (como Servicio) (como Servicio)
Tú gestionas
Applications Applications Applications Applications
Tú gestionas
Runtimes Runtimes Runtimes Runtimes
Security & Integration Security & Integration Security & Integration Security & Integration
Tu gestionas
Databases Databases Databases Databases
proveedor
proveedor
Servers Servers Servers Servers
Virtualization Virtualization Virtualization Virtualization
proveedor
Server HW Server HW Server HW Server HW
Storage Storage Storage Storage
Networking Networking Networking Networking
13. Aplicación
Cloud
Plataforma Cloud
Usuarios
Usuarios
Desarrolladores
19. Peligros de la nube
Seguridad
Legislación
Rendimiento vs. Coste
Todos los derechos reservados // Globe Testing
20. Ventajas para pruebas rendimiento
Ancho de banda
Disponibilidad/coste Hw
Escalabilidad
Inyección distribuida
Todos los derechos reservados // Globe Testing
21. Nuestra propuesta
Visual
Studio 2010
Load Testing
Windows
Azure
Todos los derechos reservados // Globe Testing
22. Arquitectura Test Rig
Test Agent
Test Controller
Ejecución
tests
Test Agent
Aplicación
Repositorio
resultados
Contadores rendimiento
Todos los derechos reservados // Globe Testing
23. Arquitectura
Test Agent Test Agent Test Controller
Aplicación
Todos los derechos reservados // Globe Testing
24. Roles en el entorno
• On-premises o *** Role
Worker roles On-premises
• Obtención contadores
Test Controller
Test Agents
Autodesplegados Visual Studio rendimiento
en un paquete 2010 Test • Config. puertos y
Visual Studio Controller SP1
2010 Test Agent No enlazado a
usuario
SP1 Team Foundation
Enlazados a Test Server
Controller Azure
Aplicación
25. Worker Roles de Test Agents
Creación de un
paquete Worker Role
en Visual Studio 2010
Instalación • Visual Studio 2010 Test Agent
automatizada: • Visual Studio 2010 SP1
Configuración • Apertura puertos
automatizada • Usuarios
(scripts) • Conexión a Test Controller (Azure Connect)
26. Despliegue automatizado
Elasticidad
Aprovechar las •Agregar más agentes Ahorro de costes
Crear entornos
ventajas de la cuando sea necesario totales en nuestro
rápidamente •Quitar agentes cuando
nube Test Rig
no se necesiten
28. Ejecución de pruebas rendimiento
Ejecución
Basados en desde: Igual que
Visual Studio
Web Tests cualquier otra
2010 Load •Visual Studio
Visual Studio 2010 prueba de
Tests
2010 •Línea de rendimiento
comando