Share via


Che cos'è Azure Chaos Studio?

Azure Chaos Studio è un servizio gestito che usa l'ingegneria chaos per aiutare a misurare, comprendere e migliorare la resilienza dell'applicazione cloud e del servizio. La progettazione di Chaos è una metodologia in base alla quale inserire errori reali nell'applicazione per eseguire esperimenti di inserimento degli errori controllati.

La resilienza è la capacità di un sistema di gestire e ripristinare le interruzioni. Le interruzioni dell'applicazione possono causare errori e errori che possono influire negativamente sull'azienda o sulla missione. Sia che si sviluppino, esegrano o funzionino applicazioni Azure, è importante convalidare e migliorare la resilienza dell'applicazione.

Chaos Studio consente di evitare conseguenze negative convalidando che l'applicazione risponda in modo efficace alle interruzioni e agli errori. È possibile usare Chaos Studio per testare la resilienza contro eventi imprevisti reali, ad esempio interruzioni o utilizzo elevato della CPU nelle macchine virtuali.

Il video seguente offre altre informazioni generali su Chaos Studio:

Scenari di Chaos Studio

È possibile usare chaos engineering per vari scenari di convalida della resilienza che riguardano il ciclo di vita dello sviluppo e delle operazioni del servizio. Esistono due tipi di scenari:

  • Sposta a destra: questi scenari usano un ambiente di produzione o di preproduzione. In genere, si eseguono scenari a destra con traffico reale dei clienti o carico simulato.
  • Sposta a sinistra: questi scenari possono usare un ambiente di sviluppo o di test condiviso. È possibile eseguire scenari di spostamento a sinistra senza traffico reale dei clienti.

È possibile usare Chaos Studio per gli scenari comuni di progettazione chaos seguenti:

  • Riprodurre un evento imprevisto che ha interessato l'applicazione per comprendere meglio l'errore. Assicurarsi che le riparazioni post-evento imprevisto impediscano che l'evento imprevisto venga ricorrente.
  • Prepararsi per un evento o una stagione importante con il carico "giorno del gioco", la scalabilità, le prestazioni e la convalida della resilienza.
  • Eseguire esercitazioni sulla continuità aziendale e sul ripristino di emergenza per garantire che l'applicazione possa ripristinare rapidamente e conservare i dati critici in un'emergenza.
  • Eseguire esercitazioni sulla disponibilità elevata per testare la resilienza dell'applicazione in caso di interruzioni dell'area, errori di configurazione della rete, eventi di stress elevato o problemi di prossimità rumorosi.
  • Sviluppare benchmark delle prestazioni dell'applicazione.
  • Pianificare le esigenze di capacità per gli ambienti di produzione.
  • Eseguire test di stress o test di carico.
  • Assicurarsi che i servizi migrati da un ambiente locale o un altro ambiente cloud rimangano resilienti agli errori noti.
  • Creare fiducia nei servizi basati su architetture native del cloud.
  • Verificare che gli strumenti del sito live, i dati di osservabilità e i processi su chiamata funzionino ancora in condizioni impreviste.

Per molti di questi scenari, è prima necessario creare resilienza usando esperimenti chaos ad hoc. Si verifica quindi continuamente che le nuove distribuzioni non regrediranno la resilienza. Per verificare, eseguire esperimenti chaos come controlli di distribuzione nelle pipeline di integrazione continua/distribuzione continua.

Funzionamento di Chaos Studio

Con Chaos Studio è possibile orchestrare l'inserimento di errori sicuro e controllato nelle risorse di Azure. Gli esperimenti chaos sono il nucleo di Chaos Studio. Un esperimento chaos descrive gli errori da eseguire e le risorse da eseguire. È possibile organizzare gli errori da eseguire in parallelo o in sequenza, a seconda delle esigenze.

Chaos Studio supporta due tipi di errori:

  • Service-direct: questi errori vengono eseguiti direttamente su una risorsa di Azure, senza alcuna installazione o strumentazione. Ad esempio, il riavvio di un cluster cache di Azure per Redis o l'aggiunta della latenza di rete ai pod servizio Azure Kubernetes.
  • Basato su agente: questi errori vengono eseguiti in macchine virtuali o set di scalabilità di macchine virtuali per eseguire errori in guest. Ad esempio, l'applicazione di una pressione di memoria virtuale o l'eliminazione di un processo.

Ogni errore include parametri specifici che è possibile configurare, ad esempio il processo da terminare o la quantità di memoria da generare.

Quando si compila un esperimento chaos, si definiscono uno o più passaggi che vengono eseguiti in sequenza. Ogni passaggio contiene uno o più rami eseguiti in parallelo all'interno del passaggio. Ogni ramo contiene una o più azioni, ad esempio l'inserimento di un errore o l'attesa di una determinata durata.

È possibile organizzare le destinazioni delle risorse per eseguire errori in gruppi denominati selettori in modo da poter fare facilmente riferimento a un gruppo di risorse in ogni azione.

Il diagramma seguente illustra il layout di un esperimento chaos in Chaos Studio:

Diagram that shows the layout of a chaos experiment.

Un esperimento chaos è una risorsa di Azure in una sottoscrizione e in un gruppo di risorse. È possibile usare il portale di Azure o l'API REST di Chaos Studio per creare, aggiornare, avviare, annullare e visualizzare lo stato degli esperimenti.

Passaggi successivi

Ora che si è appreso come usare l'ingegneria del caos, si è pronti per: