Il Product Specialist di Dynatrace Rajesh Jain spiega come e quanto si può sfruttare il cloud nell’e-commerce

I principali vantaggi che derivano dall’uso di piattaforme cloud sono la facilità d’uso e la flessibilità, in termini di capacità di elaborazione. Lo scaling permette di allocare dinamicamente risorse secondo i carichi di lavoro: Rajesh Jain, product specialisti di Dynatrace, spiega perché bisogna tener d’occhio le prestazioni mettendo a confronto più fornitori.

AWS Auto Scaling permette di seguire da vicino vicino la curva di domanda per le applicazioni. Nel caso l’utilizzo della CPU superi il 70% è possibile aggiungere ulteriori istanze EC2 e, allo stesso modo, se l’utilizzo della CPU scende al di sotto di una soglia prestabilita queste istanze si possono facilmente rimuovere.

Anche Microsoft Azure offre la scalabilità per l’applicazione sia in automatico che in base alla pianificazione, con la possibilità di fornire CPU aggiuntiva o aumentare i messaggi in coda sulla macchina di destinazione.

Il test
La flessibilità di scala automatica è un beneficio e un aspetto  indispensabile in qualsiasi implementazione cloud ma può implicare presto spese aggiuntive. Com’è possibile sapere se davvero l’applicazione sta utilizzando le risorse dedicate?

Dynatrace ha eseguito dei test provando a  implementare un’applicazione di e-commerce su piattaforma open source LAMP con il supporto di alcuni provider cloud. Questa applicazione è preconfezionata con Bitnami e permette la visualizzazione dell’infrastruttura, che comprende server Web/App e database MySQL su siti cloud multipli negli Stati Uniti e in Europa. Synthetic Monitoring 2.0 è stato utilizzato per le operazioni principali di script del negozio online. Generando un carico costante di prova, il team Dynatrace ha imitato gli utenti reali provenienti da varie località della backborne attraverso  gli ISP. Per misurare la disponibilità e le prestazioni del sito web nel cloud, hanno  scritto URL singoli e test multi step. Hanno infine fornito la backend della soluzione dynaTrace, distribuendo agenti PHP/web a tutti i livelli dell’applicazione.

I risultati
Monitorando le operazioni del sito, è stato possibile scoprire quali fossero le prestazioni reali e la disponibilità rispetto alle diverse aree geografiche, ai differenti ISP e collegare le prestazioni ai provider  cloud. Guardando alla CPU/Disk/IO/Network si sono notate differenze significative nella capacità dei diversi provider cloud di fornire lo stesso livello di tempi di risposta e di produttività. Il risultato è che il cloud, come un elastico, potenzialmente si può tirare per aumentare la potenza di calcolo in modo da ottenere il massimo delle prestazioni dai diversi fornitori, ma tutto questo ha un costo perché, inevitabilmente, le prestazioni tenderanno a variare e non essere costanti.

Solo  una visibilità completa sull’applicazione consente di risolvere questi problemi di prestazioni. Il primo passo è ottimizzare le proprie applicazioni, prendere come punto di riferimento le loro prestazioni e ottenere la visibilità necessaria per poi arrivare a scalare in automatico, accorgimento che può migliorare le prestazioni delle applicazioni anche per affrontare sfide future.