---
title: System Requirements
slug: bhdo-v2/system-requirements
createdAt: 2022-03-30T21:22:55.000Z
---

Refer to the following system requirements for running Belden Horizon Data Operations.&#x20;

# Minimum Requirements&#x20;

A Belden Horizon Data Operations instance is designed to collect, analyze, and forward data. These data operations could require heavy computing resources to be able to facilitate all the day-to-day processes a Belden Horizon Data Operations instance will execute. Although it is possible to run Belden Horizon Data Operations on a wide range of devices, not having enough computing resources for your particular scenario could create serious performance issues.

Consider the following factors when deciding upon the hardware that your Belden Horizon Data Operations will use:

- What is the amount of data that will be processed?
- What is your hardware budget?
- How many devices will you connect to Belden Horizon Data Operations?
- How many Flows/Analytics/Applications/Integrations will you need?
- What programming language and frameworks will you use?
- Will you need frequent **Belden Horizon Data Manager-Belden Horizon Data Operations** interactions (for example, in the case of automatic backups) as well?

To address some of these questions, we recommend you first install Belden Horizon Data Operations on a test Virtual Machine (VM). Then run a partial execution of all your possible workloads to see how it performs. From there, you can get a better idea whether you need less, about the same, or a multiplying factor of your test VM's computing resources. See below for setting up this VM.

# Deployment Requirements

BHDO can be deployed using Docker, ISO or OVA files, and is compatible with both x86 and ARM architectures. The following table summarizes the minimum compute requirements when running BHDO in a VM or container:

|         | Minimum Compute Requirements (VM) | Minimum Compute Requirements (Container) |
| ------- | --------------------------------- | ---------------------------------------- |
| Cores   | 2                                 | 2                                        |
| Memory  | 4 GB                              | 2 GB                                     |
| Storage | 20 GB                             | 10 GB                                    |



# Recommended Configurations

A Belden Horizon Data Operations instance is typically customized under one of the following three configurations.

## Data Pass-Through

- Reading and passing data executed externally exclusively on Integrations.
- Minimal data processing and/or storage performed on the Belden Horizon Data Operations instance.
- Most computing resources consumed by only DeviceHub and data storage/forwarding to Integrations.

## In-Stream Processing

- Low-volume in-stream processing of data using Flows and/or Analytics (for example, value change or anomaly detection).
- Data stored in InfluxDB for local visualization using a container running the Grafana or Python application.
- Computing resources consumed by InfluxDB, Flows, Analytics, Containers, and DeviceHub.

## Heavy In-Stream Processing and Application Usage

- High-volume in-stream processing of all collected data involving complex Flows and Analytics.
  - Multiple Flows are configured with the maximum allowed RAM.
  - In Analytics, many groups operate, each including multiple processors.
  - Several containers may be run for further data processing, traceability, downtime recording, and so on.
- InfluxDB will require additional CPU and RAM resources if a large number of devices and tags are configured
  - Each device will become its own InfluxDB data table (measurement).
- Computing resources consumed by user-defined code within Flows, Applications, and Analytics flows.

The following table summarizes parameters for the above three starting configurations when sizing a Belden Horizon Data Operations instance.

|                         | **Configuration 1 (Data pass-through)**                                                                                                              | **Configuration 2 (In-stream processing)**                                                                                                           | **Configuration 3 (Heavy in-stream processing and application usage)**                                                                               |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| Devices                 | 1-5                                                                                                                                                  | 5-10                                                                                                                                                 | 10+                                                                                                                                                  |
| Average Tags per Device | 10-20                                                                                                                                                | 20-100                                                                                                                                               | 100+                                                                                                                                                 |
| Flows Instances         | 0-4                                                                                                                                                  | 1-4                                                                                                                                                  | 1-4                                                                                                                                                  |
| Average Flow Nodes      | \< 10                                                                                                                                                | 10-50                                                                                                                                                | 50+                                                                                                                                                  |
| Analytics               | 0-5                                                                                                                                                  | 5-25                                                                                                                                                 | 25+                                                                                                                                                  |
| Applications/Containers | 0                                                                                                                                                    | 1-2                                                                                                                                                  | 2+                                                                                                                                                   |
| Integrations            | 1-2                                                                                                                                                  | 1-5                                                                                                                                                  | 5+                                                                                                                                                   |
| InfluxDB Usage          | Optional                                                                                                                                             | Mandatory                                                                                                                                            | Mandatory                                                                                                                                            |
| OPC UA Server Usage     | Cannot function with OPC UA Server                                                                                                                   | Can function with OPC UA Server                                                                                                                      | Can function with OPC UA server                                                                                                                      |
| Cores                   | 4                                                                                                                                                    | 8                                                                                                                                                    | 12+                                                                                                                                                  |
| Memory(RAM)             | 8-16 GB                                                                                                                                              | 16-32 GB                                                                                                                                             | 32+ GB                                                                                                                                               |
| Storage (Disc)          | 100-250 GB                                                                                                                                           | 250- 500 GB                                                                                                                                          | 500+ GB                                                                                                                                              |
| NIC (Network Interface) | - Typically at least two:<br />- One for IT network (users, Belden Horizon Data  Manager, Integrations)<br />- One for OT network (PLC connectivity) | - Typically at least two:<br />- One for IT network (users, Belden Horizon Data  Manager, Integrations)<br />- One for OT network (PLC connectivity) | - Typically at least two:<br />- One for IT network (users, Belden Horizon Data  Manager, Integrations)<br />- One for OT network (PLC connectivity) |

# Firewall Port Configuration Requirements

:::hint{type="info"}
**Note**: You have the option of managing ports in Belden Horizon Data Operations. See [Manage Firewall Rules](docId\:hidOfex39BCe2ZiaWWvh2) to learn more.&#x20;
:::

The firewall managing Belden Horizon Data Operations' traffic must **always&#x20;**&#x6F;pen the following ports.

| **Function for Belden Horizon Data Operations**                       | **Port #** | **Encrypted** | **Direction** | **Protocol** | **Description** | **Source**<br />**(Port is used by who/what)** | **Destination**<br />**(Port must be opened at)** |
| --------------------------------------------------------------------- | ---------- | ------------- | ------------- | ------------ | --------------- | ---------------------------------------------- | ------------------------------------------------- |
| Accessing Belden Horizon Data Operations through a Web User Interface | 443        | Yes<br />SSL  | Inbound       | TCP          | HTTPS           | Belden Horizon Data Operations Users           | Belden Horizon Data Operations                    |

To allow a connection with Belden Horizon Data Operations and Belden Horizon Data Manager, the following ports must be open.&#x20;

| **Function for Belden Horizon Data Operations**                       | **Port #** | **Encrypted**  | **Direction** | **Protocol** | **Description**                                    | **Source**<br />**(Port is used by who/what)** | **Destination**<br />**(Port must be opened at)**          |
| --------------------------------------------------------------------- | ---------- | -------------- | ------------- | ------------ | -------------------------------------------------- | ---------------------------------------------- | ---------------------------------------------------------- |
| Redirects 443                                                         | 80         | No             | Inbound       | TCP          | HTTP                                               | Belden Horizon Data Operations users           | Belden Horizon Data Operations                             |
| Connect Belden Horizon Data Operations to Belden Horizon Data Manager | 8883       | Yes<br />MQTTS | Outbound      | TCP          | MQTT-SSL                                           | Belden Horizon Data Operations                 | Belden Horizon Data Manager <br />and Customer MQTT Broker |
| Connect Belden Horizon Data Operations to Belden Horizon Data Manager | 443        | Yes            | Outbound      | TCP          | HTTPS                                              | Belden Horizon Data Operations                 | Belden Horizon Data Manager                                |
| Connect Belden Horizon Data Operations to Belden Horizon Data Manager | 51820      | Yes            | Outbound      | UDP          | UDP<br />Belden Horizon Data Manager Remote Access | Belden Horizon Data Operations                 | Belden Horizon Data Manager                                |

The firewall managing Belden Horizon Data Operations' traffic must open **Only if corresponding services are present and running.**

| **Function for Belden Horizon Data Operations**                                                | **Port #** | **Encrypted**                                      | **Direction** | **Protocol** | **Description**                              | **Source**<br />**(Port is used by who/what)** | **Destination**<br />**(Port must be opened at)**         |
| ---------------------------------------------------------------------------------------------- | ---------- | -------------------------------------------------- | ------------- | ------------ | -------------------------------------------- | ---------------------------------------------- | --------------------------------------------------------- |
| Use Belden Horizon Data Operations as an FTP Server                                            | 21, 2121   | No                                                 | Inbound       | TCP          | FTP                                          | Customer FTP Server                            | Belden Horizon Data Operations                            |
| Use Belden Horizon Data Operations as an SSH Server<br /><br />Used for backend support access | 22         | Yes<br />Session key                               | Inbound       | TCP          | SSH                                          | Belden<br />Support Team                       | Belden Horizon Data Operations                            |
| Redirects 443                                                                                  | 80         | No                                                 | Inbound       | TCP          | HTTP                                         | Belden Horizon Data Operations users           | Belden Horizon Data Operations                            |
| Use Belden Horizon Data Operations as an LDAP Client                                           | 389        | No                                                 | Outbound      | TCP          | LDAP                                         | Belden Horizon Data Operations                 | Customer LDAP Server                                      |
| Use Belden Horizon Data Operations as an LDAP Client                                           | 636        | Yes<br />SSL                                       | Outbound      | TCP          | LDAP with SSL                                | Belden Horizon Data Operations                 | Customer LDAP Server                                      |
| Use Belden Horizon Data Operations as an OPC UA Server                                         | 4840       | Yes<br />(Depends on server settings)              | Inbound       | TCP/UDP      | OPC UA Server                                | Customer Northbound Application                | Belden Horizon Data Operations                            |
| Connect Belden Horizon Data Operations to Belden Horizon Data Manager                          | 8883       | Yes<br />MQTTS                                     | Outbound      | TCP          | MQTT-SSL                                     | Belden Horizon Data Operations                 | Belden Horizon Data Manager<br />and Customer MQTT Broker |
| Connect Belden Horizon Data Operations to Belden Horizon Data Manager                          | 443        | Yes                                                | Outbound      | TCP          | HTTPS                                        | Belden Horizon Data Operations                 | Belden Horizon Data Manager                               |
| Connect Belden Horizon Data Operations to Belden Horizon Data Manager                          | 51820      | Yes                                                | Outbound      | UDP          | Belden Horizon Data Manager Remote Access    | Belden Horizon Data Operations                 | Belden Horizon Data Manager                               |
| Collaboration with name servers to replace IP of BHDO with a name server                       | 5353       | No                                                 | Outbound      | UDP          | mDNS (Multicast DNS)                         | Belden Horizon Data Operations                 | Multicast Local Network                                   |
| Collaboration with name servers to replace IP of BHDO with a name server                       | 5355       | No                                                 | Inbound       | TCP/UDP      | LLMNR<br />(Link-Local Multicast Resolution) | 224.0.0.252<br /><br />                        | Belden Horizon Data Operations                            |
| Remote access over internet when accessing Belden Horizon Data Operations<br />                | 9993       | Yes (asymmetric public key encryption)<br /><br /> | Outbound      | UDP<br />    | Remote Access                                | Belden Support Team                            | Belden Horizon Data Operations                            |

## PLC-Specific Ports

The firewall managing Belden Horizon Data Operations' traffic must open specific ports for certain PLC devices to connect to Belden Horizon Data Operations.&#x20;

Ports for Industrial Systems and Sensors Connections are PLC specific and should be open on a case-by-case basis. See the [Industrial Systems Connection Guide](docId\:ZYvQmlqnLC_DusQ5VY9R_) for more information.&#x20;

## Marketplace Ports

Marketplace applications manage their own ports. Those ports are application-specific and are outside of the `iptables` firewall.

## Other Ports

Any other ports are blocked by the `iptables` firewall. This means that the Belden Horizon Data Operations flows application can initiate only outgoing traffic and cannot listen to incoming connections.

