Microsoft ha svelato la preview di Azure Load Testing, un servizio completamente gestito di Azure che consente agli sviluppatori e ai tester di generare un carico su larga scala con script Apache JMeter personalizzati.
E, soprattutto, di ottenere informazioni utili per individuare e risolvere i colli di bottiglia delle prestazioni su scala.
Le prestazioni e la resilienza delle applicazioni – mette in evidenza Microsoft – sono più importanti che mai.
Man mano che sempre più aziende e servizi si muovono verso la digitalizzazione, cresce anche l’impatto delle interruzioni e dei tempi di inattività in termini di perdita di entrate e insoddisfazione dei clienti.
Azure Load Testing, ha affermato Microsoft, è un servizio che può aiutare i tester e gli sviluppatori che stanno assumendo un ruolo più importante nella convalida della qualità, delle prestazioni e della scalabilità delle app.
Creare e gestire l’infrastruttura necessaria per i test di carico su scala può essere lungo e complesso. Con Azure Load Testing – sottolinea Microsoft –, l’utente può generare un carico su larga scala senza la necessità di gestire un’infrastruttura complessa.
Inoltre, Microsoft ha incluso integrazioni e insight specifici di Azure che aiutano lo sviluppatore a ottimizzare la propria applicazione Azure nell’esecuzione su scala.
I problemi di performance spesso non vengono rilevati finché un’applicazione non è sotto carico. Con questo strumento, l’intenzione di Microsoft è quella di aiutare i team di sviluppo a capire come si comporta la loro applicazione sotto stress.
Ottimizzare le applicazioni con Azure Load Testing
I team di sviluppatori possono avviare un test di carico su larga scala nel portale di Azure e vedere gli aggiornamenti in tempo reale delle metriche lato client e server mentre il test è in corso.
Gli insight specifici di Azure – mette inoltre in evidenza Microsoft – possono aiutare a capire come i diversi scenari di carico abbiano un impatto su tutte le parti della propria applicazione.
Inoltre, gli sviluppatori possono confrontare i risultati tra diversi test di carico per capire i cambiamenti di comportamento nel tempo.
Azure Load Testing si integra con Azure Monitor, compresi Application insights e Container insights, per acquisire i dettagli dai servizi Azure.
A seconda del tipo di servizio, sono disponibili diverse metriche. Per esempio, il numero di letture del database, il tipo di risposte HTTP o il consumo di risorse del container.
Sia le metriche lato client che quelle lato server sono disponibili nella dashboard di Azure Load Testing.
Azure Load Testing è progettato per aiutare gli sviluppatori a integrare i test di carico nei propri flussi di lavoro di continuous integration e continuous delivery (CI/CD) in modo da poter individuare i problemi di prestazioni prima che accadano in produzione.
Utilizzando le integrazioni con GitHub Actions e Azure Pipelines è poi possibile stabilire una baseline della performance e impostare criteri chiari di “pass or fail” per catturare le regressioni delle prestazioni su ogni build.
Azure Load Testing, inoltre, interromperà automaticamente un test di carico automatizzato in risposta a specifiche condizioni di errore.
Questo comportamento aiuta a proteggere dai test che falliscono e che comportano ulteriori costi, per esempio a causa di un URL endpoint configurato in modo errato, ed è particolarmente importante per abilitare i test automatici.