Eccellenza operativa
Se si trasferiscono esclusivamente le risorse nel cloud, si sfrutta solo una piccola parte dei vantaggi che il cloud può offrire all'organizzazione. Oltre a sfruttare le funzionalità tecniche offerte dal cloud, è possibile anche migliorare le capacità operative. Il cloud, infatti, contribuisce a migliorare le capacità operative dell'organizzazione grazie a una maggiore flessibilità per gli sviluppatori e a una migliore visibilità sull'integrità e sulle prestazioni delle applicazioni.
In questa unità viene esaminato il principio fondamentale dell'eccellenza operativa.
Che cos'è l'eccellenza operativa?
L'eccellenza operativa consiste nell'avere la massima visibilità sull'esecuzione dell'applicazione e nel garantire la migliore esperienza possibile per gli utenti. Permette inoltre di rendere più agili le procedure di sviluppo e rilascio, offrendo all'azienda la possibilità di adattarsi rapidamente ai cambiamenti. Il miglioramento delle capacità operative garantisce cicli di sviluppo e rilascio più veloci e un'esperienza migliore per gli utenti dell'applicazione.
Per implementare l'eccellenza operativa nell'intera architettura, è possibile basarsi su diversi principi.
Progettare, creare e coordinare con l'impiego di procedure moderne
Le architetture moderne devono essere progettate considerando DevOps e l'integrazione continua. Un'architettura moderna consente di automatizzare le distribuzioni usando l'infrastruttura come codice, automatizzare i test delle applicazioni e creare nuovi ambienti in base alle esigenze. DevOps è un approccio tanto culturale quanto tecnico, ma può offrire molti vantaggi alle organizzazioni che scelgono di adottarlo.
È possibile inserire le procedure DevOps nell'organizzazione indipendentemente dal tipo di progetto che si sta gestendo. Non importa se il progetto è un'applicazione che usa contenitori e processi completi di integrazione continua e recapito continuo (CI/CD) oppure un'applicazione legacy per la quale si continua a fornire il supporto.
Un principio comune della metodologia DevOps è l'abbattimento dei silo in un'organizzazione. Un altro elemento importante è la collaborazione attiva in ogni fase di un progetto, inclusa la gestione delle modifiche. La creazione di una cultura di condivisione, collaborazione e trasparenza contribuisce a implementare l'eccellenza operativa nell'organizzazione.
Usare il monitoraggio e l'analisi per ottenere informazioni operative
Nell'architettura è necessario implementare un sistema completo di monitoraggio, registrazione e strumentazione. Creando un sistema efficace per il monitoraggio delle attività in esecuzione nell'architettura, è possibile venire a conoscenza di eventuali problemi prima che questi vengano riscontrati dagli utenti. Con un approccio completo al monitoraggio, è possibile identificare i problemi di prestazioni e le inefficienze in termini di costi, mettere in correlazione gli eventi e avere una maggiore capacità di risolvere i problemi.
A livello operativo, è importante implementare una solida strategia di monitoraggio. Il monitoraggio consente di identificare le aree degli sprechi, risolvere i problemi corrispondenti e ottimizzare le prestazioni dell'applicazione. È essenziale adottare un approccio multilivello. Raccogliendo i punti dati dai componenti a ogni livello, sarà possibile sapere quando i valori superano gli intervalli accettabili, nonché tenere traccia dei costi nel tempo.
Usare l'automazione per ridurre il lavoro necessario e gli errori
È consigliabile automatizzare l'architettura quanto più possibile. Il fattore umano è costoso e introduce dispendio di tempo ed errori nelle attività operative, con un conseguente aumento dei costi operativi. È possibile usare l'automazione per compilare, distribuire e amministrare le risorse. Automatizzando le attività più comuni, è possibile eliminare i ritardi dovuti all'attesa dell'intervento umano.
Test
È opportuno includere una fase di test nel processo di distribuzione dell'applicazione e nelle operazioni in esecuzione. Una valida strategia di test consente infatti di identificare eventuali problemi nell'applicazione prima che venga distribuita e garantire che i servizi dipendenti possano comunicare correttamente con l'applicazione.
Una strategia di test efficace consente anche di identificare i problemi di prestazioni e le potenziali vulnerabilità di sicurezza nelle distribuzioni di preproduzione e di produzione. Un piano di test affidabile consente di rilevare eventuali problemi con le distribuzioni dell'infrastruttura che possono compromettere l'esperienza degli utenti e contribuisce quindi a creare un'esperienza d'uso ottimale.