> 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/feature-management-experimentation/new-to-fme/sdks-and-customer-deployed-components/customer-deployed-components.md).

# Customer-deployed Components

Learn about the Harness FME components you can deploy within your own environment, including the Split Daemon, Evaluator, Proxy, and Synchronizer.

## Overview

Customer-deployed components allow you to run parts of the Harness FME infrastructure within your own environment.

This gives you more control over data flow, network latency, and compliance by hosting core services locally or in your private cloud.

By deploying one or more of these components, you can:

* Meet strict data residency or security requirements
* Reduce latency by keeping evaluation close to your users or services
* Integrate FME into custom delivery architectures or service meshes
* Manage SDK connections and feature flag evaluations without direct client-to-cloud communication

## Run the Split Evaluator, Split Proxy, or Split Synchronizer with Kubernetes

Harness FME provides three containerized applications that can be run on your own infrastructure. These apps can handle specific use cases for feature flagging and experimentation with our SDKs and APIs.

Go to the [Kubernetes and Split blog post](https://www.harness.io/blog/kubernetes-and-split) for architectural diagrams and sample configuration files to run the Split Evaluator, Split Proxy, and Split Synchronizer in Kubernetes.

## Get started

Select a component you want to deploy.

<table data-view="cards"><thead><tr><th align="center"></th><th align="center"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center"><img src="https://1473625385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrT2RGHAjtBTaObzchfpb%2Fuploads%2Fgit-blob-5bf3e8df9a68c29b807051ae5f3d947bd7dee6b6%2Fimage.png?alt=media" alt="" data-size="line"></td><td align="center"><strong>Split Daemon (splitd)</strong></td><td><a href="/feature-management-experimentation/new-to-fme/sdks-and-customer-deployed-components/customer-deployed-components/split-daemon-splitd.md">Split Daemon (splitd)</a></td></tr><tr><td align="center"><img src="https://1473625385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrT2RGHAjtBTaObzchfpb%2Fuploads%2Fgit-blob-5bf3e8df9a68c29b807051ae5f3d947bd7dee6b6%2Fimage.png?alt=media" alt="" data-size="line"></td><td align="center"><strong>Split Evaluator</strong></td><td><a href="/feature-management-experimentation/new-to-fme/sdks-and-customer-deployed-components/customer-deployed-components/split-evaluator.md">Split Evaluator</a></td></tr><tr><td align="center"><img src="https://1473625385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrT2RGHAjtBTaObzchfpb%2Fuploads%2Fgit-blob-5bf3e8df9a68c29b807051ae5f3d947bd7dee6b6%2Fimage.png?alt=media" alt="" data-size="line"></td><td align="center"><strong>Split Proxy</strong></td><td><a href="/feature-management-experimentation/new-to-fme/sdks-and-customer-deployed-components/customer-deployed-components/split-proxy.md">Split Proxy</a></td></tr><tr><td align="center"><img src="https://1473625385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrT2RGHAjtBTaObzchfpb%2Fuploads%2Fgit-blob-5bf3e8df9a68c29b807051ae5f3d947bd7dee6b6%2Fimage.png?alt=media" alt="" data-size="line"></td><td align="center"><strong>Split Synchronizer</strong></td><td><a href="/feature-management-experimentation/new-to-fme/sdks-and-customer-deployed-components/customer-deployed-components/split-synchronizer.md">Split Synchronizer</a></td></tr><tr><td align="center"><img src="https://1473625385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrT2RGHAjtBTaObzchfpb%2Fuploads%2Fgit-blob-ed0c02f95bc2d533c7ae6750a769f486018c0ddf%2Fimage.png?alt=media" alt="" data-size="original"></td><td align="center"><strong>Split JavaScript Synchronizer Tools</strong></td><td><a href="/feature-management-experimentation/new-to-fme/sdks-and-customer-deployed-components/customer-deployed-components/split-javascript-synchronizer-tools.md">Split JavaScript synchronizer tools</a></td></tr><tr><td align="center"><img src="https://1473625385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrT2RGHAjtBTaObzchfpb%2Fuploads%2Fgit-blob-5bf3e8df9a68c29b807051ae5f3d947bd7dee6b6%2Fimage.png?alt=media" alt="" data-size="line"></td><td align="center"><strong>Split Synchronizer runbook</strong></td><td><a href="/feature-management-experimentation/new-to-fme/sdks-and-customer-deployed-components/customer-deployed-components/split-sync-runbook.md">Split Synchronizer runbook</a></td></tr><tr><td align="center"><img src="https://1473625385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrT2RGHAjtBTaObzchfpb%2Fuploads%2Fgit-blob-c9d6514f8c09bde8cf1fe0a726d68e8c17488cae%2Fimage.png?alt=media" alt="" data-size="line"></td><td align="center"><strong>Harness Proxy</strong></td><td><a href="/feature-management-experimentation/new-to-fme/sdks-and-customer-deployed-components/customer-deployed-components/harness-proxy.md">Harness Proxy</a></td></tr></tbody></table>

{% @harness-feedback/feedback %}
