Standardized chaos interface for the projects #3750
Replies: 2 comments
-
Hi @zamazan4ik, thank you so much for bringing this up! In case you're not aware, LitmusChaos does offer BYOC (Bring Your Own Chaos) support, as part of which some of the other chaos toolsets such as Pumba and PowerfulSeal can be leveraged for the chaos injection while the chaos orchestration, probe validation, and other experiment parts are taken care of LitmusChaos. While it would be ideal to share some kind of common interface across all the chaos engineering platforms so that a single experiment can run on multiple tools, we must acknowledge the fact that all these chaos engineering tools have drastically different ways of interpreting the experiments. As an example, Chaos Mesh defines each one of its experiments as a separate CR while LitmusChaos uses just a single CR to define multiple experiments. These differences are significant because they define the developer and user experience to a large degree and are very opinionated in that regard. In the same spirit, there are tools that execute the Chaos on Kubernetes in a Cloud-Native manner (using Kubernetes CRs and Operators) and also that don't run on Kubernetes, and standardizing the experiments between these kinds of platforms will be really challenging. That being said, LitmusChaos provides the ChaosHub with the vision that it can be used as an open-source marketplace for the LitmusChaos experiments. Enterprises do use custom ChaosHubs to manage and distribute their own custom chaos experiments. |
Beta Was this translation helpful? Give feedback.
-
@ksatchit would you like to add your thoughts to this? |
Beta Was this translation helpful? Give feedback.
-
Hi. I have an idea for the discussion.
I see that in chaos hub there are some experiments, which are written for the 3rd party tools (e.g. Kafka or OpenEBS). As far as I understand, they can be used only with Litmus platform for Chaos checks. As I see, right now there are several alive chaos engineering platforms (I know at least Litmus, ChaosBlade, Chaos Mesh). It would be nice to have ability to use Chaos experiments across all Chaos platofrms, not only in Litmus. But this is not possible without having some "common layer" which is compatible with all Chaos platforms.
Another huge advantage of having some common interface is allowing to 3rd party projects providing their own-written Chaos Experiments without direct binding to the Chaos platofrms. It is much more convenient to maintainers since will be no need to implement N Chaos experiments (one for each Chaos platform).
I do not know, did you think about such a direction of evolving of the project. Maybe this plan has some critical flaws or limitations - I do not know. I would be happy to get a feedback about the idea.
Thanks!
Beta Was this translation helpful? Give feedback.
All reactions