Panoramica

Il Test del carico distribuito su AWS automatizza i test delle prestazioni su larga scala, mostrando come si comporteranno le applicazioni in diverse condizioni di carico e identificando potenziali problemi di prestazioni durante tutto il ciclo di vita delle applicazioni (inclusi sviluppo, staging, produzione e post-produzione). Questa soluzione AWS simula utenti e transazioni che vanno da centinaia a milioni, generando transazioni coerenti senza la necessità di effettuare provisioning di utenti o server.
La soluzione fornisce approfondimenti su aree cruciali, come la scalabilità e l'affidabilità delle istanze HAQM Elastic Compute Cloud (HAQM E2), HAQM Elastic Container Service (HAQM ECS) o HAQM Elastic Kubernetes Service (HAQM EKS), i tempi di avvio ed esecuzione a freddo delle funzioni AWS Lambda, le prestazioni delle query del database HAQM Relational Database Service (HAQM RDS) e i tempi di risposta di HAQM CloudFront. Simulando scenari di carico realistici, l'infrastruttura viene ottimizzata sia in termini di prestazioni che di efficienza dei costi.
Vantaggi

Dimensiona correttamente l'infrastruttura ottenendo informazioni accurate sulle prestazioni delle applicazioni in condizioni di carico variabili, in modo da garantire un'allocazione delle risorse a costi contenuti.
Automatizza i test di carico programmandoli o incorporando questa soluzione nella pipeline di integrazione continua e distribuzione continua (CI/CD), semplificando il processo di test.
Simula il traffico reale da più Regioni AWS per valutare il comportamento dell'applicazione in presenza di carichi geografici diversi, ottimizzando le prestazioni globali.
Progetta e integra perfettamente i test di carico distribuito con gli script JMeter, che consentono di personalizzare i test per le esigenze specifiche dell'applicazione.
Dettagli tecnici

Questa architettura può essere implementata automaticamente consultando la guida all'implementazione e il modello AWS CloudFormation allegato per le regioni AWS.
Fase 1
Un'API Gateway HAQM API richiama i microservizi della soluzione (funzioni AWS Lambda).
Fase 2
I microservizi forniscono la logica aziendale per gestire i dati dei test ed eseguire i test.
Fase 3
Questi microservizi interagiscono con HAQM Simple Storage Service (HAQM S3), HAQM DynamoDB e AWS Step Functions per eseguire scenari di test e fornire spazio di archiviazione per i dettagli dello scenario di test.
Fase 4
Una topologia di rete HAQM Virtual Private Cloud (HAQM VPC) contiene i container HAQM Elastic Container Service (HAQM ECS) della soluzione in esecuzione su AWS Fargate.
Fase 5
I container includono un'immagine del container per il test del carico Taurus conforme all'OCI (Open Container Initiative) che viene utilizzata per generare il carico al fine di testare le prestazioni dell'applicazione. Taurus è un framework di automazione dei test open source. L'immagine del container è ospitata da AWS in un repository pubblico HAQM Elastic Container Registry (HAQM ECR).
Fase 6
Una console web basata su AWS Amplify viene distribuita in un bucket S3 configurato per l'hosting web statico.
Fase 7
HAQM CloudFront fornisce un accesso pubblico e sicuro ai contenuti nel bucket del sito web della soluzione.
Fase 8
Durante la configurazione iniziale, la soluzione crea anche un ruolo di amministratore della soluzione predefinito e invia un invito di accesso a un indirizzo e-mail utente specificato dal cliente.
Fase 9
Un pool di utenti HAQM Cognito gestisce l'accesso degli utenti alla console e all'API API Gateway.
Fase 10
Dopo aver distribuito questa soluzione, è possibile utilizzare la console web per creare uno scenario di test che definisce una serie di attività.
Fase 11
I microservizi utilizzano questo scenario di test per eseguire HAQM ECS su attività Fargatenelle Regioni AWS specificate.
Fase 12
Oltre a memorizzare i risultati in HAQM S3 and DynamoDB, una volta completato il test, l'output viene registrato in HAQM CloudWatch.
Fase 13
Se si seleziona l'opzione dati in tempo reale, la soluzione invia i log di CloudWatch per le attività di Fargate a una funzione Lambda durante il test, per ogni Regione in cui è stato eseguito il test.
Fase 14
La funzione Lambda pubblica quindi i dati nell'argomento corrispondente in AWS IoT Core nella Regione in cui è stato distribuito lo stack principale. La console web sottoscrive l'argomento ed è possibile visualizzare i dati durante l'esecuzione del test.
- Data di pubblicazione

“In Calabrio, la nostra missione è aiutare i contact center a lavorare in modo più intelligente, veloce ed efficace. Dovevamo progettare rapidamente una nuova funzionalità ad alte prestazioni per un importante cliente. Abbiamo utilizzato il test del carico distribuito su AWS per testare le prestazioni del nostro sistema su larga scala, senza dover ricorrere a costose licenze di test aziendali o alla scrittura di codice di orchestrazione personalizzato per strumenti open source. Grazie a questa soluzione AWS, abbiamo progettato ed eseguito test con un volume di traffico sei volte superiore a quello previsto e abbiamo lanciato la nuova funzionalità con successo e prima del previsto.”
Contenuto correlato

Che si tratti di un'azienda privata o di un servizio pubblico, è necessario avere la certezza che la propria applicazione sia in grado di dimensionarsi con l'aumento del carico di utenti. I test di carico distribuito su AWS consentono di automatizzare i test delle applicazioni, comprenderne le prestazioni su larga scala e correggere i colli di bottiglia prima di rilasciare l'applicazione.