Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Framework del ciclo di vita della resilienza: un approccio continuo al miglioramento della resilienza
Amazon Web Services (collaboratori)
Ottobre 2023 (cronologia del documento)
Le organizzazioni moderne oggi affrontano un numero sempre crescente di sfide legate alla resilienza, soprattutto perché le aspettative dei clienti si spostano verso una mentalità sempre attiva e sempre disponibile. I team remoti e le applicazioni complesse e distribuite si accompagnano a una crescente necessità di rilasci frequenti. Di conseguenza, un'organizzazione e le sue applicazioni devono essere più resilienti che mai.
AWS definisce la resilienza come la capacità di un'applicazione di resistere o riprendersi da interruzioni, comprese quelle relative all'infrastruttura, ai servizi dipendenti, alle configurazioni errate e ai problemi transitori della rete. (Vedi Resilienza e i componenti dell'affidabilità nella documentazione AWS Well-Architected Framework Reliability Pillar.) Tuttavia, per raggiungere il livello di resilienza desiderato, spesso sono necessari dei compromessi. La complessità operativa, la complessità ingegneristica e i costi dovranno essere valutati e adattati di conseguenza.
Sulla base di anni di collaborazione con clienti e team interni, AWS ha sviluppato un framework per il ciclo di vita della resilienza che raccoglie gli insegnamenti e le migliori pratiche in materia di resilienza. Il framework delinea cinque fasi chiave illustrate nel diagramma seguente. In ogni fase è possibile utilizzare strategie, servizi e meccanismi per migliorare la propria posizione di resilienza.
Queste fasi sono illustrate nelle seguenti sezioni di questa guida:
Termini e definizioni
I concetti di resilienza di ogni fase vengono applicati a diversi livelli, dai singoli componenti a interi sistemi. L'implementazione di questi concetti richiede una chiara definizione di diversi termini:
-
Un componente è un elemento che svolge una funzione e consiste in risorse software e tecnologiche. Esempi di componenti includono la configurazione del codice, l'infrastruttura come la rete o persino i server, gli archivi dati e le dipendenze esterne come i dispositivi di autenticazione a più fattori (MFA).
-
Un'applicazione è una raccolta di componenti che offre valore aziendale, come una vetrina web rivolta ai clienti o il processo di backend che migliora i modelli di machine learning. Un'applicazione può essere costituita da un sottoinsieme di componenti in un unico AWS account oppure può essere una raccolta di più componenti che si estendono su più regioni. Account AWS
-
Un sistema è un insieme di applicazioni, persone e processi necessari per gestire una determinata funzione aziendale. Comprende l'applicazione necessaria per eseguire una funzione, i processi operativi come l'integrazione continua e la distribuzione continua (CI/CD), l'osservabilità, la gestione della configurazione, la risposta agli incidenti e il disaster recovery e gli operatori che gestiscono tali attività.
-
Un'interruzione è un evento che impedisce all'applicazione di svolgere correttamente le proprie funzioni aziendali.
-
La compromissione è l'effetto che un'interruzione ha su un'applicazione se non viene mitigata. Le applicazioni possono essere compromesse se subiscono una serie di interruzioni.
Resilienza continua
Il ciclo di vita della resilienza è un processo continuo. Anche all'interno della stessa organizzazione, i team addetti alle applicazioni potrebbero operare a diversi livelli di completezza in ogni fase, a seconda dei requisiti dell'applicazione. Tuttavia, più ogni fase è completa, maggiore sarà il livello di resilienza dell'applicazione.
È necessario considerare il ciclo di vita della resilienza come un processo standard che l'organizzazione può rendere operativo. AWS ha intenzionalmente modellato il ciclo di vita della resilienza in modo che sia simile al ciclo di vita dello sviluppo del software (SDLC), con l'obiettivo di incorporare pianificazione, test e apprendimento in tutti i processi operativi durante lo sviluppo e il funzionamento delle applicazioni. Come per molti processi di sviluppo agili, il ciclo di vita della resilienza può essere ripetuto ad ogni iterazione del processo di sviluppo. Ti consigliamo di approfondire le pratiche all'interno di ogni fase del ciclo di vita progressivamente nel tempo.