Pianifica i tuoi AWS esperimenti FIS - AWS Servizio di iniezione dei guasti

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

Pianifica i tuoi AWS esperimenti FIS

L'iniezione di guasti è il processo di stress di un'applicazione in ambienti di test o di produzione creando eventi dirompenti, come interruzioni del server o limitazione delle API. Osservando la risposta del sistema, è possibile quindi implementare miglioramenti. L'esecuzione di esperimenti sul sistema può aiutarvi a identificare i punti deboli del sistema in modo controllato, prima che tali debolezze colpiscano i clienti che dipendono dal sistema. È quindi possibile risolvere i problemi in modo proattivo per evitare esiti imprevedibili.

Prima di iniziare a eseguire esperimenti di iniezione dei guasti utilizzando AWS FIS, si consiglia di acquisire familiarità con i seguenti principi e linee guida.

Importante

AWSFIS esegue azioni reali su AWS risorse reali del sistema. Pertanto, prima di iniziare a utilizzare AWS FIS per eseguire esperimenti, consigliamo vivamente di completare prima una fase di pianificazione e un test in un ambiente di preproduzione o di test.

Principi e linee guida di base

Prima di iniziare gli esperimenti con la AWS FIS, procedi nel seguente modo:

  1. Identifica la distribuzione di destinazione per l'esperimento: inizia identificando la distribuzione di destinazione. Se questo è il tuo primo esperimento, ti consigliamo di iniziare in un ambiente di pre-produzione o di test.

  2. Esamina l'architettura dell'applicazione: devi assicurarti di aver identificato tutti i componenti dell'applicazione, le dipendenze e le procedure di ripristino per ciascun componente. Iniziate con la revisione dell'architettura dell'applicazione. A seconda dell'applicazione, fare riferimento al AWSWell-Architected Framework.

  3. Definisci il comportamento dello stato stazionario: definisci il comportamento dello stato stazionario del sistema in termini di importanti metriche tecniche e aziendali, come latenza, carico della CPU, accessi non riusciti al minuto, numero di tentativi o velocità di caricamento della pagina.

  4. Formulare un'ipotesi: formulare un'ipotesi su come si prevede che il comportamento del sistema cambi durante l'esperimento. La definizione di un'ipotesi segue questo formato:

    Se viene eseguita un'azione di iniezione dei guasti, l'impatto metrico aziendale o tecnico non deve superare il valore.

    Ad esempio, un'ipotesi per un servizio di autenticazione potrebbe essere la seguente: «Se la latenza di rete aumenta del 10%, si verifica un aumento inferiore all'1% degli errori di accesso». Una volta completato l'esperimento, si valuta se la resilienza dell'applicazione è in linea con le aspettative aziendali e tecniche.

Consigliamo inoltre di seguire queste linee guida quando si lavora con AWS FIS:

  • Inizia sempre a sperimentare con il AWS FIS in un ambiente di test. Non iniziare mai con un ambiente di produzione. Man mano che avanzate negli esperimenti di iniezione dei guasti, potete sperimentare in altri ambienti controllati oltre all'ambiente di test.

  • Rafforza la fiducia del tuo team nella resilienza delle tue applicazioni iniziando con piccoli e semplici esperimenti, come l'esecuzione dell'azione aws:ec2:stop-instances su un obiettivo.

  • L'iniezione dei guasti può causare problemi reali. Procedete con cautela e assicuratevi che le prime iniezioni avvengano su base sperimentale, in modo che nessun cliente ne risenta.

  • Testate, testate e testate ancora. L'iniezione dei guasti è pensata per essere implementata in un ambiente controllato con esperimenti ben pianificati. Ciò consente di acquisire fiducia nelle capacità dell'applicazione e degli strumenti di resistere a condizioni turbolente.

  • Ti consigliamo vivamente di disporre di un eccellente programma di monitoraggio e avviso prima di iniziare. Senza di esso, non sarete in grado di comprendere o misurare l'impatto dei vostri esperimenti, il che è fondamentale per pratiche sostenibili di iniezione dei guasti.

Linee guida sulla pianificazione degli esperimenti

Con AWS FIS, esegui esperimenti sulle tue AWS risorse per testare la tua teoria sulle prestazioni di un'applicazione o di un sistema in condizioni di guasto.

Di seguito sono riportate le linee guida consigliate per pianificare gli esperimenti AWS FIS.

  • Rivedi la cronologia delle interruzioni: rivedi le interruzioni e gli eventi precedenti del tuo sistema. Questo può aiutarvi a costruire un quadro dello stato generale e della resilienza del sistema. Prima di iniziare a eseguire esperimenti sul sistema, è necessario risolvere i problemi e i punti deboli noti del sistema.

  • Identifica i servizi con il maggiore impatto: esamina i tuoi servizi e identifica quelli che hanno il maggiore impatto sugli utenti finali o sui clienti in caso di guasto o non funzionano correttamente.

  • Identifica il sistema di destinazione: il sistema di destinazione è il sistema su cui eseguirai gli esperimenti. Se non conoscete la AWS FIS o non avete mai eseguito esperimenti di fault injection prima d'ora, vi consigliamo di iniziare eseguendo esperimenti su un sistema di preproduzione o di test.

  • Consultate il vostro team: chiedete cosa li preoccupa. Puoi formulare un'ipotesi per dimostrare o confutare le loro preoccupazioni. Puoi anche chiedere al tuo team perché non è preoccupato. Questa domanda può rivelare due errori comuni: l'errore del costo irrecuperabile e l'errore della propensione alla conferma. La formulazione di un'ipotesi basata sulle risposte del team può contribuire a fornire maggiori informazioni sulla realtà dello stato del sistema.

  • Esamina l'architettura dell'applicazione: esegui un'analisi del sistema o dell'applicazione e assicurati di aver identificato tutti i componenti dell'applicazione, le dipendenze e le procedure di ripristino per ogni componente.

    Ti consigliamo di esaminare il AWS Well-Architected Framework. Il framework può aiutarti a creare un'infrastruttura sicura, ad alte prestazioni, resiliente ed efficiente per le tue applicazioni e i tuoi carichi di lavoro. Per ulteriori informazioni, consulta AWS Well-Architected.

  • Identifica i parametri applicabili: puoi monitorare l'impatto di un esperimento sulle tue AWS risorse utilizzando i CloudWatch parametri di Amazon. Puoi utilizzare questi parametri per determinare la linea di base o lo «stato stazionario» quando l'applicazione funziona in modo ottimale. Quindi, puoi monitorare queste metriche durante o dopo l'esperimento per determinarne l'impatto. Per ulteriori informazioni, consulta Monitora le metriche di utilizzoAWS FIS con Amazon CloudWatch.

  • Definisci una soglia di prestazioni accettabile per il tuo sistema: identifica la metrica che rappresenta uno stato stabile e accettabile per il tuo sistema. Utilizzerai questa metrica per creare uno o più CloudWatch allarmi che rappresentano una condizione di interruzione dell'esperimento. Se l'allarme viene attivato, l'esperimento viene interrotto automaticamente. Per ulteriori informazioni, consulta Condizioni di arresto per la AWS FIS.