View a markdown version of this page

Scalare l'ingegneria del caos in tutta l'organizzazione - AWS Guida prescrittiva

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à.

Scalare l'ingegneria del caos in tutta l'organizzazione

Man mano che l'organizzazione adotta l'ingegneria del caos, la sua standardizzazione e implementazione presenteranno delle sfide. Nelle fasi iniziali della maturità, è probabile che team diversi utilizzino strumenti e varianti diversi del processo di ingegneria del caos descritto nelle sezioni precedenti. Allo stesso tempo, alcuni team potrebbero non dare priorità o adottare affatto l'ingegneria del caos, nonostante i suoi potenziali vantaggi. Le sezioni seguenti forniscono indicazioni su come superare queste sfide.

Nel complesso, il vostro approccio all'ingegneria del caos dovrebbe essere progettato per trovare un equilibrio tra leadership centralizzata e partecipazione decentralizzata. Questo equilibrio aiuta a garantire che l'ingegneria del caos sia integrata nel processo di sviluppo e che le conoscenze acquisite siano condivise all'interno dell'organizzazione.

Istituire una pratica di ingegneria del caos

La standardizzazione della pratica dell'ingegneria del caos può accelerarne l'adozione. La condivisione degli insegnamenti tratti dagli esperimenti tra i team può aumentare il ritorno sugli investimenti nell'ingegneria del caos.

Costruisci un centro di eccellenza centralizzato o riunisci un gruppo di esperti in materia, come parte della tua pratica di ingegneria del caos. Essendo una piccola funzione centralizzata, questo team può operare tra team di sviluppo software, infrastruttura, sicurezza e business e mantenere gli standard utilizzati da tali team. Per semplicità, il centro di eccellenza è denominato team di pratica centralizzato e i gruppi che applicano l'ingegneria del caos sono chiamati team di pratica nel resto di questa guida.

Ruolo del team di studio centralizzato

Il team di studio centralizzato è responsabile dello sviluppo e dell'implementazione di pratiche di ingegneria del caos in tutta l'organizzazione. Lavorano a stretto contatto con i team di pratica per guidarli nella progettazione e nella conduzione di esperimenti e garantire che gli esperimenti siano preziosi per l'azienda. Il team di pratica centralizzato fornisce inoltre indicazioni e supporto ai team di sviluppo, infrastruttura e sicurezza per aiutarli a integrare l'ingegneria del caos nei loro processi di sviluppo.

Le responsabilità principali di un team di studio centralizzato di ingegneria del caos includono quanto segue:

  • Abilitazione: una funzione centralizzata di ingegneria del caos funge da facilitatore per introdurre la pratica dell'ingegneria del caos attraverso giornate di gioco e workshop. Guidano i team nel processo di ingegneria del caos, inclusa la selezione degli scenari di fallimento, la definizione di ipotesi e la produzione di report da condividere con l'intera organizzazione. Il team di studio centralizzato dovrebbe possedere i materiali di formazione e lavorare per migliorare le competenze dei team di pratica nell'uso dell'ingegneria del caos.

  • Consulenza: il team di pratica centralizzato può anche svolgere un ruolo consultivo per supervisionare gli esperimenti condotti dai team di pratica. La loro esperienza e conoscenza possono garantire che gli esperimenti apportino valore all'azienda e siano condotti in modo sicuro. Allo stesso modo, il team può supervisionare l'esecuzione e il resoconto di un esperimento per guidare chi è alle prime armi nell'ingegneria del caos.

  • Marketing e monitoraggio del valore: comunicare il valore aziendale dell'ingegneria del caos è fondamentale per il successo di un programma di questo tipo. Ogni team che partecipa a esperimenti di ingegneria del caos deve raccogliere dati dagli esperimenti condotti in tutta l'azienda e dimostrare il valore dell'investimento dell'organizzazione nell'ingegneria del caos. Ciò include la quantificazione e la celebrazione del numero di incidenti evitati durante ogni esperimento, dei tempi di inattività che si sarebbero verificati se l'esperimento fosse fallito e dell'impatto complessivo sull'azienda se gli scenari di fallimento si fossero verificati durante la produzione. Raccogliendo e centralizzando tali dati provenienti da tutti i team e rendendoli disponibili in tutta l'organizzazione, il team addetto allo studio centralizzato può tracciare e influenzare il valore derivante dall'adozione dell'ingegneria del caos in tutta l'organizzazione.

  • Standard: il team di pratica centralizzato dovrebbe gestire e gestire il processo di conduzione degli esperimenti sul caos, i modelli per la pianificazione e la rendicontazione degli esperimenti e gli strumenti utilizzati per condurre gli esperimenti.

    Il team centrale dovrebbe possedere e gestire i modelli di pianificazione degli esperimenti, i modelli di report sugli esperimenti, la documentazione dei processi e i materiali di abilitazione. La documentazione sulle migliori pratiche e i materiali di abilitazione forniscono indicazioni ai team esperti su argomenti quali i guardrail da utilizzare per limitare l'impatto di un esperimento, quando condurre un esperimento in produzione e come far evolvere nel tempo l'uso dell'ingegneria del caos. Per esempi di modelli e output, consulta l'appendice.

    Il team di studio centralizzato dovrebbe inoltre essere responsabile del processo di conduzione di un esperimento, comprese le comunicazioni e l'escalation, e quando e come comunicare con gli altri team dell'organizzazione prima o durante un esperimento. Il processo dovrebbe inoltre indicare quando sono necessari dei guardrail.

    Il team di pratica centralizzato dovrebbe inoltre selezionare e possedere gli strumenti principali per condurre esperimenti sul caos (ad esempio, strumenti come). AWS FIS La scelta e l'implementazione di strumenti supplementari, come gli strumenti per la generazione del carico, dovrebbero essere lasciate alla decisione dei team di pratica. I team di professionisti dovrebbero essere in grado di adattare il processo e gli strumenti complessivi per soddisfare al meglio le proprie esigenze.

Ruolo delle squadre di allenamento

Il team centralizzato è responsabile della definizione della strategia generale di ingegneria del caos, mentre i team addetti alla pratica partecipano al processo e sono i responsabili dello sviluppo e dell'esecuzione degli esperimenti. Ciò contribuisce a garantire che gli esperimenti siano pertinenti a ogni prodotto o servizio specifico e che le conoscenze acquisite siano utilizzabili e possano essere applicate per migliorare l'affidabilità e la resilienza del prodotto. Il team di studio centralizzato funge da mentore e proprietario degli standard e dei processi di ingegneria del caos dell'organizzazione. Tuttavia, per evitare che il team centralizzato diventi un collo di bottiglia, i singoli team di allenamento dovranno imparare dalla pratica centrale per eseguire autonomamente esperimenti sul caos.

Creazione di una comunità di pratica

Oltre a creare un team centralizzato, ti consigliamo di creare una comunità informale di professionisti interessati all'ingegneria del caos. Questa community offre una piattaforma per condividere conoscenze, best practice ed esperienze tra i team di pratica e l'organizzazione in generale.

La comunità di pratica può essere gestita dal team di studio centralizzato di Chaos Engineering, ma chiunque all'interno dell'organizzazione può diventare membro della comunità. Il team centralizzato può sfruttare la comunità di pratica per trasmettere aggiornamenti e reperire informazioni utili e raccogliere feedback dai team di pratica che utilizzano gli standard e i processi gestiti dal team centralizzato. La community fungerà da circuito di feedback per informare il team centralizzato sull'efficacia delle pratiche di ingegneria del caos tra i team di pratica. Il team di studio centralizzato può quindi modificare la documentazione e gli elementi di supporto per supportare al meglio i team di prodotto.

Incorporare l'ingegneria del caos nella resilienza operativa

Un esperimento basato sul caos è un investimento da parte dell'azienda per prevenire incidenti durante la produzione. Sarà necessario determinare dove l'azienda può ottenere il massimo ritorno su questo investimento. L'organizzazione può collaborare con il team dello studio di ingegneria del caos centralizzato per aggiornare i propri standard e determinare quali prodotti sono sufficientemente critici da richiedere la sperimentazione del caos.

Processo di sviluppo dei sistemi

L'ingegneria del caos e gli esperimenti sul caos devono essere eseguiti ripetutamente come parte del ciclo di vita di un'applicazione. Allo stesso modo in cui i team eseguono regolarmente i test di disaster recovery, dovrebbero condurre esperimenti sul caos e giornate di gioco in modo continuativo e periodico durante tutto l'anno. Questo approccio migliora il modo in cui un'organizzazione prevede, osserva e risponde agli incidenti.