Описание архитектуры 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.

Ниже представлена схема архитектуры системы

Picture1-1

Установка 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 2CPU x2 +; ОЗУ 8Gb +; SSD 200Gb +

Рекомендации:

  • Данные требования являются минимальными, исходя из одновременной работы ориентировочно 30-ти человек;
  • Серверы могут быть развернуты в виртуальной инфраструктуре;
  • Все машины должны быть в одной сети со статическими адресами, необходим интернет на всех серверах на время установки, далее можно оставить его только на сервере с Windows;
  • Если есть свой DNS — желательно выдать доменные имена.

Таблица сетевого взаимодействия

№Source IP/NetDestination IP/NetPortProtocol
1IISdatabase1433tcp
2IISdatabase7474tcp
3IISdatabase7687tcp
4IISk3s32269tcp
5IISk3s32268tcp
6IISk3s30001tcp
7IISk3s30002tcp
8IISk3s30003tcp
9IISk3s30004tcp
10IISk3s30005tcp
11IISk3s30006tcp
12IISk3s30010tcp
13k3sdatabase1433tcp
14k3sdatabase5432tcp
15k3semail-servertcp
16k3sIIS9182tcp
17k3sdatabase9100tcp
18k3sdatabase8080tcp
19k3sdatabase9187tcp
20k3smk3sw1-65000tcp/udp
21ИнтернетIIS443tcp
22СДIIS443tcp

Требования к удалённому доступу

Необходимо обеспечить возможность подключения по протоколу SSH к серверам с ОС Linux и по протоколу RDP к серверам с ОС Windows ИС через клиентский VPN.

Требования к резервному копированию данных

Необходимо производить резервное копирование:

  • Баз данных PostgreSQL
  • Баз данных MS SQL
  • Базы данных Neo4j

Если файлы системы хранятся в объектном хранилище, совместимом с s3 — необходимо осуществлять резервное копирование файлов из этого хранилища.

Если файлы системы хранятся в локальной файловой системе — необходимо осуществлять резервное копирование файлов из файловой системы.

Если инфраструктура построена на виртуальных машинах дополнительно рекомендуется резервное копирование всех виртуальных дисков.