В оптимальном варианте система разворачивается на 7 виртуальных машин:
• Сервер приложений — виртуальная машина с базовой операционной системой Windows Server 2019 или выше. На эту машину приходят все запросы пользователей системы.
• Сервер баз данных PostgreSQL — виртуальная машина с базовой операционной системой Ubuntu 20.04 или выше. Виртуальная машина содержит в себе docker контейнер с СУБД PostgreSQL и контейнеры, необходимые для диагностики и мониторинга состояния СУБД и виртуальных машин.
• Сервер графовой базы данных — виртуальная машина с базовой операционной системой Ubuntu 20.04 или выше. Виртуальная машина содержит в себе docker контейнер с СУБД Neo4j и контейнеры, необходимые для диагностики и мониторинга состояния СУБД и виртуальных машин.
• Сервер баз данных MS SQL — виртуальная машина с базовой операционной системой Ubuntu 20.04 или выше. Виртуальная машина содержит в себе docker контейнер с СУБД MS SQL и контейнеры, необходимые для диагностики и мониторинга состояния СУБД и виртуальных машин.
• Сервер Kubernetes (master) — виртуальная машина с базовой операционной системой Ubuntu 20.04 или выше. Данная виртуальная машина является одной из составляющих кластера k8s и является для всего кластера узлом с ролью master.
• Сервер Kubernetes (worker) — виртуальная машина с базовой операционной системой Ubuntu 20.04 или выше. Данная виртуальная машина является одной из составляющих кластера k8s и является для всего кластера узлом с ролью worker. Внутри этих узлов разворачивается микросервисная архитектура системы и необходимые для ее работы элементы. Рекомендуемое количество этих узлов — минимум два.
Общий принцип работы системы заключается в том, что пользовательский запрос приходит на сервер приложений и далее распределяется по микросервисной архитектуре, находящейся в кластере Kubernetes.
Ниже представлена схема архитектуры системы
Установка SODIS Building CM в инфраструктуре заказчика
Минимальные системные требования
Наименование |
ОС |
Характеристики |
Сервер приложений |
Windows Server 2019 или выше |
|
Сервер баз данных |
Linux Ubuntu, Microsoft SQL Server 2017 или выше, PostgreSQL 12 или выше |
|
K8S Сервер
|
Linux Ubuntu (master) |
|
Linux Ubuntu (Worker) |
|
Рекомендуемые системные требования
Наименование |
ОС |
Характеристики |
Сервер приложений |
Windows Server 2019 или выше |
|
Сервер баз данных
|
Linux Ubuntu, Microsoft SQL Server 2017 или выше |
|
Linux Ubuntu |
|
|
K3S Сервер
|
Linux Ubuntu (master) |
|
Linux Ubuntu (worker) x 2 |
|
Рекомендации:
- Данные требования являются минимальными, исходя из одновременной работы ориентировочно 30-ти человек;
- Серверы могут быть развернуты в виртуальной инфраструктуре;
- Все машины должны быть в одной сети со статическими адресами, необходим интернет на всех серверах на время установки, далее можно оставить его только на сервере с Windows;
- Если есть свой DNS — желательно выдать доменные имена.
Таблица сетевого взаимодействия
№ | Source IP/Net | Destination IP/Net | Port | Protocol |
1 | IIS | database | 1433 | tcp |
2 | IIS | database | 7474 | tcp |
3 | IIS | database | 7687 | tcp |
4 | IIS | k3s | 32269 | tcp |
5 | IIS | k3s | 32268 | tcp |
6 | IIS | k3s | 30001 | tcp |
7 | IIS | k3s | 30002 | tcp |
8 | IIS | k3s | 30003 | tcp |
9 | IIS | k3s | 30004 | tcp |
10 | IIS | k3s | 30005 | tcp |
11 | IIS | k3s | 30006 | tcp |
12 | IIS | k3s | 30010 | tcp |
13 | k3s | database | 1433 | tcp |
14 | k3s | database | 5432 | tcp |
15 | k3s |
email-server |
tcp | |
16 | k3s | IIS | 9182 | tcp |
17 | k3s | database | 9100 | tcp |
18 | k3s | database | 8080 | tcp |
19 | k3s | database | 9187 | tcp |
20 | k3sm | k3sw | 1-65000 |
tcp/udp |
21 | Интернет | IIS | 443 | tcp |
22 | СД | IIS | 443 | tcp |
Требования к удалённому доступу
Необходимо обеспечить возможность подключения по протоколу SSH к серверам с ОС Linux и по протоколу RDP к серверам с ОС Windows ИС через клиентский VPN.
Требования к резервному копированию данных
Необходимо производить резервное копирование:
- Баз данных PostgreSQL
- Баз данных MS SQL
- Базы данных Neo4j
Если файлы системы хранятся в объектном хранилище, совместимом с s3 — необходимо осуществлять резервное копирование файлов из этого хранилища.
Если файлы системы хранятся в локальной файловой системе — необходимо осуществлять резервное копирование файлов из файловой системы.
Если инфраструктура построена на виртуальных машинах дополнительно рекомендуется резервное копирование всех виртуальных дисков.