> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/resilience-testing/chaos-engineering/use-chaos-engineering/infrastructure/types/ddcr/ddcr.md).

# Delegate-Driven Chaos Infrastructure

This topic describes Delegate-Driven Chaos Infrastructure, its characteristics, and installation.

### What is DDCR? <a href="#what-is-ddcr" id="what-is-ddcr"></a>

DDCR, aka [Harness Delegate or DDCI (Delegate-Driven Chaos Infrastructure) or DDCR (Delegate-Driven Chaos Runners)](/harness-ai/use-harness-platform/delegates/delegate/delegate-concepts/delegate-overview.md) is a service that runs in your local network that helps connect your infrastructure, artifacts with Harness Manager. It allows for quick onboarding and optimized chaos execution for microservices-based targets on Kubernetes.

To install a new Delegate, go to [enable chaos](/resilience-testing/chaos-engineering/use-chaos-engineering/infrastructure/types/types.md)

The diagram below describes the high-level flow of how you can [discover services](/resilience-testing/chaos-engineering/use-chaos-engineering/service-discovery.md) and [create application maps](/resilience-testing/chaos-engineering/use-chaos-engineering/application-maps.md).

![](/files/XVkPaFGXAuniMEZvy4HV)

{% hint style="info" %}
**NOTE**

* To execute chaos experiments, HCE supports Delegate version `24.09.83900` and above.
  {% endhint %}

#### Experiment execution using DDCR <a href="#experiment-execution-using-ddcr" id="experiment-execution-using-ddcr"></a>

The schematic diagram below describes how chaos experiments are executed in using Harness Delegate. It highlights the use of Harness Delegate which eliminates the need for a separate chaos agent, which simplifies the experiment orchestration mechanism.

![](/files/8MqRywdkoVYspqHFKzHh)

Go to [permissions required](/resilience-testing/chaos-engineering/use-chaos-engineering/infrastructure/infrastructures.md#what-is-ddcrpermissions) to know the detailed list of permissions to execute Kubernetes faults with a Delegate.

The diagram below describes the detailed flow of control (step 5 of the earlier diagram), for an example chaos experiment- [pod DNS chaos](/resilience-testing/chaos-engineering/faults/chaos-fault-categories/kubernetes/pod/pod-dns-error.md).

![](/files/mwMXuTLPx7CPSZEf8EJg)

#### Characteristics of DDCR <a href="#characteristics-of-ddcr" id="characteristics-of-ddcr"></a>

* Automated Kubernetes [service discovery](/resilience-testing/chaos-engineering/use-chaos-engineering/service-discovery.md) and workloads with network traffic patterns between them through a transient discovery agent.
* [Automated](/resilience-testing/chaos-engineering/new-to-chaos-engineering/quickstart.md#choose-between-automatic-and-customizable-application-map-creation) and [guided](/resilience-testing/chaos-engineering/use-chaos-engineering/application-maps.md#create-an-application-map) application map creation that represent a fully functional application within the cluster (which comprises of several constituent microservices).
* [Chaos experiment auto-creation](#auto-create-experiment) for a given [application map](/resilience-testing/chaos-engineering/use-chaos-engineering/application-maps.md) based on the workload specification and its lineage in terms of network traffic.
* Reuse the Harness Delegate for chaos experiment execution on the user cluster without a dedicated (or separate) chaos agent.
* Application-level and application map level resilience scores.

#### Auto-create experiments <a href="#auto-create-experiments" id="auto-create-experiments"></a>

Experiments are auto-created based on levels (or categories) you select during automated or guided onboarding. The default setting is that HCE creates all the recommended experiments for the selected application map.

![](/files/maP6d8aTH2SCyQNmQdkY)

#### Speed of execution <a href="#speed-of-execution" id="speed-of-execution"></a>

Earlier, chaos experiments that executed on dedicated chaos infrastructure would typically take more time (in the order of 4 minutes) whereas with Harness Delegate, you can complete experiment execution in less than half the time (in the order of 1.5 minutes).

The diagram below shows the execution time for experiments that use legacy Kubernetes infrastructure.

![](/files/uthr5oicL18nBYr22M0o)

The diagram below shows the execution time for experiments that use Harness Delegate.

![](/files/NK0BsDputks08fBj4m5L)

#### Fault tunables <a href="#fault-tunables" id="fault-tunables"></a>

The number of tunables configured in an experiment that uses Harness Delegate is different. Harness Delegate provides better control over the experiments because of the presence of advanced tunables.

#### Resilience score <a href="#resilience-score" id="resilience-score"></a>

Earlier, resilience score was measured at the experiment level. With Harness Delegate, you can gain insights into an application along with its associated application map. This way, you can view the application-level resilience score and application-map-level resilience score.

### Next Steps <a href="#next-steps" id="next-steps"></a>

* [Permissions Required](/resilience-testing/chaos-engineering/use-chaos-engineering/infrastructure/types/ddcr/permissions.md)
* [Install Delegate](/resilience-testing/chaos-engineering/use-chaos-engineering/infrastructure/types/ddcr/installation.md)
* [Delegate versus Dedicated infrastructure](/resilience-testing/chaos-engineering/use-chaos-engineering/infrastructure/types/ddcr-vs-dedicated.md)
