Harness today added a bevy of capabilities to its chaos engineering platform, including a generative artificial intelligence (GenAI) tool that makes creating and managing these types of tests more accessible to a wider range of software engineers.
Uma Mukkara, head of chaos engineering for Harness, said the AI capabilities added to Harness Chaos Engineering make it simpler to create these tests using a tool that now recommends which tests to create and then automatically executes them.
Additionally, the AI tool will surface additional insights for running the next test in a series to ensure resilient applications are deployed in a production environment.
Harness has also included a set of AI safeguards to ensure that chaos engineering experiments remain narrowly focused. There is also a set of templates that make it easier to insert these tests within a DevOps pipeline managed via a continuous integration/continuous deployment (CI/CD) pipeline.
Finally, Harness has added a feature flag capability that gives DevOps teams more granular control over how chaos engineering experiments are conducted in addition to adding support for Elastic Container Service (ECS) provided by Amazon Web Services (AWS).
Chaos engineering involves deliberately making components and services unavailable to better understand how resilient an application truly is should it for any reason become unavailable. Armed with those insights, it then becomes possible to include additional pathways for accessing services as part of an effort to improve overall application resiliency.
It’s not clear how many DevOps teams have embraced chaos engineering but Harness by making it simpler to create and manage these tests is reducing the level of expertise that would otherwise be required, noted Mukkara.
Historically, DevOps teams have been somewhat hesitant to employ chaos engineering principles in the race to deploy applications. Many of them are already all too aware of how fragile their applications are. Running a set of tests that deliberately break those applications may seem counterintuitive to a DevOps team that is focused more on meeting an application delivery deadline.
However, as DevOps teams are provided with more granular control over how chaos engineering tests are conducted more of them will become inclined to run these types of tests, said Mukkara. As that occurs, the overall resiliency of the applications should improve to a point where the amount of troubleshooting required after an application is deployed is greatly reduced, he added.
One way or another, application testing is becoming more automated. There has always been a natural tendency to reduce the amount of testing done in the name of meeting deployment deadlines. However, as every DevOps team knows, technical debt as defined by the number of known issues that need to be addressed in the next application update only increases over time. The sooner those issues are discovered while developers are still writing code the easier it becomes to reduce that technical debt by eliminating issues long before an application ever makes it to a production environment.