Sviluppo remoto su AWS: da Cloud9 a VS Code
20 Novembre 2024 - 2 min. read
Alessio Gandini
Cloud-native Development Line Manager
A volte sembra che niente vada per il verso giusto, che in fondo non siamo in grado di far andare le cose come vorremmo e il mondo sembra girare attorno alla Legge di Murphy.
A me piace pensare che, invece, noi siamo fautori del nostro destino e che le cose accadono e si sistemano se abbiamo agito bene con tutto ciò che é sotto il nostro controllo.
Ad esempio, molti di coloro che vogliono trasformare il proprio business abbracciando l'era del Cloud incappano in modo ricorrente negli stessi anti-pattern che impediscono loro di gestire efficacemente le interruzioni, di ripristinare rapidamente i servizi o di mitigare gli impatti negativi sui propri clienti. In questi casi non è il destino che è avverso o l’avere scelto la tecnologia sbagliata, ma il motivo dell’insuccesso è la mancanza di una cultura aziendale improntata verso l'Eccellenza Operativa.
L'Eccellenza Operativa, infatti, si concentra sull'identificazione e sull'attuazione di pratiche e processi che massimizzano il valore per i nostri clienti riducendo allo stesso tempo sprechi, costi e inefficienze.
Questo vuol dire che oltre a progettare e implementare servizi resilienti dobbiamo anche tenere presente che gli stessi andranno manutenuti, modificati, ripristinati e migliorati.
Diventa, quindi, fondamentale sviluppare un approccio strutturato alle Operations.
L'eccellenza operativa si basa su alcuni pilastri fondamentali; la riduzione della possibilità di incorrere in errori umani è uno di quelli. Ciò si può ottenere cercando di automatizzare i processi, semplificando le procedure ed eliminando le attività non essenziali. Il Cloud ci ha reso piú facile raggiungere questo obiettivo in quanto è completamente programmabile. Le infrastrutture vengono definite tramite codice, diventano replicabili e idempotenti, i processi diventano automatici, deterministici e limitano l'errore umano.
L'efficienza, peró, non deve portarci ad abbassare l'asticella della qualitá. Mirare a prodotti o servizi di alta qualità, che soddisfino o superino le aspettative dei clienti, è un altro dei principi cardine. Ciò implica un controllo rigoroso della qualità, l'implementazione di pratiche di miglioramento continuo e la prevenzione di difetti o errori. Buona pratica è quella di progettare infrastrutture strutturate in componenti il piú possibile disaccoppiate, in modo che si riduca l'affinitá al guasto e che si operi su un componente senza inficiare il funzionamento degli altri. È importante introdurre modifiche piccole e regolari, per garantire aggiornamenti che, da un lato riducano la probabilità che si verifichino errori grossi e, dall'altro, permettano di adattarsi rapidamente ai cambiamenti delle condizioni di mercato aumentando in questo modo la fiducia dei nostri consumatori (o utenti).
Raggiunte efficienza e qualitá, bisogna concentrarsi sull'evoluzione. Serve capire come migliorare continuamente ciò che abbiamo fatto e come innovare tenendo sempre il focus sul cliente.
Plan-Do-Check-Act, anche conosciuto come Ciclo di Deming, è una procedura fondamentale per migliorare il modo in cui si opera, passando per l'analisi dei processi, la definizione di obiettivi sempre nuovi, l'attuazione di modifiche e la verifica dei risultati. L'identificazione delle lacune deve portare all'aggiornamento conseguente delle procedure operative di gestione e manutenzione delle infrastrutture.
Imparare dai propri errori è necessario per migliorare le procedure e documentandole al meglio. Per fare in modo che le lezioni imparate vengano diffuse fra le varie figure operative è utile creare simulazioni dei fallimenti. Questa pratica serve a testare la capacità di mitigazione e la comprensione dell'impatto degli scenari piú critici. Si possono impostare esercizi "pre-mortem" organizzando regolarmente giornate dedicate a giochi, basati su casi reali, al fine di condividere le pratiche ed educare i team.
Oltre a incrementare l'efficienza e l'efficacia dei processi interni, anche il prodotto deve modificarsi e cambiare, per adattarsi alle preferenze del mercato.
Il concetto di "fail fast" è spesso associato agli ambienti cloud e alle metodologie agili di sviluppo. "Fail fast" si traduce in "fallire velocemente" e sottolinea l'importanza di individuare e risolvere rapidamente i problemi o di testare nuove caratteristiche di prodotto minimizzando l'investimento. In questo modo è possibile innovare, testando e valutando le evoluzioni coinvolgendo porzioni del nostro pubblico. Per esempio, è utile selezionare bacini d'utenza con cui validare le nostre modifiche, confermarle o ripristinare la situazione precedente riducendo l’impatto. Creare, quindi, cicli brevi di sperimentazione per ottenere feedback rapidi è il modo più sicuro ed economico per innovare e orientare le nostre attività verso la soddisfazione del cliente.
Le performance delle Operations devono essere misurate per avere informazioni dettagliate sulle prestazioni, i processi, le risorse e altri aspetti del modello operativo. L'importanza degli "insight" risiede nel contributo diretto al miglioramento continuo, all'efficienza operativa e al successo complessivo dell'azienda.
Fondamentale é quindi definire dei KPI che ci aiutino a prendere decisioni informate e consapevoli.
Ad esempio, è utile la misurazione del tempo necessario a completare il processo (tempo di ciclo) e il tempo trascorso tra la richiesta del cliente e la consegna (lead time). Questi KPI forniscono insight sulla velocità e sulla prontezza dell'azienda nel soddisfare le esigenze del mercato.
Nel caso dello sviluppo di un software, il "cycle time" rappresenterebbe il tempo medio necessario per completare una singola user story o un task, dalla sua assegnazione fino alla sua consegna. Il "lead time" comprenderebbe il tempo totale trascorso dall'inizio della pianificazione di un progetto o di una release, fino alla consegna al cliente.
Anche capire come l'organizzazione gestisce gli imprevisti è fondamentale per la sicurezza e la resilienza. Per esempio si possono implementare insight relativi alla preparazione e alla prontezza alla risposta a situazioni di emergenza o di crisi.
In sintesi, gli insight per l'Operational Excellence guidano il miglioramento continuo, consentono l'adattamento alle esigenze del mercato e contribuiscono alla creazione di un'organizzazione più efficiente, resiliente e orientata al cliente.
L'Operational Excellence, con il suo focus sull'efficienza, la qualità e la continuità operativa, crea una base solida per le operazioni quotidiane, garantendo la massima resa e riducendo al minimo gli sprechi. L'Operational Excellence deve essere affiancata dall'Innovazione in modo sinergico, contribuendo significativamente al successo delle aziende.
Per essere competitivi in un ambiente in costante evoluzione, è necessario avere insight che permettano di comprendere le esigenze di mercato, i trend tecnologici ed i feedback degli utenti.
Una cultura organizzativa che valorizza l'eccellenza operativa e l'innovazione crea un ambiente propizio per l'adozione di nuove tecnologie, la sperimentazione e la collaborazione interfunzionale.
L'eccellenza operativa implementata nella maniera corretta ci porta dall'approccio "se qualcosa può andare male, andrà male" ad "aspettati il meglio, preparati al peggio" che ci fa capire bene l'importanza della pianificazione accurata, della preparazione e della consapevolezza delle sfide e al contempo invita a mantenere un'ottimistica aspettativa per il successo.
L'argomento è certamente più ampio di così. Scriveteci per discuterne ulteriormente!
Proud2beCloud è il blog di beSharp, APN Premier Consulting Partner italiano esperto nella progettazione, implementazione e gestione di infrastrutture Cloud complesse e servizi AWS avanzati. Prima di essere scrittori, siamo Solutions Architect che, dal 2007, lavorano quotidianamente con i servizi AWS. Siamo innovatori alla costante ricerca della soluzione più all'avanguardia per noi e per i nostri clienti. Su Proud2beCloud condividiamo regolarmente i nostri migliori spunti con chi come noi, per lavoro o per passione, lavora con il Cloud di AWS. Partecipa alla discussione!