Blog
Resilience Testing

Achieving Continuous Resilience with Harness Chaos Engineering | Harness Blog

Introducing the continuous resilience approach. Understand the modern approach to practicing chaos engineering where the efforts to build resilience are inserted into all stages of your software development life cycle through automated chaos experiments. Harness Chaos Engineering or Harness CE comes with all the building blocks required for achieving Continuous Resilience in DevOps.

TL;DR

Adopting a continuous resilience approach in chaos engineering automates and integrates fault injection across all SDLC stages, enhancing system reliability and reducing production incidents. This method involves shared responsibility among developers, QA teams, and SREs, utilizing chaos hubs for experiment development, resilience metrics for measurement, and security governance for safe experimentation.

Chaos engineering is the science of injecting faults and verifying the steady state of the system. In this article, we will not delve into the concepts of chaos engineering but will look into a more modern implementation approach called continuous resilience.  Traditionally chaos engineering has been known for verifying the resilience of critical systems and services in production. Recently, chaos engineering has been used to ensure resilience in the entire SDLC spectrum. Ensuring resilience in all stages of SDLC is the most efficient way to deliver the maximum availability of business-critical services to the end users. 

Chaos engineering as a concept is well understood by most of the audience. Some of the challenges today in chaos engineering area are related to implementing and scaling the practice across the organization, measuring the success of such chaos experimentation efforts, and knowing what it takes to get to that final milestone of resilience in terms of timelines and efforts. The reason for these challenges is, traditionally, chaos engineering has been taught as an exercise of careful planning and running of a set of experiments in production using the GameDay approach. The success of GameDay plays into the hands of a few individuals who are responsible for designing and orchestrating the execution from time to time and are not automated like other regular quality or performance tests. 

Continuous Resilience Approach

In modern chaos engineering practice, developers and QA teams share the chaos experiment development. The tests are automated in all environments and are run by all personas: Developers, QA teams, and SREs. The focus on resilience is built into every gate of SDLC, which leads us to the term Continuous Resilience. In the continuous resilience approach, we expect most chaos experiment runs to happen in the pipelines. However, continuous resilience is NOT just running chaos in pipelines; it is about automating the chaos experiment runs in all environments - Dev, QA, Pre-Prod, and Prod, though at various degrees of rigor. 

GameDays can still be used along with automated chaos engineering experimentation, especially in critical systems where resilience needs to be tested on a need basis. GameDays also provide a means to validate documentation, recovery procedures, and train engineers on incident response best practices.

Basic Tenets of Continuous ResilienceTM

When compared to the GameDay approach of chaos engineering, the continuous resilience approach is built around the following tenets:

  • Chaos Experiment Development using Chaos Hubs
  • Adoption of the new resilience metrics
  • Integration into your SDLC or pipelines
  • Security Governance for chaos experimentation

1. Chaos Experiment Development using Chaos Hubs

Well-written chaos experiments are the building blocks of a successful chaos engineering practice. These experiments must be upgraded or modified continuously to keep up with software or infrastructure configuration changes. This is why chaos experimentation is called chaos “engineering.” The best practice would be to manage the lifecycle of chaos code similar to that of the regular software code - this means that the chaos experiment code is developed and maintained in a source code repository, tested for false positives and negatives, tested in the dev environment, and promoted for use in larger environments.  

Chaos experiments should be easily tunable, importable, exportable, and shareable by multiple members of a team or by multiple teams of an organization. Chaos Hubs or centralized repositories of chaos experiments with the above features should be utilized for chaos experiment development and maintenance. 

In this method, you actively involve the QA team members and developers in writing the chaos experiment development and not limiting it to just the SREs, as in the traditional GameDay approach. 

2. Adoption of Resilience Metrics

A rollout of chaos practice will usually be associated with business goals such as “% decrease in production incidents” or “% decrease in recovery times,” etc. These metrics are more or less tied to production systems and are handled by the Ops teams or SREs. For example, you cannot measure uptimes and recovery times in QA test beds or pipelines. In the continuous resilience approach, where all personas are involved in chaos experimentation, the metrics to measure should be relevant to both Developers/QA teams/QA pipelines and Pre-production/Production/SREs. For this need, two new metrics are suggested:

- Resilience Scores

- Resilience Coverage

Resilience Score: The experiment may contain one or more faults against one or more services. The resilience score can be tied to a chaos experiment or a service. 

Resilience scores can be used in pipelines, QA systems, and production by all the personas.

Resilience Scores in Chaos Engineering

Resilience Coverage: While the resilience score covers the actual resilience of a service or an experiment, resilience coverage shows how many more chaos experiments are needed to declare the entire system as checked for resilience. It is similar to code coverage in software testing. Together with resilience scores, resilience coverage gives complete control over the resilience measurement. Resilience coverage applies to a service or a system. 

Resilience Coverage in Chaos Engineering

The resilience coverage metric has to be used to create a practical number of chaos experiments, as it can be argued that the number of possible chaos experiments that can be created against a service can be overwhelming.

3. Integrations into the SDLC or pipelines

Automation of chaos experiments is critical for the achievement of continuous resilience. Resilience coverage always starts at a low number, typically <5%, where the experiments are very safe to run or run against critical services. In both cases, the assurance of resilience is essential when new code is introduced via the pipelines. Hence, these experiments must be inserted into the regular pipelines that verify the sanity or quality of the rollout process. As the chaos experiments are automated, with every development cycle, the resilience coverage will be increased in steps, eventually reaching 50% or more in a few months or quarters, depending on the dev time the dev/qa teams spend. 

Suppose a pipeline reaches 80% resilience coverage with >80% resilience scores. In that case, the risk of a resilience issue or outage happening in production from known sources is mitigated to a large extent, leading to improved reliability metrics such as MTTF (Mean Time To Fail). 

Pipeline Policies can be set up to mandate the insertion of chaos experiments into the pipeline.

Automating pipelines and measuring the coverage through policies mandates the development of chaos experiments by team members who know the product best, i.e., developers and QA team members. SREs can then use these experiments to enhance production-grade environments. This is the organic process in which an organization's chaos engineering practice matures from Level 1 to Level 4. 

Chaos integration into the pipelines can be done in many ways. The following are some options:

  1. Choose deployment pipelines that deploy to the system test bed or pre-production and run the chaos experiment suite after the changes are deployed. If the resulting resilience scores or resilience coverage is unsatisfactory, take appropriate action, such as manual inspection and approval of the pipelines or automatic rollback of the changes. 
  2. Choose your feature flag pipelines that deploy the feature flags where a new feature is being rolled out into pre-production or production and run the chaos experiment suite on the environment where the flags are enabled. If the resulting resilience scores or resilience coverage is not satisfactory, then take appropriate action such as manual inspection and approval of the pipelines or automatic rollback of the flags. 
  3. It is common to insert the basic resilience tests in the lowest environments, such as dev pipelines that deploy the code to the dev-test environment. However, the resilience coverage is expected to be low as the dev environments are maintained with minimal service configurations. 

4. Secure Chaos Experiment Orchestration

Chaos experimentation is generally perceived as disruptive because it may cause unwanted delays if the services are brought down unexpectedly. For example, someone bringing down all nodes of a Kubernetes cluster in a QA environment through a chaos experiment does not help in finding a weakness, but it can cause enormous interruptions for the QA process and its timelines. Similarly, chaos experimentation processes should be associated with the required guard rails or security governance policies.

Examples of security governance around chaos experiments:

  • Allow node faults only on production-infrastructure-1
  • Do not allow network loss faults on prod-2 between 9 AM and 9 PM
  • Allow only the admin-group to inject node restarts
  • Do not allow the users-group to inject network faults on qa-2 infrastructure

With security governance policies like those above, chaos experimentation becomes more practical at scale, and automation can increase resilience coverage. 

Get started with Harness Chaos Engineering

Harness Chaos Engineering is built with the above building blocks needed to roll out the Continuous ResilienceTM approach of chaos engineering. It comes with many out-of-the-box faults, security governance, chaos hubs, the ability to integrate with CD pipelines and Feature Flags, and many more. 

Harness Chaos Engineering Free Plan

Get a demo

← Previous:
Next: →

Related Resources

How AI and Machine Learning Make Chaos Engineering Predictive

Resilience Testing

How AI and Machine Learning Make Chaos Engineering Predictive

January 9, 2025

Smriti Satyanarayana

+ more
Time to Read

Imagine this: A car hurtles toward a barrier, its crumple zones absorbing the force, while a crash test dummy sits silently, enduring the chaos. The airbag deploys, seatbelts tighten, and the aftermath reveals the car’s flaws and strengths. This isn’t reckless destruction—it’s intentional, controlled, and vital that car manufacturers simulate disasters to ensure their vehicles survive the unpredictable.

Now, shift the lens to software systems. Chaos Engineering is our crash test, introducing failure to strengthen resilience. The goal isn’t to break—it’s to uncover vulnerabilities before real-world users ever feel the impact. In both fields, chaos isn’t the disruptor; it’s the teacher.

Many modern enterprises are adopting and incorporating Artificial Intelligence (AI) and Machine Learning (ML) in their applications, facilitating everything from recommendation systems to predictive analytics. 

Predictive analysis can be integrated with chaos engineering, too! By integrating chaos engineering experiments with AI/ML models, organizations can proactively address vulnerabilities and predict them.

In this blog, we explore how AI/ML can be integrated with chaos engineering to predict failures and take proactive steps to address the vulnerabilities uncovered.

Why Proactive Failure Prediction

Modern AI/ML systems are integral to various domains, from healthcare and finance to e-commerce and autonomous systems. However, the interconnected and distributed nature of these systems makes them susceptible to a range of failures, including:

  • Data pipeline disruptions.
  • Resource contention.
  • Latency in model-serving infrastructure.
  • Failures in external dependencies (for example, APIs, databases).

While chaos engineering reveals weaknesses through intentional disruption, AI/ML can analyze patterns from these chaos experiments and predict and prevent future failures.

How Chaos Engineering + AI/ML Enhances Failure Prediction

Chaos engineering provides the following foundations for predictive failure analysis:

  1. Controlled Failure Scenarios:some text
    • Chaos experiments generate structured data about system behavior under stress.
    • These scenarios highlight potential points of failure, which can be fed as input data into ML models for training purposes.
  2. Behavioral Patterns:some text
    • Analyze logs, metrics, and system telemetry collected during chaos experiments.
    • Identify patterns that precede failures (for example, increased latency or resource usage).
  3. Training Data for AI Models:some text
    • Use chaos experiment results to train predictive models for anomaly detection and early failure warnings.

Steps to Integrate Chaos Engineering and AI/ML

1. Plan Chaos Experiments

  • Identify critical components and workflows in your application.
  • Design chaos experiments that simulate failures, such as:some text

2. Collect and Label Data

  • Gather logs, metrics, and alerts generated during the chaos experiments.
  • Label the data to indicate normal and failure conditions.

3. Train AI/ML Models

4. Deploy Predictive Models

  • Integrate trained models into your chaos engineering pipelines: To achieve this, you can expose the trained model as an API and integrate it into your chaos engineering pipeline. During experiments, the pipeline can call the API to predict potential failure points, enhancing resilience by addressing vulnerabilities proactively.
  • Use predictions to trigger preemptive actions, such as scaling resources or rerouting traffic.

Real-World Use Cases

The list below describes the specific type of chaos experiment to execute, the role of AI/ML, and the outcome of integrating this experiment with the AI/ML model.

1. Data Pipeline Resilience

  • Chaos Experiment: Simulate missing or corrupted data.
  • AI Prediction: Detect patterns indicating potential pipeline disruptions.
  • Outcome: Automatically reroute or clean data before downstream systems are impacted.

2. __LINK_10__

  • Chaos Experiment: Limit compute resources for inference workloads.
  • AI Prediction: Predict latency spikes or resource exhaustion.
  • Outcome: Trigger auto-scaling or load balancing to maintain system performance.

3. Dependency Failures

  • Chaos Experiment: Introduce latency in API dependencies.
  • AI Prediction: Identify early warning signs of dependency failures.
  • Outcome: Implement fallback mechanisms or preemptive retries.

Best Practices for Chaos Engineering in AI/ML

  1. Start Small: Begin with isolated components before scaling chaos experiments across the entire system.
  2. Automate Experiments: Integrate chaos tests into CI/CD pipelines to ensure continuous validation.
  3. Monitor and Observe: Use tools like Prometheus, Grafana, or Datadog to visualize the impact of chaos experiments.
  4. Learn and Iterate: Use post-mortems to improve system design and experiment strategies.

Conclusion

Ensuring the reliability and resilience of AI/ML workloads associated with the application is essential. Integrating chaos engineering with the application not only builds resilience but also provides insights into what can go wrong in the future (predictive analysis) and what can be done to address it (proactive steps) thereby improving fault tolerance, and ensuring seamless operations in the real-world. Signup or get a demo to the exciting world of chaos, and don’t forget to check out the official chaos engineering documentation.

Let the chaos begin!

Harness Chaos Engineering (CE) Key Capabilities

Resilience Testing

Harness Chaos Engineering (CE) Key Capabilities

January 26, 2023

Matt Schillerstrom

+ more
Time to Read

Chaos engineering helps organizations minimize unplanned downtime's financial and reputational impact. It also lets developers focus on software delivery rather than fire-fighting production incidents. Chaos experiments go beyond traditional unit, integration, and system tests and more closely represent random failures in a real-world production environment. This realistic environment provides insight into how systems behave, equipping teams to understand applications' and infrastructure weaknesses and proactively creating resilience to help prevent costly downtime. This blog will look closely at the product’s key capabilities to see how it helps teams solve these challenges.

Harness CE provides: 

  • Chaos orchestration in CI/CD pipelines for Continuous ResilienceTM
  • Unified experimentation across cloud providers and self-hosted platforms
  • Steady statement management for baselining and improving reliability
  • Observability and ecosystem integration for visibility
  • Robust experiment control methods for safe testing and automatic recovery rollbacks
  • GameDay portal to proactively train your on-call team for incident response
  • Enterprise dashboards, analytics, logs, and reports for clear communication
  • Enterprise-grade audit trail and role-based access control (RBAC) for security
  • Enterprise support to help businesses scale the practice quickly

Let’s dive deeper into the capabilities that teams can leverage to increase reliability.

Harness <a href=
Chaos Engineering workflow">

Chaos Orchestration in CI/CD Pipelines

Achieve Continuous ResilienceTM with the native platform integration with Harness CE and Continuous Delivery (CD). Powered by the CNCF project, LitmusChaos, this integration makes it easier for Developers and SREs to test the reliability and resilience of applications in software delivery pipelines to improve overall reliability and minimize the risk of unplanned downtime.

Chaos orchestration in CI/CD pipelines

Unified Experimentation Platform

Implement chaos engineering using our SaaS, self-hosted, on-premises, or air-gapped deployments to align with your business and security requirements. Harness supports injecting experiments into multiple platforms and environments. The Enterprise ChaosHub is a catalog of advanced experiments with coverage across VMware, AWS, GCP, Azure, Serverless and a full range of Kubernetes chaos experiments. Chaos experiments enable users to manage, edit, schedule, and run experiments within the UI for improved collaboration. Harness provides the largest and most diverse chaos experiments available today, with many more added monthly.

Enterprise ChaosHub UI showing a catalog of AWS chaos experiments with options to launch each experiment

Chaos Orchestration and Reliability Management

Chaos orchestration enables users to build a CE practice quickly by letting the Harness solution fill the gaps in the organization's knowledge, processes, and tools. Utilize Harness CE to train new and existing employees to level everyone up on software reliability. 

Roll out chaos engineering to the entire enterprise from a Git repository instead of waiting years to adopt the CE practice team by team. Start your entire enterprise on the chaos engineering practice to scale software reliability to every application. Leverage GitOps and CI/CD integrations to automate the complexity and meet developers where they are by providing declarative YAML files for chaos experiments that improve the developer experience.

The GitOps feature enables you to configure a single source of truth for your chaos experiments and execute them directly from Git, allowing a vast scope of automation in CI/CD pipelines.

A team can manage reliability through the resilience score to define, measure, and tune each experiment to track resiliency over time and automate experiment results.

Harness Chaos Engineering dashboard showing a 75% average resilience score and a visual chaos experiment pipeline

Steady State Measurement

Rather than have developers manually look at monitoring dashboards and have “eyes on glass” with multiple browser tabs open, Harness CE provides probes that can automate the experiment's measurement. Probes are editable checks you can define for any chaos experiment to measure an experiment's success and failure conditions. Chaos Probe examples include simple querying of application health checks and system steady state metrics.

Harness Chaos Engineering Steady State Measurement

GameDay Portal

A GameDay is a series of experiments that serves a purpose, such as:

  • New engineer training for on-call rotation
  • Exploring unknown failure modes in a system
  • Migrating a system to a new technology that enables education of that technology
  • Incident re-creation to validate code fixes
  • Validation of Disaster Recovery exercises

The Harness Chaos Engineering platform’s GameDay feature constructs experiments to test with a team. Your GameDay is repeatable by defining it as a template. The feature enables a user to start, stop, and re-run experiments within one UI, allowing a team to test in small increments of failure. The team can also take notes and observations and create a checklist of tasks they need to complete, which can be added to a ticketing system.

Experiment Control Methods

Harness provides declarative chaos experiments to define configuration in a code repository, version, and edit through automation. This declarative approach empowers developers to build and automate reliability in their code.

Harness chaos engineering enables you to run faults in parallel (CPU fault + Memory fault) to mimic real-world events. In addition to this approach, you can run chaos experiments in parallel to model complex IT outages that often stem from multiple failure modes.

Run various experiments on different targets to simulate cascading failure across more extensive sets of services. This ability enables you to cause a network disruption on one cloud provider’s availability zone and simultaneously run a resource exhaustion experiment, simulating traffic moving over to the redundant system.

Lastly, you can abort an inflight experiment that causes an impact beyond the desired test expectation. Users can manually or automatically set up abort conditions using probes defined with the tested system's health metrics and automate recovery scripts.

Harness Chaos Hub interface showing the AWS EBS Loss By Tag experiment workflow preview and YAML configuration

Observability and Ecosystem Integrations

Harness CE can send chaos metrics to popular observability and application performance monitoring (APM) solutions that enable developers to integrate with their ecosystem of reliability. This reduces developer toil because Harness CE can plug into their system. Our list includes Prometheus, Grafana, Dynatrace, Keptn, and more. Besides observability and monitoring integrations, you can integrate with load-testing tools or leverage your own test with a custom script.

Enterprise Dashboards, Analytics, and Reports 

Different roles require additional views regarding dashboards and reports. Executives might want a high-level risk assessment on a single dashboard. An engineering manager might want to see the reliability status of all services. Regardless, Harness CE has all the experiment data, analytics, and reporting capabilities needed to be the centralized source for reliability.

Harness Chaos Engineering overview dashboard showing recent experiment runs, resilience scores, and execution status

Enterprise-Grade Audit Trails and RBAC

Harness has built a reputation in the CI/CD industry for having detailed audit trails and fine-grained RBAC. These audit trails make it quick and easy for engineering teams to pass audits, often turning what would be days of effort into just a few hours. Our fine-grained RBAC model means that you can implement a permissions system that meets your organization's needs - no matter how complex.

Enterprise Support 

Harness recognizes that enterprises need to move fast and scale quickly to meet the demands of their business, so we’re equipped to offer enterprise support to ensure your chaos engineering practice can begin as quickly and safely as possible. Harness CE was built by the same team of experts that created the CNCF open-source project, LitmusChaos. This team is ready to support SaaS, on-premises, self-hosted, or air-gapped installations and provide onboarding assistance, feature enhancements, chaos best practices, and custom tooling integration for CI/CD and observability platforms.

Start Improving Software Reliability Today with Harness Chaos Engineering

Getting started with chaos engineering has never been so simple. If you are ready to see how your organization can adopt this practice and improve reliability, get a demo and sign up for the SaaS trial today!

Get Started

Get Started with Harness AI

Try the full platform free. No module restrictions, no credit card.

Uma Mukkara
Head of Chaos Engineering
Uma Mukkara is Head of Chaos Engineering at Harness, where he helps teams improve reliability by safely testing how systems behave during real-world failures. Earlier, Mukkara co-founded MayaData and helped build cloud-native technologies such as OpenEBS.
uma-mukkara
Uma Mukkara
https://www.linkedin.com/in/uma-mukkara/