Fault Injection Testing ti consente di eseguire esperimenti di inserimento di errori, un metodo per introdurre errori in un sistema per testarne la resilienza prima che causino un errore reale e inaspettato che influisce sui tuoi clienti. Con Fault Injection Testing, puoi inserire errori in vari componenti del tuo ambiente Google Cloud per assicurarti che la tua applicazione li gestisca in modo prevedibile.
Per la release iniziale di Fault Injection Testing, gli errori sono generalmente equivalenti a un errore della risorsa di destinazione. Questi errori dovrebbero attivare l'applicazione per reindirizzare il traffico alle istanze integre se hai progettato la tolleranza di errore nella tua applicazione.
Devi osservare la tua applicazione prima, durante e dopo l'inserimento dell'errore per verificare che l'applicazione lo abbia gestito come previsto.
Perché utilizzare Fault Injection Testing?
Fault Injection Testing ti consente di eseguire esperimenti sulla resilienza delle tue applicazioni in Google Cloud in un'ampia gamma di scenari di errore. Una parte fondamentale di questo spettro è l'esecuzione di esperimenti per approssimare Google Cloud le zone e le regioni che non funzionano, che sono difficili o impossibili da eseguire completamente in autonomia. Inoltre, Fault Injection Testing funge da prezioso strumento di sviluppo e miglioramento, consentendoti di eseguire esperimenti sui meccanismi di resilienza progettati prima di introdurli in un ambiente di produzione. Rilevare i problemi prima che si manifestino in produzione consente di migliorare più rapidamente i progetti, evita costosi tempi di inattività e perdite di reputazione e migliora l'esperienza complessiva.
Senza un prodotto di inserimento di errori nativo di Google Cloud, devi eseguire i tuoi esperimenti. Eseguire i propri esperimenti è problematico:Google Cloud è un ambiente condiviso e in molti casi potresti non avere accesso diretto ai servizi e all'infrastruttura sottostanti. Questo scenario può comportare un'attività di sperimentazione inadeguata e faticosa che potrebbe rivelarsi inefficace nel suo obiettivo di sperimentare correttamente la resilienza dell'applicazione. Fault Injection Testing ti aiuta a ridurre lo sforzo di automatizzare questi esperimenti, ti consente di accedere a modalità di errore a cui altrimenti non avresti accesso e migliora la fedeltà dei tuoi sforzi di sperimentazione.
Per i clienti regolamentati, l'esecuzione di esperimenti regolari è spesso un requisito per rimanere conformi agli enti che regolano il settore. In questi casi, l'esperimento spesso assume la forma di test di ripristino di emergenza, dimostrando che l'interruzione di una zona o di una regione non impedirà all'applicazione di continuare a funzionare in modo efficace.
Errori disponibili per gli esperimenti
Sono disponibili i seguenti guasti
- Failover di Cloud SQL: failover di un database da principale a standby.
- Degrade Application Traffic (Riduzione del traffico dell'applicazione) - simulazione della riduzione del traffico tramite un bilanciatore del carico di livello 7
Questi errori sono progettati per limitare l'ambito dell'esperimento alle risorse di un singolo progetto in una singola regione o in un ambito più ristretto. L'esperimento non influirà su un ambito più ampio di quello previsto. Tuttavia, questi errori causano guasti reali alle risorse di destinazione nel suo ambiente.
Se scegli come target componenti dell'infrastruttura come un database Cloud SQL o un bilanciamento del carico delle applicazioni, nonché altri componenti che verranno supportati in futuro, puoi approssimare in modo ragionevole un errore di zona o regione nel contesto della tua applicazione.
Come utilizzare Fault Injection Testing
Prima di utilizzare Fault Injection Testing, assicurati di quanto segue:
- Gli ambienti su cui eseguire gli esperimenti hanno una certa ridondanza. Quando viene inserito un errore, l'applicazione di questo ambiente può continuare a essere eseguita sull'infrastruttura ridondante.
- Per gli amministratori o i proprietari di Google Cloud risorse: scegli con attenzione a chi concedere le autorizzazioni per configurare ed eseguire esperimenti di Fault Injection Testing. Causare errori sui componenti dell'infrastruttura in esecuzione nel tuo ambiente Google Cloud causerà interruzioni. Pertanto, devi concedere l'autorizzazione solo agli operatori che comprendono l'architettura del loro ambiente cloud e come sperimentare in modo sicuro la resilienza di questa architettura, in modo che possano configurare gli esperimenti in modo da non causare interruzioni involontarie.
L'utilizzo di Fault Injection Testing prevede la configurazione di un esperimento. Per configurare un nuovo esperimento, devi prima creare un template di esperimento, che definisce l'errore da inserire e le risorse di destinazione. Poi eseguirai l'esperimento dal modello. Un esperimento è l'insieme di azioni definite nel modello che verranno eseguite sulle risorse selezionate nel modello.