Project post by Prithvi Raj, Community Manager, LitmusChaos + Saranya Jena, Maintainer, LitmusChaos
With the cloud native community increasingly adopting more services and deployments, the idea of reliability has grown into seeing Chaos Engineering as a must.
Chaos Engineering has emerged as the go-to path toward achieving one’s resiliency goals. With Kubernetes being adopted by more than 96% of organizations, the adoption of LitmusChaos (which started as a project to help inject chaos in a Kubernetes environment) has grown drastically. The project has crossed more than 30 Million Docker Pulls for its operator and is being used/tried by more than 500 companies today.
The Chaos Engineering Maturity Model by Uma Mukkara, LitmusChaos Maintainer sheds light on how Chaos Engineering has matured and is placed in the DevOps chasm today
In the ever-evolving landscape of Chaos Engineering, LitmusChaos has emerged as a powerful tool for injecting chaos into Kubernetes environments, enabling developers to uncover weaknesses and improve resilience in their applications. With each release, LitmusChaos evolves, introducing new features, bug fixes, and enhancements that further empower engineers in their pursuit of reliability. Let’s delve into the latest user stories, and significant changes between the releases 3.0.0 and the latest release, highlighting the advancements that have propelled LitmusChaos forward and some mentee stories that have joined the community as student contributors.
“Chaos Engineering has become an increasingly democratic practice in cloud-native world. Everyone is looking at it. It is no more a closed, specific practice like it was years back when it was started by Netflix. It has gone beyond SREs. DevOps Engineers, Software Developers, QA practitioners, Cloud Engineers, everyone is looking at it and try to instill this as a practice”
Karthik S, LitmusChaos Maintainer & Principal Software Engineer, Harness
LATEST USER STORIES
Flipkart
Flipkart is an adoptor of Litmus Chaos. In addition to using the core features, we have also built a VM chaos platform leveraging Litmus. The details are covered in this talk we gave at Chaos Carnival 2024 – Building a Chaos Platform for Virtual Machines with OpenSource Tools
- Applications/Workloads or Infra that are being subjected to chaos by Litmus
- Stateless services running on our Kubernetes infrastructure
- VMs running stateful workloads ( Using the VM Chaos platform built on top of Lirmus )
- Why was Litmus chosen & how it is helping you (a brief description on the usecase)
- We did an exhaustive analysis of top opensource chaos tools based on various scenarios. Litmus chaos was a winner in terms of
- Good User experience and interface
- Stable and secure chaos infrastructure
- Detailed documentation and active opensource community
- Ease of modifying code ( We modified both backend and front end to suit our needs )
- Pre-built kubernetes native experiments
- Litmus helps us in testing out the failure scenarios – which helps in validating assumptions about failover capabilities of our infrastructure as well as validating run books and failure recovery
- We did an exhaustive analysis of top opensource chaos tools based on various scenarios. Litmus chaos was a winner in terms of
- Are you using it as part of devtest, CI/CD, in staging/pre-prod/prod or other
- Currently we are using this in pre-prod infrastructure.
- If you would like your name (as standalone user) or organization name to be added to the Adopters.md, please provide a preferred contact handle like github id, twitter id, linkedin id, website etc.
Ericsson
- “We are using LitmusChaos at Ericsson to perform resilience testing of our applications and to gain an understanding of how they perform in failure scenarios.
- We are using LitmusChaos in pre production CI testing phase
- LitmusChaos is easy to use and provides a good level of functionality with the included fault scenarios, whilst the architecture allows for easily deploying custom faults if required.
- It provides the means to easily test scenarios that would otherwise be difficult to test ”
PROJECT UPDATES
Fixed Bugs:
One of the primary focuses of any software development journey is bug fixing. LitmusChaos comes with a series of bug fixes, addressing issues reported by the community and ensuring a smoother user experience. These fixes enhance the stability and reliability of the platform, allowing users to execute chaos experiments with confidence.
Added Unit Tests:
Robust testing is integral to maintaining the quality and reliability of any software project. In the last few releases, LitmusChaos has introduced a comprehensive suite of unit tests. These tests validate the functionality of individual components, catching potential issues early in the development cycle. With added unit tests, LitmusChaos continues to uphold high standards of code quality and reliability.
Stop Experiment Feature:
In the pursuit of Chaos Engineering, the ability to control chaos experiments is crucial. With the introduction of the Stop Experiment feature in LitmusChaos 3.1.0, users gain greater control over chaos injections. This feature enables users to halt ongoing experiments, providing a mechanism to mitigate any unforeseen consequences and ensure the safety of their Kubernetes environments.
OSS Fuzz Integration with Litmus Chaos:
Security and reliability go hand in hand in the world of software engineering. LitmusChaos 3.4.0 takes a significant step forward in bolstering security by integrating with OSS Fuzz. This integration allows for continuous fuzz testing, identifying vulnerabilities and weaknesses in the codebase. By proactively addressing potential security threats, LitmusChaos reinforces the resilience of Kubernetes environments against unforeseen challenges.
Significant changes in LitmusCtl
Updated Commands for Litmus 3.0.0:
As LitmusChaos advances with its major release version 3.0.0, litmusctl aligns its commands to accommodate the changes and enhancements introduced in this milestone release. These updates ensure seamless integration between the chaos experimentation platform and its command-line interface, enabling users to leverage new features and functionalities with ease.
UX Changes with Promptui Library:
User experience (UX) plays a pivotal role in the adoption and usability of any command-line tool. In recent releases, Litmusctl has undergone significant UX enhancements through the integration of the promptUI library. This integration brings a more intuitive and interactive experience to users, facilitating smoother navigation and interaction within the command-line interface.
CRUD Operations for Environments:
In response to user feedback and evolving requirements, litmusctl introduces CRUD (Create, Read, Update, Delete) operations for environments. This addition empowers users to manage their chaos engineering environments directly from the command line, streamlining the process of environment configuration and maintenance.
In conclusion, the journey from LitmusChaos 3.0.0 to 3.4.0 showcases a commitment to innovation, reliability, and community-driven development. With the above enhancements, LitmusChaos continues to empower engineers in their quest for resilient, fault-tolerant systems. As the chaos engineering landscape evolves, LitmusChaos remains at the forefront, enabling organizations to embrace chaos and emerge stronger than ever before.
LFX Mentee Stories
LitmusChaos has been a part of the LFX Mentorship program since 2021 and has helped guide and engage various students to come join the CNCF ecosystem and contribute to not just LitmusChaos but projects beyond.
LitmusChaos Maintainers and contributors have been engaging constantly to mentor students to contribute to various sub-repositories of LitmusChaos.
Here’s a sneak-peek to some successful LitmusChaos LFX Mentee stories:
- https://www.cncf.io/blog/2023/12/27/embarking-on-a-professional-growth-adventure-insights-from-my-lfx-mentorship-program-with-litmuschaos/
- https://www.cncf.io/blog/2023/09/08/discovering-chaos-my-lfx-mentorship-journey-with-litmuschaos/
- https://dev.to/namkyu1999/my-lfx-mentorship-journey-the-best-starting-point-for-contributing-to-open-source-4f35
Connect with LitmusChaos:
In case you are unable to attend KubeCon EU 2024 or haven’t been able to connect with the LitmusChaos community yet, learn more about the LitmusChaos community
Check out the LitmusChaos Website
The LitmusChaos community continues to grow with amazing contributions (issues, suggestions, PRs) from the community and looks forward to more members joining in and contributing to the growth of the project.
Join the #litmus channel on Kubernetes Slack to become a part of the community. Learn, Ask, and Contribute by being a part of the community.
Check out the Contributing Guide to get started with contributions
Subscribe to the LitmusChaos YouTube Channel for the latest videos.
Follow @LitmusChaos on Twitter for the latest social updates.
Check out the LitmusChaos blogs to learn more about LitmusChaos and you can write one too by using the tag #litmuschaos on DEV.to