# Architecture

Easy, flexible deployment in any environment while keeping them as close as possible to where the data is produced delivers unparalleled speed and efficiency, enabling you to cut the infrastructure you have dedicated to orchestration by up to 80%.

The Onum infrastructure consists of:

* **Distributor**: this is the service that hosts the Listener before forwarding it to Workers.
* **Worker**: this is the service that runs the Pipelines, receiving data from its Distributor and contained within a Cluster.
* **Cluster**: a container grouping Distributors and Workers. You can have as many clusters as required per Tenant.

Listeners are hosted within Distributors and are placed as close as possible to where data is generated. The Distributor pulls tasks from the data queue passing through the pipeline and distributes it to the next available worker in a Cluster. As soon as a Worker completes a task it becomes available again, and the Distributor in turn will assign it the next task from the queue.

The installation process creates the Distributor and all Workers for each data source in the cluster.

<div data-full-width="false"><figure><picture><source srcset="https://965373739-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkxZeV4nlXcIAjMGZxzLI%2Fuploads%2F2Xnp7HbwWWmypMFcPew0%2Farchitecture-dark.png?alt=media&#x26;token=ee2e0bb1-4b31-40f0-b274-6b687117b952" media="(prefers-color-scheme: dark)"><img src="https://965373739-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkxZeV4nlXcIAjMGZxzLI%2Fuploads%2Fr4sVuB7KxhposJfjTvkW%2Farchitecture-light.png?alt=media&#x26;token=17f4d39b-aa1f-49a7-b2c7-0fcdb7cf1b8e" alt=""></picture><figcaption></figcaption></figure></div>

## How it works

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th><select></select></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Any format. Any source.</strong></td><td><p>Collect data from anywhere it’s generated, across every aspect of the network.</p><p>All data is aggregated, observed, and seamlessly routed to any destination.</p></td><td></td><td></td><td><a href="https://965373739-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkxZeV4nlXcIAjMGZxzLI%2Fuploads%2FjJwi4biJgYUquzBJS3wO%2Fany.png?alt=media&#x26;token=7a63966c-d2bd-453c-a8df-746b5881dfea">any.png</a></td></tr><tr><td><strong>Edge observability</strong></td><td>Listeners are placed right on the edge to collect all data as close as possible to where it’s generated. </td><td></td><td></td><td><a href="https://965373739-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkxZeV4nlXcIAjMGZxzLI%2Fuploads%2FJ0OnzRRyy5rdX53a3RhT%2Fedge.png?alt=media&#x26;token=94a35676-eb14-453d-92b1-9c73d390a70a">edge.png</a></td></tr><tr><td><strong>Centralized management</strong></td><td>Onum receives data from  Listeners and observes and optimizes the data from all nodes. All data is then sent to the proper data sink.</td><td></td><td></td><td><a href="https://965373739-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkxZeV4nlXcIAjMGZxzLI%2Fuploads%2FiBRYwVbkPOHQ97E0qcvW%2Fcentralized.png?alt=media&#x26;token=a6df7cd2-ba05-4f79-9d07-028fc728c1c8">centralized.png</a></td></tr></tbody></table>

## Deployment types

The Onum Platform supports any deployment type ― including `on-premises`, the Onum public cloud, or your own private `cloud`.

In a typical SaaS-based deployment, most processing activities are conducted in the Cloud.&#x20;

<figure><picture><source srcset="https://965373739-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkxZeV4nlXcIAjMGZxzLI%2Fuploads%2FLOrHvI3EIEqv1rzssZkr%2Fdeployment-types-dark.png?alt=media&#x26;token=755968a4-1c60-4f6b-9303-2ae53d608810" media="(prefers-color-scheme: dark)"><img src="https://965373739-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkxZeV4nlXcIAjMGZxzLI%2Fuploads%2FLU9zamxCZHqbqtVziUw3%2Fdeployment-types-light.png?alt=media&#x26;token=7ab2b143-2b7e-4d54-8f6b-51067ada792b" alt=""></picture><figcaption></figcaption></figure>

Client-side components can be deployed on a Linux machine or on a Kubernetes cluster for easy, flexible deployment in any environment. Onum supports all major cloud environments, including Amazon Web Services (AWS), Google Cloud Platform (GCP), and Microsoft Azure.

When the deployment type is on-premises, the communication between the management console and the process cluster will be encrypted with TLS and controlled by pull updates from the process cluster at configurable intervals.

{% hint style="info" %}
Learn more about Deployment requirements [here](https://docs.onum.com/getting-started/deployment).
{% endhint %}

## Delivery methods

Onum supports all major standards such as Netflow, Syslog, and Kafka to orchestrate data streams to any desired destination, including popular data analytics tools such as Splunk and Devo, as well as storage environments such as S3.

<figure><picture><source srcset="https://965373739-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkxZeV4nlXcIAjMGZxzLI%2Fuploads%2Frh7X0qeNlI5KaW8YlhAY%2Fcroow.png?alt=media&#x26;token=6326c248-ea99-495e-83dc-d1b73ea0d5e5" media="(prefers-color-scheme: dark)"><img src="https://965373739-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkxZeV4nlXcIAjMGZxzLI%2Fuploads%2F9nzVmVuBwThTnugqmnyR%2Fcrowonum.png?alt=media&#x26;token=3c063a65-5b53-4a14-8743-dbdea45d15f3" alt=""></picture><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.onum.com/getting-started/architecture.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
