Célébration d'une année de Chaos Mesh : Rétrospective et perspectives
Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

Cela fait un an que Chaos Mesh a été open-sourcé sur GitHub. Initialement simple outil d'injection de fautes, Chaos Mesh évolue désormais vers la construction d'un écosystème d'ingénierie du chaos. Parallèlement, la communauté Chaos Mesh s'est constituée de zéro et a permis à Chaos Mesh de rejoindre la CNCF en tant que projet Sandbox.
Dans cet article, nous partageons avec vous l'évolution de Chaos Mesh au cours de l'année écoulée et discutons de ses objectifs et plans futurs.
Le projet : prospérer avec un objectif clair
Cette année, Chaos Mesh a connu une croissance impressionnante grâce aux efforts conjoints de la communauté. De la première version à la récente v1.1.0, Chaos Mesh a considérablement progressé en fonctionnalités, simplicité d'utilisation et sécurité.
Fonctionnalités
Lors de son open-sourcing initial, Chaos Mesh ne prenait en charge que trois types de fautes : PodChaos, NetworkChaos et IOChaos. En seulement un an, il permet désormais des injections de fautes complètes sur le réseau, l'horloge système, les applications JVM, les systèmes de fichiers, les systèmes d'exploitation et bien plus.

Après optimisation continue, Chaos Mesh offre désormais un mécanisme de planification flexible permettant aux utilisateurs de concevoir plus efficacement leurs expériences de chaos. Ceci a jeté les bases de l'orchestration du chaos.
Nous constatons avec plaisir que de nombreux utilisateurs ont commencé à tester Chaos Mesh sur les principales plateformes cloud comme AWS, GKE, Alibaba Cloud et Tencent Cloud. Nous avons mené des tests de compatibilité et adaptations continus pour prendre en charge l'injection de fautes sur des plateformes cloud spécifiques.
Pour mieux supporter les composants natifs Kubernetes et les pannes au niveau des nœuds, nous avons développé Chaosd qui fournit des injections de fautes au niveau physique des nœuds. Nous testons et affinons intensivement cette fonctionnalité pour une sortie dans les prochains mois.
Simplicité d'utilisation
La simplicité d'utilisation guide Chaos Mesh depuis ses débuts. Vous pouvez le déployer via une simple commande. La version V1.0 a introduit le très attendu Chaos Dashboard, une interface web complète pour orchestrer des expériences de chaos. Vous y définissez le périmètre des expériences, spécifiez le type d'injection, établissez des règles de planification et observez les résultats - le tout en quelques clics dans une seule interface.

Avant V1.0, de nombreux utilisateurs signalaient des blocages liés à la configuration des fautes IOChaos. Après analyse approfondie, nous avons abandonné l'implémentation SideCar initiale au profit de chaos-daemon, qui envahit dynamiquement le Pod cible, simplifiant radicalement la logique. Cette optimisation permet désormais des injections dynamiques de fautes E/S sans configuration supplémentaire, libérant les utilisateurs pour leurs expérimentations.
Sécurité
Nous avons renforcé la sécurité de Chaos Mesh. La plateforme propose désormais un ensemble complet de sélecteurs pour contrôler la portée des expériences, et permet de définir des espaces de noms spécifiques pour protéger les applications critiques. De plus, la gestion des permissions par espace de noms permet aux utilisateurs de limiter le "rayon d'impact" d'une expérience de chaos à un espace de noms particulier.
Par ailleurs, Chaos Mesh réutilise directement le mécanisme de permissions natif de Kubernetes et prend en charge la vérification dans le Chaos Dashboard. Cela vous protège des erreurs d'autres utilisateurs qui pourraient entraîner l'échec ou la perte de contrôle des expériences de chaos.
Écosystème cloud native : intégrations et collaborations
En juillet 2020, Chaos Mesh a été officiellement accepté comme projet Sandbox de la CNCF. Cela démontre que Chaos Mesh a reçu une première reconnaissance de la communauté cloud native. Cela signifie aussi que Chaos Mesh a désormais une mission claire : promouvoir l'application de l'ingénierie du chaos dans le domaine cloud native et coopérer avec d'autres projets cloud native pour grandir ensemble.
Grafana
Pour améliorer l'observabilité des expériences de chaos, nous avons développé un plugin Grafana dédié à Chaos Mesh, permettant d'afficher directement les informations des expériences en temps réel sur les tableaux de bord de surveillance applicative. Ainsi, les utilisateurs peuvent observer simultanément l'état d'exécution de l'application et les informations de l'expérience de chaos en cours.
GitHub Action
Pour permettre l'exécution d'expériences de chaos dès la phase de développement, nous avons créé le projet chaos-mesh-action, permettant d'intégrer Chaos Mesh dans les workflows GitHub Actions. Cette intégration facilite l'incorporation de Chaos Mesh dans les cycles quotidiens de développement et de tests système.
TiPocket
TiPocket est une plateforme de tests automatisés intégrant Chaos Mesh et Argo, un moteur de workflow conçu pour Kubernetes. TiPocket vise à créer une boucle de test d'ingénierie du chaos entièrement automatisée pour TiDB, une base de données distribuée. Les expériences de chaos impliquent plusieurs étapes : déploiement d'applications, exécution de charges, injection d'exceptions et vérifications métier. Pour automatiser complètement ces étapes, Argo a été intégré à TiPocket. Chaos Mesh fournit l'injection de fautes riche tandis qu'Argo offre l'orchestration et la planification flexibles.

La communauté : construite sur des bases solides
Chaos Mesh est un projet porté par sa communauté, qui ne peut progresser sans un écosystème actif, accueillant et ouvert. Depuis son open-sourcing, Chaos Mesh est rapidement devenu l'un des projets open source les plus remarqués dans l'ingénierie du chaos. En un an, il a accumulé plus de 3k stars sur GitHub et 70+ contributeurs. Parmi ses utilisateurs figurent Tencent Cloud, XPeng Motors, Dailymotion, NetEase Fuxi Lab, JuiceFS, APISIX et Meituan. En retraçant cette première année, la communauté Chaos Mesh s'est construite sur des bases solides, jetant les fondations d'un écosystème open source transparent, ouvert, bienveillant et autonome.
Intégration à la famille CNCF
Le cloud native est inscrit dans l'ADN de Chaos Mesh depuis ses débuts. Rejoindre la CNCF était un choix naturel, marquant une étape cruciale pour devenir une communauté open source neutre, ouverte et transparente. Au-delà des intégrations techniques, cette adhésion offre à Chaos Mesh :
-
Une plus grande visibilité communautaire et projet. Les collaborations avec d'autres projets et les événements communautaires cloud native comme Kubernetes Meetup et KubeCon nous offrent d'excellentes opportunités d'échange. Nous sommes impressionnés par la qualité des contenus produits par la communauté, qui jouent un rôle positif et durable dans la promotion de Chaos Mesh.
-
Un cadre communautaire plus complet et ouvert. La CNCF fournit un cadre opérationnel mature pour les communautés open source. Sous sa guidance, nous avons établi notre structure communautaire de base, incluant un Code de Conduite, un Guide de Contribution et une Feuille de Route. Nous avons également créé notre propre canal #project-chaos-mesh sur le Slack de la CNCF.
Une communauté amicale et solidaire
2022-10-24: Suite à la suspension de la technologie Katacoda (https://www.oreilly.com/online-learning/leveraging-katacoda-technology.html) et comme indiqué dans #356, le tutoriel interactif est temporairement indisponible.
La qualité de la communauté open source détermine si nos utilisateurs et contributeurs resteront engagés à long terme. Sur ce point, nous avons travaillé activement à :
-
Enrichir continuellement la documentation et optimiser sa structure. Nous avons développé une documentation complète pour différents publics : guide utilisateur, guide développeur, guides de démarrage rapide, cas d'utilisation et guide de contribution, tous mis à jour à chaque version.
-
Collaborer avec la communauté pour publier articles de blog, tutoriels, cas pratiques et retours d'expérience en chaos engineering. Nous avons produit 26 contenus sur Chaos Mesh, dont
an interactive tutorialpublié sur Katakoda (O'Reilly). Ces ressources complètent idéalement la documentation. -
Valoriser les vidéos et tutoriels issus des réunions communautaires, webinaires et meetups. Répondre systématiquement aux retours et questions de la communauté.
Perspectives d'avenir
La récente panne mondiale de Google a rappelé l'importance cruciale de la fiabilité système, soulignant la pertinence du chaos engineering. Liz Rice (présidente du TOC CNCF) a cité les 5 technologies à suivre en 2021, plaçant le chaos engineering en tête. Nous prédisons son entrée dans une nouvelle phase. Chaos Mesh 2.0 est en développement actif, intégrant des demandes communautaires comme un moteur de workflows embarqué pour scénarios flexibles, des mécanismes de vérification d'état applicatif et des rapports d'expérience détaillés. Suivez l'avancement via la feuille de route.
Pour conclure
Chaos Mesh a considérablement évolué cette année mais reste jeune, et nous venons à peine de larguer les amarres. Nous invitons chacun à participer pour construire ensemble l'écosystème du chaos engineering !
Si Chaos Mesh vous intéresse et que vous souhaitez contribuer, rejoignez notre canal Slack ou soumettez vos pull requests/issues sur notre dépôt GitHub.