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 il tuo AWS FISesperimenti
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 throttling. 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 si ripercuotano sui 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
AWS FIScompie azioni reali su reali AWS risorse del tuo sistema. Pertanto, prima di iniziare a utilizzare AWS FISper 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 AWS FIS, procedi nel seguente modo:
-
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.
-
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 a AWS Well-Architected Framework.
-
Definizione del comportamento in stato stazionario: definisci il comportamento dello stato stazionario del sistema in termini di importanti metriche tecniche e aziendali, come latenza, caricamento, accessi non riusciti al minuto, numero di tentativi o velocità di CPU caricamento della pagina.
-
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
fault injection action
viene eseguito, ilbusiness or technical metric impact
non deve superarevalue
.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 AWS FISin 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 sul tuo AWS risorse per testare la vostra teoria sulle prestazioni di un'applicazione o di un sistema in condizioni di guasto.
Di seguito sono riportate le linee guida consigliate per pianificare AWS FISesperimenti.
-
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 sei nuovo AWS FISoppure non avete mai eseguito esperimenti di iniezione dei guasti prima d'ora, vi consigliamo di iniziare eseguendo esperimenti su un sistema di preproduzione o di test.
-
Consultate il vostro team: chiedete loro per cosa sono preoccupati. Puoi formulare un'ipotesi per dimostrare o confutare le loro preoccupazioni. Puoi anche chiedere al tuo team per cosa non è preoccupato. Questa domanda può rivelare due errori comuni: l'errore dei costi irrecuperabili 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 le metriche applicabili: puoi monitorare l'impatto di un esperimento sul tuo AWS risorse che utilizzano 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.