﻿# Prepare BRIX On-Premises infrastructure

> [HTML Version](infrastructure-preparation.html)

An infrastructure is a set of components necessary for operation of the BRIX application. Depending on the objectives, the approaches and requirements for organizing an BRIX On-Premises infrastructure differ.

Let’s take a look at the following infrastructure organization options:

- Development/test environment infrastructures.

- Production environment infrastructures.

- High availability production environment infrastructures.

````
Начало внимание

````
You can choose one of the infrastructure organization options.

````
Конец внимание

## ````
Development/test environment infrastructures

This infrastructure organization option is suitable for development and test environments and does not require the increased reliability of storage components.

1. Environment with Internet access.

**[![infrastructure-preparation-3](infrastructure-preparation-3.png)]**

**Characteristics:**

- One physical server or virtual machine for all components.

- Installation with Internet access.

- Embedded storage data components.

For more information on how to deploy this type of infrastructure, read the following articles: 

- [Kubernetes cluster](kubernetes-deckhouse-air-gap.md).

- [Prepare embedded databases](embedded-databases-settings.md).

- [Install BRIX in Kubernetes](installing-elma365-enterprise.md).

2. Environment without Internet access.

**[![infrastructure-preparation-4](infrastructure-preparation-4.png)]**

**Characteristics:**

- One physical server or virtual machine for BRIX On-Premises and data storage components.

- One physical server or virtual machine for Kubernetes image storage.

- Installation without Internet access.

- Local Kubernetes image storage.

- Embedded data storage components.

For more information on how to deploy this type of infrastructure, see:



- [Install Harbor](installing-harbor.md).

- [Download BRIX images](downloadin-images-elma365.md).

- [Download Deckhouse images](downloading-images-deckhouse.md).

- [Kubernetes cluster](kubernetes-deckhouse-air-gap.md).

- [Prepare embedded databases](embedded-databases-settings.md).

- [Install BRIX in Kubernetes](installing-elma365-enterprise.md).

## Production environment infrastructure

A variant of infrastructure organization for operational environments (Production).

1. Environment with Internet access.

**[![infrastructure-preparation-5](infrastructure-preparation-5.png)]**

**Characteristics:**

- One physical server or virtual machine for BRIX On-Premises, proxying and storage components.

- Three physical servers or virtual machines for external databases.

- Installation with Internet access.

- Embedded RabbitMQ and Valkey or Redis data storage components.

- External MongoDB, PostgreSQL, and S3 MinIO data storage components.

- Embedded HAProxy proxy server for proxying incoming requests to external S3 storage.

For more information on how to deploy this type of infrastructure, see:

- [MongoDB](mongodb.md).

- [PostgreSQL](postgresql.md).

- [MinIO S3](configure-minio.md).

- [Kubernetes cluster](kubernetes-deckhouse-air-gap.md).

- [Prepare embedded databases](embedded-databases-settings.md) (install RabbitMQ and Valkey or Redis).

- [S3 proxying in Kubernetes via S3-Gateway](proxy-s3-kubernetes.md).

- [Proxying databases in Kubernetes via DB-Gateway](proxy-db-kubernetes.md).

- [Install BRIX in Kubernetes](installing-elma365-enterprise.md).

2. Environment without Internet access.

**[![infrastructure-preparation-6](infrastructure-preparation-6.png)]**

**Characteristics:**

- One physical server or virtual machine for BRIX On-Premises, proxying and storage components.

- Three physical servers or virtual machines for external databases.

- One physical server or virtual machine for Kubernetes image storage.

- Installation without Internet access.

- Local Kubernetes image storage.

- Embedded RabbitMQ and Valkey or Redis data storage components.

- External MongoDB, PostgreSQL, and S3 MinIO data storage components.

- Embedded HAProxy proxy server for proxying incoming requests to external S3 storage.

For more information on how to deploy this type of infrastructure, see the following articles:

- [Install Harbor](installing-harbor.md).

- [Download BRIX images](downloadin-images-elma365.md).

- [Download Deckhouse images](downloading-images-deckhouse.md).

- [ֿKubernetes cluster](kubernetes-deckhouse-air-gap.md).

- [Prepare embedded databases](embedded-databases-settings.md).

- [Install BRIX in Kubernetes](installing-elma365-enterprise.md).

## High availability production environment infrastructure

The infrastructure organization option is suitable for operational environments (production) with high reliability requirements for storage components.

**(infrastructure-preparation-07.png)**

**Characteristics:**

- 10 physical servers or virtual machines for the Kubernetes cluster that will host BRIX On-Premises and data storage components.

- 10 physical servers or virtual machines for external databases.

- Two physical servers or virtual machines for balancing and proxying incoming requests to BRIX On-Premises and S3 storage.

- One physical server or virtual machine for Kubernetes image storage.

- Installation without Internet access.

- Local Kubernetes image store.

- Embedded high availability RabbitMQ and Valkey or Redis data storage components.

- External high availability MongoDB, PostgreSQL, and S3 MinIO data storage components.

- External high availability HAProxy proxy server for proxying incoming requests to BRIX On-Premises and S3 storage.

For more information on how to deploy this type of infrastructure, see:

- [Install Harbor](installing-harbor.md).

- [Download BRIX images](downloadin-images-elma365.md).

- [Download Deckhouse images](downloading-images-deckhouse.md).

- [MongoDB cluster](configure-mongodb.md).

- [PostgreSQL cluster](configure-postgresql.md).

- [MinIO cluster](minio-cluster.md).

- [High-availability Kubernetes cluster](fail-safe-kubernetes-cluster.md).

- [Prepare embedded databases](embedded-databases-settings.md) (install RabbitMQ and Valkey or Redis).

- [High availability HAProxy](fail-safe-haproxy.md).

- [Install BRIX in Kubernetes](installing-elma365-enterprise.md).