# Deployment Options

Depending on availability and load balancing requirements, the system can be installed as a single server instance or in a three-server cluster.

You can learn more about how to install your Helmut4 server [here](/helmut4-releases/v4.8.0/getting-started/installation-guide.md)

### Single server:

When installed as a "Single server", all application containers including the database are running on one server.

#### **Advantages:**

* Less hardware resources required
* Less technical complexity

#### **Disadvantages:**

* Downtime of the system in case of necessary maintenance
* No redundancy in case of a server failure
* No load balancing when accessed by too many users

### Cluster:

Installation as a cluster is recommended for use by approximately 100 users or more due to load balancing and/or when high availability of the system is required. Usually we install a [docker swam cluster based on three servers](https://docs.docker.com/engine/swarm/admin_guide/) (odd number).

Each server can be addressed directly as HTTP(s) endpoint or the distribution of requests is done by a load balancer placed in front of it (provided by the customer).

All application containers run in parallel on all servers (except cronjob and rabbitmq). The database is set up as realtime replication in this setup. Each server has a 1:1 copy of the data. The individual application containers can access all three database instances - the distribution of requests is done automatically.

#### &#x20;Advantages:

* High reliability
* Good load distribution
* No downtime during maintenance work on the operating system [of the servers](https://docs.docker.com/engine/swarm/admin_guide/)

#### &#x20;Disadvantages:

* More hardware resources
* Higher technical complexity


---

# 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.helmut.de/helmut4-releases/v4.8.0/getting-started/overview/deployment-options.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.
