Описание архитектуры SODIS Building FM
В оптимальном варианте система разворачивается на 6 виртуальных машинах:
- Сервер баз данных PostgreSQL — виртуальная машина с базовой операционной системой Ubuntu 20.04 или выше. Виртуальная машина содержит в себе docker контейнер с СУБД PostgreSQL и контейнеры, необходимые для диагностики и мониторинга состояния СУБД и виртуальных машин.
- Сервер графовой базы данных — виртуальная машина с базовой операционной системой Ubuntu 20.04 или выше. Виртуальная машина содержит в себе docker контейнер с СУБД Neo4j и контейнеры, необходимые для диагностики и мониторинга состояния СУБД и виртуальных машин.
- Сервер Kubernetes (master) — виртуальная машина с базовой операционной системой Ubuntu 20.04 или выше. Данная виртуальная машина является одной из составляющих кластера k8s и является для всего кластера узлом с ролью master.
- Сервер Kubernetes (worker) — 3 виртуальные машины с базовой операционной системой Ubuntu 20.04 или выше. Данные виртуальные машины являются одной из составляющих кластера k8s и являются для всего кластера узлами с ролью worker. Внутри этих узлов разворачивается микросервисная архитектура системы и необходимые для ее работы элементы. Рекомендуемое количество этих узлов — минимум три.
Рекомендуемые системные требования
Наименование |
ОС |
Характеристики |
Сервер баз данных |
Linux Ubuntu PostgreSQL 12 или выше |
|
Сервер графовой базы данных |
Linux Ubuntu Neo4j 4.4 |
|
Серверы k8s |
Linux Ubuntu (master) |
|
Linux Ubuntu (worker) x 3 |
|
Рекомендации:
- Данные требования являются минимальными, исходя из одновременной работы ориентировочно 30-ти человек;
- Серверы могут быть развернуты в виртуальной инфраструктуре;
- Все машины должны быть в одной сети со статическими адресами, необходим интернет на всех серверах на время установки, далее можно оставить его только на серверах k8s;
- Если есть свой DNS — желательно выдать доменные имена.
Требования к удалённому доступу
Необходимо обеспечить возможность подключения к серверам по протоколу SSH через клиентский VPN.
Требования к резервному копированию данных
Необходимо производить резервное копирование:
- Баз данных PostgreSQL
- Базы данных Neo4j
Если файлы системы хранятся в объектном хранилище, совместимом с s3 — необходимо осуществлять резервное копирование файлов из этого хранилища.
Если файлы системы хранятся в локальной файловой системе — необходимо осуществлять резервное копирование файлов из файловой системы.
Если инфраструктура построена на виртуальных машинах дополнительно рекомендуется резервное копирование всех виртуальных дисков.