Fermer

novembre 26, 2019

Éviter les catastrophes avec l'ingénierie du chaos


Le coût d'une panne pour une entreprise est très élevé. Ce n’est une nouvelle pour personne, mais dans le monde actuel d’accès instantané et de gratification immédiate, il est plus vrai que jamais. Les entreprises d'aujourd'hui devraient être à tout moment accessibles aux consommateurs.

En conséquence, les entreprises doivent créer une infrastructure et des applications résilientes. Ainsi, vous éviterez des pannes qui auraient pu être évitées – et qui peuvent devenir des catastrophes.

Bien que le besoin de résilience soit connu, de nouvelles techniques sont désormais utilisées pour en assurer la résilience. Un tel exemple est l'ingénierie du chaos.

Qu'est-ce que l'ingénierie du chaos?

Les origines de l'ingénierie du chaos remontent à L'outil Chaos Monkey de Netflix, conçu pour tester la stabilité des systèmes Netflix nuage. Pour ce faire, Netflix injecterait volontairement des pannes dans les systèmes pour voir comment l’environnement global réagirait. L'idée était que les défaillances pouvaient aider le service informatique à identifier les faiblesses du système pour éviter qu'elles ne posent problème à l'avenir.

C'est à partir de là que l'ingénierie du chaos a pris de l'ampleur. Cependant, un peu comme Chaos Monkey n’était pas que du chaos, l’ingénierie du chaos est aussi plus scientifique que cela.

L’ingénierie du chaos consiste à mener des expériences soigneusement conçues sur des hypothèses que l’organisation informatique a à propos des applications et des infrastructures. L'idée n'est pas de détruire l'ensemble du système, mais, à bien des égards, l'objectif de l'ingénierie du chaos est identique à celui de Chaos Monkey: assurer la résilience.

Quand utilise-t-on l'ingénierie du chaos?

faire des expériences tôt. Il est essentiel de veiller à la résilience des applications et des infrastructures avant leur mise en production. Cependant, bien que l'ingénierie chaos puisse commencer avant la mise en production d'une application ou d'une infrastructure, elle devrait continuer à être utilisée après la mise en service des environnements.

En effet, les applications, l'infrastructure et leurs interconnexions changent constamment – de nouvelles applications sont produites, des correctifs sont faits, et les environnements restent fluides. Il existe de nombreux points de contact pour la plupart des applications – à la fois internes et externes – et les données sont souvent partagées. Tout cela peut changer le fonctionnement des applications, ce qui signifie que les expériences doivent être poursuivies.

Il est important d'adopter une approche calculée des expériences à tout moment, mais surtout lorsque les applications et l'infrastructure sont actives. Les expériences d'ingénierie du chaos commencent généralement par une petite empreinte, dans un environnement confiné. Comme la résilience est prouvée à plus petite échelle, la taille et le niveau d'expérience peuvent augmenter, ce qui permet de déterminer où se trouvent les points de rupture, de sorte que ces points de rupture puissent être éliminés ou qu'un plan de secours puisse être créé.

Comment l'ingénierie du chaos aider à éviter les catastrophes?

Comme indiqué précédemment, le coût d'une panne peut être extrêmement élevé pour les entreprises. Il existe de nombreux points auxquels une application ou une infrastructure peut également échouer. En tant que tel, vous devez rendre compte de tout ce que vous pouvez pour vous assurer que les applications et l'infrastructure restent en place.

Grâce à l'ingénierie du chaos, vous menez des expériences qui identifient de manière ciblée les endroits où une défaillance peut survenir. Ces expériences sont basées sur les hypothèses formulées lors de la configuration d'applications ou de la construction d'une infrastructure. Ces hypothèses deviennent vos hypothèses dans vos expériences d'ingénierie du chaos, qui peuvent être aussi simples que d'éteindre un serveur ou de savoir ce qui se passe si l'utilisation de la CPU sur un serveur augmente rapidement.

L'idée est d'identifier les erreurs et de potentiellement élaborer des solutions. évitez-les afin d'éviter des pannes à l'avenir. Dans de nombreux cas, cela peut impliquer de contacter les fournisseurs et les partenaires pour traiter les résultats de leur côté. Ces solutions peuvent être difficiles, mais il est important de les trouver avant qu’elles ne deviennent coûteuses.

Adopter une vision à long terme

Chez Perficient, nous pensons que l’ingénierie du chaos est importante. Dans un monde idéal, les équipes devraient avoir des personnes dédiées à l'exécution de ces expériences. Les entreprises le voient aussi lentement, et la pratique devient de plus en plus courante. Construire plus d’applications résilientes et d’infrastructures est une bonne affaire, qui vaut la peine de perdre du temps et des coûts supplémentaires à long terme.




Source link