Описание архитектуры SODIS Building CM
В оптимальном варианте система разворачивается на 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 или выше | CPU x2 +; ОЗУ 8Gb +; SSD 100Gb +; HDD 250Gb + |
| Сервер баз данных | Linux Ubuntu, Microsoft SQL Server 2017 или выше, PostgreSQL 12 или выше | СPU x4 +; ОЗУ 24Gb +; SSD 30Gb +; SSD 170Gb + |
| K8S Сервер | Linux Ubuntu (master) | CPU x2 +; ОЗУ 4Gb +; SSD 60Gb + |
| Linux Ubuntu (Worker) | CPU x2 +; ОЗУ 8Gb +; SSD 150Gb + |
Рекомендуемые системные требования
| Наименование | ОС | Характеристики |
|---|---|---|
| Сервер приложений | Windows Server 2019 или выше | CPU x2 +; ОЗУ 8Gb +; SSD 100Gb + |
| Сервер баз данных | Linux Ubuntu, Microsoft SQL Server 2017 или выше | СPU x4 +; ОЗУ 16Gb +; SSD 60Gb +; SSD 200Gb + |
| Linux Ubuntu; PostgreSQL 12 или выше | СPU x4 +; ОЗУ 8Gb +; SSD 60Gb +; SSD 200Gb + | |
| K3S Сервер | Linux Ubuntu (master) | CPU x2 +; ОЗУ 4Gb +; SSD 60Gb + |
| Linux Ubuntu (worker) x 2 | CPU x2 +; ОЗУ 8Gb +; SSD 200Gb + |
Рекомендации:
- Данные требования являются минимальными, исходя из одновременной работы ориентировочно 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 — необходимо осуществлять резервное копирование файлов из этого хранилища.
Если файлы системы хранятся в локальной файловой системе — необходимо осуществлять резервное копирование файлов из файловой системы.
Если инфраструктура построена на виртуальных машинах дополнительно рекомендуется резервное копирование всех виртуальных дисков.