Blog
Resilience Testing

Harness Adds 8 New Features to Redefine Resiliency with AI-Powered Chaos Engineering | Harness Blog

Discover how Harness Resilience Testing is redefining resilience with AI-powered automation and next-gen features. Learn about seamless service discovery, tailored chaos experiments, and intelligent safeguards that help teams proactively tackle system weaknesses, scale resilience practices, and minimize downtime.

TL;DR

  • Harness Resilience Testing combines AI-driven automation with DevOps integration to help teams proactively identify system weaknesses before they cause production outages.
  • Eight new features include automated service discovery, AI-generated chaos experiments, and ChaosGuard safeguards that prevent disruption to critical environments.
  • Organizations using chaos engineering practices report fewer incidents and faster recovery times when failures do occur.
  • Features like experiment-level probes, native AWS ECS support, and fault flags enable precise, scalable resilience testing across cloud-native and legacy systems.
  • Automated resilience testing helps teams reduce Mean Time to Recovery (MTTR) and minimize the business impact of downtime.

Modern systems are complex, distributed, and constantly evolving—creating new risks with every change. Downtime, scaling issues, and unexpected failures aren’t just technical problems; they’re business challenges that impact revenue, customer trust, and compliance. Chaos engineering offers a proactive way to tackle these challenges by simulating failures to improve resilience.

But what if chaos engineering could do more? What if it didn’t just simulate failures but provided actionable insights, AI-driven recommendations, and seamless integrations to help you build truly resilient systems and teams?

With Harness Resilience Testing, that future is now. Combining AI-powered automation with deep ecosystem integration, Harness is redefining how teams approach resilience testing. By simplifying workflows, connecting the dots between changes and failures, and empowering teams to act, we’re transforming uncertainty into predictable reliability.

Why Choose Harness Resilience Testing?

Unlike traditional chaos engineering tools that focus on isolated tests, Harness Resilience Testing integrates directly into your DevOps pipelines and operational workflows, empowering teams with a unified platform to:

  • Proactively identify and fix system weaknesses.
  • Automate resilience testing with AI-driven recommendations.
  • Scale chaos experiments across cloud-native and legacy environments.
  • Minimize downtime, reduce costs, and improve Mean Time to Recovery (MTTR).

Your Partner in Resilience

AI is the cornerstone of modern DevOps platforms. Harness Resilience Testing is no different and enables teams to move beyond manual testing and into intelligent, proactive experimentation. Here’s how Harness integrates AI to transform resilience:

  • Tailored Recommendations: AI analyzes your architecture and operational data to suggest the most impactful chaos experiments.
  • Automated Experimentation: From setup to execution, AI reduces complexity and accelerates testing cycles.
  • Actionable Insights: AI provides clear, data-driven next steps to address weaknesses and improve system reliability.
Harness Chaos Engineering dashboard displaying AI Recommendations to create, run, or fix specific chaos experiments
Harness AI Recommendations

Chaos Recommendations Using AI

Leverages AI to analyze systems and suggest optimal experiments, reducing the guesswork and increasing the efficiency of chaos testing.

AI for Chaos Experimentation

Automates the design, execution, and learning cycles of chaos experiments, scaling resilience practices with minimal effort.

Create an Experiment with AI modal in Harness, showing a natural language prompt to delete pods on a Kubernetes cluster
AI creation of experiments
Harness AI Development Assistant (AIDA) generating a chaos experiment workflow from a natural language prompt
AI creation workflows

Key New Features: Building Resilience Smarter

Now GA: Tested and Trusted Features

Service Discovery & Auto-Creation of Chaos Experiments
Automates the discovery of services and generates tailored chaos experiments, ensuring comprehensive resilience coverage without manual setup.

Application map in Harness Chaos Engineering displaying discovered services, a 50% resilience score, and 85% coverage
Application map from service discovery

Chaos Templates in CI/CD Pipelines
Enables teams to integrate chaos experiments directly into their delivery workflows, making resilience testing a seamless part of every release.

Selecting an existing chaos experiment to add as a stage in a Harness CI/CD pipeline
Chaos template in CI/CD pipelines

ChaosGuard for All Platforms
Adds safeguards to ensure chaos experiments are controlled and never disrupt critical production environments.

ChaosGuard Rules dashboard and a Create New Condition window with Kubernetes, Linux, and Windows infrastructure options
ChaosGuard for all infrastructure types

In Beta: Next-Gen Resilience Tools

Experiment-Level Probes and Actions
Allows granular control of chaos experiments, enabling precise targeting and detailed analysis of results. Program actions to take based on results of test.

Harness Chaos Engineering UI showing the Probes & Actions list and configuring an action on an experiment-level probe
Experiment-level probes and actions

Native AWS ECS Agent
Brings chaos engineering natively to AWS ECS environments, empowering cloud-native teams to validate resilience under real-world conditions.

Harness Chaos Engineering Environments screen showing AWS ECS infrastructure connected via the native ECS agent
ECS agent for injecting failure

Fault Flags for Application Chaos
Introduces application-level control for chaos experiments, enabling smarter, more dynamic fault injections.

Enterprise ChaosHub UI showing application chaos faults: func_inject_delay, func_inject_exception, and func_return_value
Application chaos with fault flags

Start Building Resilience Today

While change and chaos are inevitable, resilience can ensure systems recover efficiently. With Harness Resilience Testing, you can turn unpredictability into strength, building systems that adapt, recover, and thrive under pressure. Sign up for a demo today or join our free plan to get started.

← Previous:
Next: →

FAQs

Related Resources

Achieving Continuous Resilience with Harness Chaos Engineering

Resilience Testing

Achieving Continuous Resilience with Harness Chaos Engineering

May 25, 2023

Uma Mukkara

+ more
Time to Read

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

Exploring Chaos Engineering for Kubernetes resilience testing

Resilience Testing

Exploring Chaos Engineering for Kubernetes resilience testing

October 3, 2024

Shashank Dwivedi

+ more
Time to Read

Objective: This blog aims to provide an understanding of Chaos Engineering, its importance, and best practices for testing the resilience of your Kubernetes Well-Architected Framework.

What is Chaos Engineering?

Chaos Engineering is the discipline of performing experiments on software systems to build confidence in their ability to withstand turbulent and unexpected conditions. In other words, failures are intentionally injected into applications to strengthen resilience. By proactively introducing controlled chaos, you can identify weaknesses and prevent catastrophic failures.

A formal definition:

Chaos engineering(https://en.wikipedia.org/wiki/Chaos_engineering) is the discipline of performing experiments on software to build confidence in the system's capability to withstand turbulent and unexpected conditions.”

In practice, this means creating and managing chaos in a system by injecting faults to discover vulnerabilities before they become critical failures.

Why is Chaos Engineering Important?

Incidents and outages are inevitable and can lead to significant financial losses. A prime example is one of the AWS outages in November 2020, caused by an issue in Amazon Kinesis. This failure affected a wide range of services, including Amazon ECS, EKS, CloudWatch, Lambda, and others, costing millions during the critical Black Friday sales week.

Chaos Engineering allows organizations to proactively test their systems’ weaknesses by reproducing incidents or injecting faults in a controlled manner. For instance, companies like Amazon and Netflix have reported up to a 45% reduction in downtime after adopting Chaos Engineering practices.

What is a Kubernetes Well-Architected Framework?

Kubernetes is a widely used container orchestration framework that provides best practices for building highly available and resilient applications. Here are key design patterns recommended for ensuring resilience:

Kubernetes Design Patterns:

  1. Liveness Probe: Verifies the container's health using checks (HTTP, Command, TCP) to ensure the container is restarted if it becomes unresponsive or deadlocked.
  2. Resource Requests and Limits: Developers must set CPU and memory requests and limits to prevent resource exhaustion (e.g., out-of-memory errors), ensuring application stability.
  3. Observability and Monitoring: Use observability tools like Prometheus or Datadog to monitor Kubernetes metrics, create alerts, and address anomalies.
  4. Node/Pod Affinity: Ensures pods are scheduled across nodes or availability zones for performance and reliability.
  5. Horizontal Scaling: Automatically scales application pods based on resource consumption (CPU, Memory) during high traffic, optimizing both performance and cost.
  6. Handling Voluntary Disruptions: This refers to intentional actions like maintenance or node restarts. It's essential to test how your application handles these disruptions.
  7. Security (Certificates): Applications should handle HTTPS interactions and manage SSL/TLS certificate expiration to prevent downtime.
  8. Mapping Service Dependencies: Understanding service dependencies is crucial to identifying bottlenecks during failure scenarios in micro-service architectures.

How Harness Chaos Engineering Enhances Kubernetes Resilience

Harness Chaos Engineering helps you automate resilience testing in your Kubernetes clusters, identifying potential weaknesses in your architecture.

Kubernetes Experiment Suite

Harness offers an experiment suite designed to test the resilience of Kubernetes design patterns. This suite contains 40+ recommended experiments categorized into the following for Kubernetes:

a) Voluntary Disruptions

  • Experiments: Pod Delete, Container Kill, Node Drain, Node Restart.
  • Use Cases: Test scenarios like node/pod affinity, SLAs, and failover in the event of a node failure. Verify how your application behaves during maintenance or restarts.

b) Scalability

  • Experiments: Pod and Node CPU Hog/Stress, Pod and Node Memory Hog/Stress, Pod Disk Fill, Pod and Node I/O Stress.
  • Use Cases: Verify the impact of resource exhaustion (CPU, memory) on application performance. Test Horizontal Pod Autoscaling and ensure applications scale appropriately during stress.

c) Service Dependency

  • Experiments: Pod and Node Network Latency, Pod and Node Black Hole/Network Loss.
  • Use Cases: Test how applications handle network latency, blackholes, and other communication failures. Ensure proper error handling and assess the impact of component failures.

d) Security

  • Experiment: Time Chaos (Certificate Expiration).
  • Use Cases: Simulate certificate expiration to test application response. Ensure your monitoring tools trigger alerts and that your application gracefully handles the scenario.

How Harness Chaos Engineering Automates Chaos Testing in Kubernetes

Harness Chaos Engineering simplifies and scales chaos testing for Kubernetes environments with features such as:

1. Automatic Service Discovery & Application Maps

Harness’s discovery agent automatically identifies services within your Kubernetes namespaces, providing an application map to show traffic flows between services.

__wf_reserved_inherit
Harness service discovery and application maps

__wf_reserved_inherit
Harness service relationship details

2. Auto-Creation of Experiments

After service discovery, Harness auto-generates chaos experiments at different levels of complexity (Basic, Intermediate, Advanced):

  • Basic Experiments (Only a Few): Includes Pod Delete and Network Loss experiments.
  • Intermediate Experiments (Moderate): Includes Pod Delete, Network Loss, and CPU experiments.
  • Advanced Experiments (Maximum): Includes Basic and Intermediate experiments along with Memory experiments.
__wf_reserved_inherit
Harness auto-creation of chaos experiments

3. Out-of-the-Box Kubernetes Faults

Harness offers a wide range of built-in chaos faults for Kubernetes (reference documentation), ensuring you can test for various failure scenarios.

__wf_reserved_inherit
Extensive chaos fault coverage for Kubernetes

4. Resilience Probes

Probes validate your hypothesis about the system’s resilience. For example, Is your application responsive when an application pod is deleted?

__wf_reserved_inherit
Multiple resilience probes options to ensure observability in your tests

5. Resilience Score

The resilience score quantifies how resilient your environment is after running chaos experiments. It’s based on the weight given to each fault and the success rate of probes, providing a clear picture of your system's reliability.

__wf_reserved_inherit
Chaos experiment lifecycle including resilience score

Conclusion

Chaos Engineering is essential for building resilient systems, particularly in Kubernetes environments. By proactively injecting faults, organizations can prevent failures and ensure high availability, ultimately leading to reduced downtime and better customer experiences.

For more detailed use cases and technical documentation, please refer to the Chaos Engineering Docs.

Sign up for FREE to experience the ease of resilience verification using chaos experiments. The free plan allows you to run a few chaos experiments at no charge for an unlimited time, boosting Chaos Engineering for the community.

Harness' Chaos Engineering ROI Calculator helps estimate business losses from outages and evaluates the ROI of chaos engineering practices. By simulating failures and optimizing recovery, it improves system reliability and reduces downtime, providing a clear financial benefit to organizations.

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/
Matt Schillerstrom
Director of Product Management and Product Marketing
Matt Schillerstrom is a Product Marketing Manager at Harness, specializing in Feature Management, Chaos Engineering, Database DevOps, and AI-native DevOps.
matt-schillerstrom
Matt Schillerstrom
https://www.linkedin.com/in/matt-schillerstrom-722b5559/