Información general
Pruebas de carga distribuidas en AWS automatiza las pruebas de aplicaciones de software a escala y en carga para que pueda identificar posibles problemas de rendimiento antes del lanzamiento de la aplicación. Esta solución de AWS crea y simula miles de usuarios conectados que generan registros transaccionales a un ritmo contante sin la necesidad de aprovisionar servidores. Esta solución también le permite ejecutar pruebas en varias regiones de AWS.
Beneficios
Pruebe las capacidades de carga de su software con contenedores independientes de Amazon Elastic Container Service (Amazon ECS) en AWS Fargate.
Personalice las pruebas de sus aplicaciones mediante la creación de scripts personalizados de JMeter.
Programe pruebas de carga para que comiencen de forma automática en una fecha específica o en fechas recurrentes.
Vea los datos en directo de una prueba en curso con la consola web de esta solución.
Detalles técnicos
Puede desplegar automáticamente esta arquitectura con la guía de despliegue y la plantilla de AWS CloudFormation asociada para las regiones de AWS.
Paso 1
Una API de Amazon API Gateway invoca los microservicios de la solución (funciones de AWS Lambda).
Paso 2
Los microservicios proporcionan la lógica empresarial para administrar los datos de las pruebas y ejecutar las pruebas.
Paso 3
Estos microservicios interactúan con Amazon Simple Storage Service (Amazon S3), Amazon DynamoDB y AWS Step Functions para ejecutar escenarios de prueba y proporcionar almacenamiento para los detalles de los escenarios de prueba.
Paso 4
Se implementa una topología de red de Amazon Virtual Private Cloud (Amazon VPC) con los contenedores de Amazon Elastic Container Service (Amazon ECS) de la solución ejecutándose en AWS Fargate.
Paso 5
Los contenedores incluyen una prueba de carga de Taurus con una imagen de contenedor conforme con Open Container Initiative (OCI) que se utiliza para generar carga con el fin de evaluar el rendimiento de su aplicación. Taurus es un marco de automatización de pruebas de código abierto. AWS aloja la imagen del contenedor en un repositorio público de Amazon Elastic Container Registry (Amazon ECR).
Paso 6
Se implementa una consola web con la tecnología de AWS Amplify en un bucket de S3 configurado para el alojamiento web estático.
Paso 7
Amazon CloudFront proporciona el acceso público y seguro al contenido del bucket del sitio web de la solución.
Paso 8
Durante la configuración inicial, la solución también crea un rol de administrador de solución predeterminado y envía una invitación de acceso a una dirección de correo electrónico de usuario especificada por el cliente.
Paso 9
Un grupo de usuarios de Amazon Cognito administra el acceso de los usuarios a la consola y a la API de API Gateway.
Paso 10
Después de implementar esta solución, puede utilizar la consola web para crear un escenario de prueba que defina una serie de tareas.
Paso 11
Los microservicios utilizan este escenario de prueba para ejecutar Amazon ECS en las tareas de Fargate en las regiones de AWS especificadas.
Paso 12
Además de almacenar los resultados en Amazon S3 y DynamoDB, una vez finalizada la prueba, la salida se registra en Amazon CloudWatch.
Paso 13
Si selecciona la opción de datos en directo, la solución envía los registros de CloudWatch para las tareas de Fargate a una función de Lambda durante la prueba para cada región en la que se ejecutó la prueba.
Paso 14
La función de Lambda luego publica los datos en el tema correspondiente en AWS IoT Core en la región en la que se implementó la pila principal. La consola web se suscribe al tema, y puede consultar los datos mientras la prueba se ejecuta en la consola web.
- Fecha de publicación
«En Calabrio, nuestra misión es ayudar a los centros de contacto a trabajar de manera más inteligente, rápida y mejor. Necesitábamos diseñar rápidamente una nueva característica de alto rendimiento para un cliente importante. Utilizamos las pruebas de carga distribuidas en AWS para probar el rendimiento de nuestro sistema a escala, sin necesidad de costosas licencias de pruebas empresariales ni de escribir código de orquestación personalizado para herramientas de código abierto. Con esta solución de AWS, diseñamos y ejecutamos pruebas con un volumen de tráfico seis veces superior al esperado y lanzamos la nueva característica correctamente y antes de lo previsto».
Contenido relacionado
Tanto si se trata de una empresa privada como de un servicio del sector público, necesita confiar en que su aplicación puede escalar con el aumento de las cargas de usuarios. Las pruebas de carga distribuidas en AWS le permiten automatizar las pruebas de la aplicación, comprender su rendimiento a escala y solucionar los cuellos de botella antes de lanzar su aplicación.