Partager via


Expériences de chaos

Dans Azure Chaos Studio, vous créez et exécutez des expériences de chaos. Une expérience de chaos est une ressource Azure qui décrit les erreurs qui doivent être exécutées et les ressources sur lesquelles ces erreurs doivent être exécutées.

Un expérience est divisée en deux sections :

  • Sélecteurs : les sélecteurs sont des groupes de ressources cibles qui font l’objet d’erreurs ou d’autres actions. Un sélecteur vous permet de regrouper logiquement des ressources pour les réutiliser sur plusieurs actions.

    Par exemple, vous pouvez avoir un sélecteur nommé AllNonProdEastUSVMs dans lequel vous avez ajouté toutes les machines virtuelles hors production de la région USA Est. Vous pouvez ensuite appliquer une sollicitation du processeur suivie d’une sollicitation de la mémoire virtuelle à ces machines virtuelles en référençant le sélecteur.

  • Logique : le reste de l’expérience décrit comment et quand exécuter les erreurs. Une expérience est organisée en étapes qui s’exécutent l’une après l’autre. Chaque étape a une ou plusieurs branches qui s’exécutent en même temps. Les étapes et les branches vous permettent d’injecter plusieurs erreurs sur les ressources de votre environnement en parallèle.

    Chaque branche comporte une ou plusieurs actions qui sont soit les erreurs que vous souhaitez exécuter, soit des délais. Les erreurs sont des actions qui provoquent une interruption. La plupart des erreurs prennent un ou plusieurs paramètres, tels que la durée d’exécution de l’erreur ou la quantité de contrainte à appliquer.

Diagramme montrant la disposition d’une expérience de chaos.

Expériences inter-abonnements et inter-locataires

Une expérience de chaos est une ressource Azure déployée sur un abonnement, un groupe de ressources et une région. Vous pouvez utiliser le Portail Azure ou l’API REST de Chaos Studio pour créer, mettre à jour, démarrer, annuler et afficher l’état d’une expérience.

Les expériences de chaos peuvent cibler des ressources dans un abonnement différent de l’expérience si l’abonnement se trouve dans le même locataire Azure. Les expériences de chaos peuvent cibler des ressources dans une région différente de celle de l’expérience si la région est prise en charge par Chaos Studio.

Documentation des expériences de chaos

Vous pouvez suivre et modifier plusieurs aspects clés de votre processus d’expérimentation de chaos au fil du temps. Une approche consiste à utiliser des éléments de travail dans Azure Boards ou dans GitHub Projects. En créant des éléments de travail dédiés pour chaque expérience, vous pouvez suivre les détails, la progression et les résultats de vos expériences de manière structurée. Cette documentation peut inclure des informations telles que l’objectif de l’expérience, les résultats attendus, les étapes suivies, les ressources impliquées ainsi que les observations ou enseignements tirés de l’expérience.

Élément Détails
Hypothèse Définir l’objectif et les résultats attendus de l’expérience
Étendue cible Identifiez la partie du système qui sera soumise à des expériences de chaos (par exemple : réseau, base de données, couche d’application).
Durée Spécifiez le délai d’exécution de l’expérience de chaos.
Cible Déterminez les cibles ou composants spécifiques au sein du système.
Environnement Définissez si l’expérience sera réalisée dans un environnement de production, de préproduction ou de développement.
Observations Enregistrez les données ou comportements éventuellement observés pendant l’expérience.
Résultats Résumez les découvertes et les résultats de l’expérience.
Éléments d’action Listez les éléments d’action ou les étapes à effectuer en fonction des résultats.

L’hypothèse est un aspect crucial d’une expérience de chaos, car elle définit l’objectif et les résultats attendus de l’expérience. Elle permet de tester la capacité du système à gérer efficacement des perturbations inattendues. En formulant une hypothèse claire, vous pouvez concentrer votre expérience sur des zones spécifiques du système et collecter des données explicites pour évaluer sa résilience. En tirant profit des fonctionnalités d’Azure Boards ou de GitHub Projects, vous pouvez collaborer avec votre équipe, attribuer des tâches, définir des échéances et suivre la progression globale de vos initiatives d’ingénierie du chaos.

Étapes suivantes

Maintenant que vous comprenez ce qu’est une expérience de chaos, vous êtes prêt à :