Di seguito condividiamo un articolo a cura di Stefano Bertolin, Senior Manager, Observability & Quality Assurance e Marco Parrello, QA Service Manager di Kirey Group su come le attività congiunte di observability e testing nello sviluppo di applicazioni siano fondamentali.
Buona lettura!
Observability e testing: alleati naturali
Nell’era della digital economy le applicazioni sono diventate lo strumento di business privilegiato, tanto che si prevede che il mercato globale del software per lo sviluppo di applicazioni raggiungerà circa 328,3 miliardi di dollari entro il 2032. La pressione registrata dalle aziende per modernizzare costantemente i parchi applicativi e creare nuovo business value, sfruttando le molteplici opportunità del panorama ibrido e multi-cloud, è quindi costante; e una sola regola regna sovrana nella gestione delle applicazioni: il disservizio non è contemplato.
Specialmente in settori come l’e-commerce, anche solo un’ora di disservizio può avere un altissimo impatto economico. Proprio per questo motivo, la Full Stack Observability (FSO), in quanto disciplina che punta a fornire una visione olistica dell’intera infrastruttura IT, e la Quality Assurance (QA), che si occupa di garantire che un’applicazione soddisfi gli standard di qualità previsti, stanno acquisendo sempre più importanza.
La prima è tipicamente associata agli ambienti di produzione, mentre la seconda a quelli di non-produzione: ma come e per quale ragione possono entrare efficacemente in contatto e sviluppare una sinergia senza precedenti?
Full Stack Observability e Quality Assurance: due necessari comprimari
Qualsiasi prodotto voglia avere successo deve essere di qualità. Anche una piccola applicazione deve operare al meglio delle proprie possibilità e, in quest’ottica, mentre la QA si concentra sulla verifica del suo corretto funzionamento attraverso diverse tipologie di testing, l’observability si focalizza sul check continuo della salute complessiva dell’IT stack e della user experience.
I test tradizionali del software, svolti in ambienti di pre-produzione o di staging, si concentrano sulla convalida del corretto funzionamento del sistema. Tuttavia, finché non si eseguono i servizi nell’ambiente di produzione, non si è in grado di coprire e prevedere tutti gli scenari che possono verificarsi. Ed ecco entrare in scena l’observability, grazie alla quale è possibile avere una visione approfondita dell’infrastruttura e delle performance utente, nonché prevenire i disservizi grazie a dati di telemetria, quali log, metriche e trace.
La FSO, in particolare, rende possibile visionare da un unico pannello non solo come funziona l’applicazione, ma anche come sta lavorando tutta l’infrastruttura IT che sta dietro all’applicazione.
La legge di Murphy colpisce anche le app
Observability e testing sono due tematiche che spesso vengono ancora percepite come inessenziali. Le ragioni sono molto spesso di budget, ma anche di valutazione: un’applicazione può funzionare anche senza rigorose attività di testing e monitoring, ma sarà più realisticamente soggetta a problematiche e disservizi.
Observability e QA possono tuttavia essere applicate su misura come abiti sartoriali. Anche con budget limitato si possono mettere in campo soluzioni efficaci, tenendo a mente tre linee guida principali:
- I test di performance, che verificano le prestazioni del sistema e l’utilizzo delle risorse a fronte del carico utente, sono importanti tanto quanto i test funzionali, che simulano scenari di utilizzo analoghi a quelli degli utenti finali.
- Eseguendo test in modo strutturato ed accurato prima di andare in produzione, è possibile ridurre in modo sensibile i disservizi ed i relativi impatti sul business.
- È fondamentale misurare l’availability e le performance delle applicazioni in ambiente di produzione tramite opportuni KPI, per avere sotto controllo il loro funzionamento e poter fornire ai team di sviluppo informazioni utili su eventuali ottimizzazioni e migliorie applicabili.
Conclusioni
Un approccio combinato di observability e quality assurance, dunque, punta a portare tutti gli stakeholder aziendali al tavolo decisionale, collegando le prestazioni dell’applicazione ai risultati di business, in modo che tutti gli attori coinvolti possano lavorare insieme e dare priorità a ciò che conta di più.
Cosa sistemare per primo, cosa ricostruire e cosa ottimizzare: attorno a queste decisioni graviteranno le strategie atte a preservare la fedeltà dei clienti e massimizzare le entrate del proprio digital business.
di Stefano Bertolin, Senior Manager, Observability & Quality Assurance e Marco Parrello, QA Service Manager di Kirey Group