Monkey Testing en On-Premise

Introduction

Le Monkey Testing est une forme de test où le système est testé de manière aléatoire et sans scénario prédéfini. C’est une excellente façon de découvrir des bugs imprévus, car il simule le comportement d’un utilisateur final typique qui pourrait ne pas suivre un flux d’utilisation normal.

Dans cet article, nous nous concentrerons spécifiquement sur le Monkey Testing pour les systèmes On-Premise et sur les outils open source disponibles.

Chaos Monkey

Chaos Monkey est un outil open source développé par Netflix pour tester la résilience de leurs services à la défaillance des instances. Il est conçu pour fonctionner dans un environnement de cloud, mais peut aussi être adapté pour un environnement On-Premise.

Exemple de ligne de commande pour utiliser Chaos Monkey :

java -jar chaos-monkey.jar

Mangle

Mangle est un outil open source de test de chaos conçu par VMware pour aider les ingénieurs à effectuer des tests de résilience sur leurs applications et leurs infrastructures. Il prend en charge plusieurs points d’extrémité, y compris le vCenter (pour les machines virtuelles VMware ESXi), Docker, Kubernetes et bien d’autres.

Exemple de ligne de commande pour utiliser Mangle :

java -jar mangle-2.0.0-RELEASE.jar

Blockade

Blockade est un outil de test de chaos pour les applications réseau et est particulièrement utile pour tester la façon dont les applications gèrent la perte de réseau et la partition. Il est basé sur Docker, ce qui signifie qu’il peut être utilisé sur n’importe quelle machine qui peut exécuter Docker, y compris les machines physiques.

Exemple de ligne de commande pour utiliser Blockade :

blockade up

Pumba

Pumba est un outil open source qui permet d’introduire du chaos sur des conteneurs Docker en arrêtant, en tuant ou en supprimant des conteneurs de manière aléatoire. C’est une excellente option pour le Monkey Testing dans des environnements On-Premise qui utilisent Docker.

Exemple de ligne de commande pour utiliser Pumba :

pumba --random --interval 1m kill

PowerfulSeal

PowerfulSeal est un outil de test de chaos open source qui permet d’introduire des défaillances dans vos clusters Kubernetes. Il peut être utilisé dans un environnement On-Premise qui utilise Kubernetes.

Conclusion

L’utilisation d’outils de test de chaos open source peut vraiment aider à améliorer la résilience et la fiabilité de nos systèmes, qu’ils soient basés sur des conteneurs, des clusters Kubernetes ou même des machines physiques. En introduisant divers types de défaillances et en observant comment vos systèmes réagissent, vous pouvez identifier les points faibles et travailler à leur amélioration.

N’oubliez pas que le but du test de chaos n’est pas de causer des dégâts, mais plutôt de découvrir des problèmes potentiels avant qu’ils ne surviennent dans un environnement de production. Ainsi, il est toujours recommandé de réaliser ces tests dans un environnement de test ou de développement.

Enfin, bien que les outils mentionnés dans cet article soient tous open source, il est important de les utiliser de manière responsable et de respecter les licences associées.

En ce qui concerne le choas dans le cloud je vous invite de regarder l’article dédié à ce sujet ici

UPDATE: juin 2023

Si vous voulez plus d’information sur l’infrastructure vous pouvez voir mon repo à ce sujet : https://github.com/ravindrajob/InfraAtHome