Skip to content

Christophe Rochefolle Randrianandrasana

Experienced IT executive providing tech & organization to improve #quality & #agility of IT systems, #ChaosEngineering fan ; #LGBTQ+ #DiversityInclusion

Menu
  • Accueil
  • Présentation
  • Valeurs
  • Ouvrages
  • Conférences
  • Podcasts
  • Lectures
  • English
Menu

Qu’est-ce que le Chaos Engineering ?

Posted on 9 décembre 201710 avril 2020 by Christophe ROCHEFOLLE

L’ingénierie du chaos, ou Chaos Engineering, est une discipline émergente qui vise à éprouver la solidité de l’infrastructure socio-technique afin de toujours mieux préserver la qualité de service. Cette pratique expérimente les lacunes et les faiblesses des applications et de l’infrastructure sur un système distribué. La complexification et l’automatisation des systèmes rendent cette pratique de plus en plus importante pour maintenir l’expérience utilisateur. Expérimentée depuis 7 ans par des pure-player comme Netflix, elle s’est structurée autour de process et d’outils dédiés.

La question que pose cette discipline est : A quel point votre système est-il proche du précipice et peut sombrer dans le chaos ?

 A chaque instant, quelque chose, quelque part, tombe en panne. Il ne s’agit plus de croiser les doigts pour que ça n’arrive pas, mais de mettre en place la résilience nécessaire dans nos systèmes pour tolérer les pannes, et de s’assurer que cette résilience est opérationnelle et fiable en production.

Et pourtant, on teste !

Nous avons tous mis en place l’ensemble des tests nécessaire à la qualité de nos applications et pour garantir la conformité aux normes d’exploitabilité, pour atteindre le niveau de confiance nécessaire aux déploiements de plus en plus fréquents des évolutions de notre SI.

Cependant, une des plus importantes problématiques dans les pratiques de test est la représentativité des environnements hors production.

Nous nous sommes tous confrontés à une dure réalité : c’est quasi impossible et très coûteux à maintenir à jour.

L’avènement des démarches Agile & Devops contribue à complexifier le sujet en permettant de livrer de plus en plus fréquemment, jusqu’à plusieurs fois par jour.

Par ailleurs, les environnements hors production sont et seront de moins en moins représentatifs quand vous êtes dans le Cloud et que votre infra s’adapte à votre trafic par de l’auto-scalling.

La personnalisation de plus en plus poussée de nos applications – donc avec des comportements basés sur de la donnée — nous met face à des parcours clients qui s’adaptent en temps réel.

Et çà va empirer avec le déploiement de l’Intelligence Artificielle.

Il devient donc nécessaire d’expérimenter en production afin d’avoir le bon niveau de confiance dans nos systèmes.

Oui, vous avez bien lu, il s’agit bien d’effectuer des tests en production :

  • Expérimenter pour éprouver nos systèmes : plutôt qu’attendre une panne, il s’agit d’en introduire une pour tester la résilience du système,
  • Expérimenter pour apprendre : il ne s’agit pas de provoquer le chaos pour s’amuser, mais bien pour découvrir des faiblesses inconnues de nos systèmes.

Il s’agit par contre d’expérimenter en production sur un système stable et performant.

Ce n’est pas un jeu, mais la vie réel, avec des impacts humains et financiers potentiellement important.

L’ingénieur du Chaos n’est pas un savant fou, c’est un explorateur en recherche de connaissances sur le système qu’il étudie.

The Road to Hell is Paved with Good Intentions……………. – Visions and ...

Qu’est-ce qu’une expérimentation ?

Dans l’ouvrage présenté en fin d’article, les ingénieurs du Chaos de Netflix Technology Blog ont proposé ce protocole :

  1. Définir quelle est la question que l’on souhaite poser au système : souhaite-t-on tester la résilience d’un composant, d’une application, d’une organisation ?
  2. Définir le périmètre de l’expérience : est-ce tout ou partie de la production ? est-ce uniquement l’environnement technique seul ou inclure également les interventions humaines (surveillance, exploitation, support),
  3. Identifier précisément les métriques qui permettront de valider l’expérience et éventuellement de l’arrêter instantanément en cas d’impact critique,
  4. Communiquer, prévenir l’organisation de l’existence de l’expérimentation — pour éviter l’escalade en cas d’incident critique
  5. Réaliser l’expérience
  6. Analyser les résultats, mettre en place les éventuels plans d’action nécessaires
  7. Elargir le scope pour la prochaine expérience.

Cependant, faire un test une fois permettra de se rassurer sur la résilience de votre système, mais avec des changements permanents, la seule façon de bien dormir la nuit est d’automatiser l’expérience pour qu’elle se réalise en continue afin de suivre l’évolution du système.

Exemple d’expérimentation

  • Mettre en place des Chaos Monkey — simuler des pannes en environnement réel et vérifier que le système informatique continue à fonctionner.
    L’expérience consiste à régulièrement choisir au hasard des instances dans l’environnement de production et de les mettre délibérément hors service. En «tuant» régulièrement des instances au hasard, on s’assure avoir anticipé correctement la survenue de ce type d’incidents en mettant en place une architecture suffisamment redondante pour qu’une panne de serveurs n’impacte d’aucune façon le service rendu.
    Mise en place par Netflix début 2011, ils ont intégré la Simian Army qui présentent d’autres types d’interruption : Chaos Kong (qui fait tomber une zone complète de disponibilité Amazon), Latency Monkey (qui permet de tester la tolérance à la perte de performance d’un composant externe), Security Monkey (qui met hors service toutes instances qui présentent des vulnérabilités), …
  • Mettre en place un Gameday : pour tester la résilience de l’organisation et l’entrainer à réagir en cas d’incidents, Jesse Robbins, ex- « Master of Disaster » chez Amazon, a mis en place le concept de Gameday qui consistent à simuler des pannes pour tester la capacité des équipes à réagir et revenir à une situation nominale.
  • Mettre en place un Days of Chaos, une déclinaison de GameDay par OUI.sncf à destination de toutes les équipes IT et visant à l’entrainement à la détection, au diagnostic et à la résolution des incidents de production.
  • Mettre en place des Test de Récupération après Sinistre (Disaster Recovery Testing) de manière récurrente.

Pour en savoir plus

Je vous recommande cet ebook gratuit chez O’Reilly: Chaos Engineering, Building Confidence in System Behavior through Experiments

 

Partager :

  • Cliquer pour partager sur X(ouvre dans une nouvelle fenêtre) X
  • Cliquez pour partager sur Facebook(ouvre dans une nouvelle fenêtre) Facebook

Articles similaires

1 thoughts on “Qu’est-ce que le Chaos Engineering ?”

  1. Ping : DevOps : un système industriel au service des équipes, elles-mêmes au service de leurs clients - Christophe Rochefolle

Laisser un commentaire Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.

Suivez-moi

Tweets

RT @SNCFConnectTech Retour sur notre #Hackathon interne 2023 🏆 Félicitions à nos 160 #DigitalMobilityChangers participants et bravo aux 3 équipes gagnantes qui ont séduit le jury grâce à leurs projets ! A très vite pour découvrir nos nouvelles solutions au services des mobilités durables🚀 pic.twitter.com/cl5J…

Il y a 2 ans De Christophe Rochefolle @crochefolle@fosstodon.org's Twitter via Twitter for iPhone

RT @LADN_EU Elles sont chimistes, physiciennes, mathématiciennes, et on ne les connaît pas. Pour donner de la visibilité aux oubliées de l'histoire, Jess Wade a rédigé 1750 biographies sur Wikipédia. ladn.eu/actualite/je…

Il y a 2 ans De Christophe Rochefolle @crochefolle@fosstodon.org's Twitter via Twitter for iPhone

RT @thoughtworks Beyond architecture and technology, #DataMesh transformation requires a change in how individuals operate and how teams are organized. Learn about our "Show-Shift-Scale" approach: thght.works/3J2hV5q pic.twitter.com/8j4y…

Il y a 2 ans De Christophe Rochefolle @crochefolle@fosstodon.org's Twitter via Twitter for iPhone

RT @SNCFConnectTech 🔙 Retour sur #AgiLille2023 ! Nos #DigitalMobilityChangers, entourés de 700 experts en agilité, y étaient pour échanger et présenter nos méthodes qui permettent d’être + réactifs et collaboratifs dans la gestion de nos projets. Merci à tous ceux passés sur notre stand. 👏 pic.twitter.com/69W4…

Il y a 2 ans De Christophe Rochefolle @crochefolle@fosstodon.org's Twitter via Twitter Web App

RT @SNCFConnectTech En direct du @breizhcamp où nos experts @FrancoisN0 & @jburet prennent la parole pour faire un "ptit-REX" 🦖 sur l’approche #Monorepo. Popularisée par Google, Microsoft, Facebook & Twitter, elle propose un unique dépôt pour tous les applicatifs ! pic.twitter.com/i7Eb…

Il y a 2 ans De Christophe Rochefolle @crochefolle@fosstodon.org's Twitter via Twitter Web App

RT @anttiviljami My problem with the software dev profession in 2023 pic.twitter.com/15jl…

Il y a 2 ans De Christophe Rochefolle @crochefolle@fosstodon.org's Twitter via Twitter for iPhone

Trump continue de sévir à travers ses nominations à la Court Suprême… twitter.com/popcrave…

Il y a 2 ans De Christophe Rochefolle @crochefolle@fosstodon.org's Twitter via Twitter for iPhone

RT @YannisHaismann « Ça t'a pris une demi-journée pour corriger ce bug ? » « Tout ça pour produire 2 lignes de code ? » [THREAD] Ça n'a rien d'anormal... En faire j'ai faits plein de chose :

Il y a 2 ans De Christophe Rochefolle @crochefolle@fosstodon.org's Twitter via Twitter for iPhone

Louer un Airbnb pour organiser des visites pour arnaquer des étudiants cherchant un logement - on atteint un niveau inouï. Merci @a_berut pour ce partage twitter.com/a_berut/… pic.twitter.com/Sxd2…

Il y a 2 ans De Christophe Rochefolle @crochefolle@fosstodon.org's Twitter via Twitter for iPhone

RT @SNCFConnectTech 🤩Félicitation à nos #DigitalMobilityChangers qui ont reçu le prix 🧏‍♂️Digital Accessibility Mission Ce prix vient récompenser le travail mené par toute une équipe pour rendre #SNCFConnect accessible au plus grand nombre. Bravo également aux autres gagnants des #DXAwards. twitter.com/ContentS…

Il y a 2 ans De Christophe Rochefolle @crochefolle@fosstodon.org's Twitter via Twitter for iPhone

Articles

  • Chaos (6)
  • Conférences (8)
  • DevOps (4)
  • Diversité et Inclusion (5)
  • Management & LeaderShip (3)
  • Non classé (1)
  • Qualité & Excellence (6)
  • Valeurs (7)

Abonnez-vous

Rejoignez les 4 autres abonnés

Tweets

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Politique relative aux cookies
© 2025 Christophe Rochefolle Randrianandrasana | Fourni par Superbs Thème de blog personnel