En un mot, devrions-nous inclure la mort dans nos programmes, processus et threads à un niveau bas, pour le bien du système global?
Les échecs se produisent. Les processus meurent. Nous planifions en cas de catastrophe et en récupérons parfois. Mais nous concevons et mettons rarement en œuvre un programme de mort imprévisible. Nous espérons que les temps de disponibilité de nos services durent aussi longtemps que nous veillons à les maintenir en activité.
Le macro-exemple de ce concept est Chaos Monkey de Netflix , qui termine de manière aléatoire les instances AWS dans certains scénarios. Ils affirment que cela les a aidés à découvrir des problèmes et à créer davantage de systèmes redondants.
Ce dont je parle est le niveau inférieur. L'idée est que les processus de longue durée se terminent de manière aléatoire. Cela devrait forcer la redondance dans la conception et finalement produire des systèmes plus résilients.
Ce concept a-t-il déjà un nom? Est-il déjà utilisé dans l'industrie?
MODIFIER
Sur la base des commentaires et des réponses, j'ai bien peur que ma question ne soit pas claire. Pour plus de clarté:
- oui, je veux dire au hasard,
- oui, je parle de production et
- non, pas seulement pour les tests.
Pour expliquer, j'aimerais faire une analogie avec les organismes multicellulaires.
Dans la nature, les organismes sont constitués de nombreuses cellules. Les cellules se bifurquent pour créer une redondance et finissent par mourir. Mais il devrait toujours y avoir suffisamment de cellules du bon type pour que l'organisme puisse fonctionner. Ce système hautement redondant facilite également la guérison des blessures. Les cellules meurent pour que l'organisme vive.
L’incorporation de la mort aléatoire dans un programme obligerait le système élargi à adopter des stratégies de redondance pour rester viable. Ces mêmes stratégies aideraient-elles le système à rester stable face à d'autres types d'échecs imprévisibles?
Et, si quelqu'un a essayé, comment s'appelle-t-il? J'aimerais en savoir plus à ce sujet s'il existe déjà.