Архитектура модуля управления облаком
Web-портал
-
СУБД PostgreSQL (1) является основным местом хранения всей информации платформы.
-
Сервер приложений Nginx Unit (2) обрабатывает HTTP-запросы от пользователей, переданных посредством тонкого клиента.
-
Nginx proxy (3) является обратным прокси-сервером для ретрансляции HTTPS-запросов пользователей на внутренние компоненты системы. Обеспечивает завершение SSL-соединения для проходящего через него трафика.
-
Брокер сообщений/очередей RabbitMQ (4) принимает, временно хранит и удаляет задания для фонового выполнения.
-
Key-Value (NoSQL) СУБД Redis (5) хранит оперативные данные, такие как сессии пользователей и кэширование данных с основной СУБД PostgreSQL.
-
PgBouncer (6) создает и поддерживает пул соединений с СУБД PostgreSQL для Nginx Unit и Background Workers.
-
Пул процессов Background Workers (7) выполняет задания, поступающие в очереди брокера сообщений RabbitMQ.
-
Объектное хранилище S3 MinIO (8) служит для хранения сформированных отчетов.
-
Системы виртуализации (9) – аппаратно-программные комплексы, предоставляющие API для создания сущностей (или заданий на их выполнение) в автоматическом режиме.
-
Mail Server (10) служит для доставки сообщений электронной почты.
-
LDAP (11) выполняет идентификацию и аутентификацию пользователей при доступе через доменную службу.
Оркестратор, вспомогательное ПО
-
Gateway API (12) на базе ПО Nginx маршрутизирует все запросы к сервисам через единый интерфейс.
-
СУБД PostgreSQL (13) служит для хранения конфигураций облаков и логов событий для операций с длительным временем выполнения.
-
Брокер очередей RabbitMQ (14) принимает, временно хранит и удаляет очереди сообщений операций с длительным временем выполнения.
-
Трассировщик Jaegger (15) предоставляет контроль выполнения функций для выявления проблем.
Оркестратор, сервисы
-
Управляющий сервис manage-svc (16) управляет миграцией схем БД и внесением в БД конфигураций облаков.
-
Сервис task-svc (17) служит для чтения заданий и логов из БД.
-
Сервис spacevm-svc (18) служит для работы с SpaceVM.
-
Сервис vmware-svc (19) служит для работы с VMware vSphere.
-
Сервис migrate-svc (20) служит для работы с миграциями между системами управления виртуализациями.
-
Сервис dns-svc (21) служит для работы с DNS (DNS Windows Server (25), Bind9 (24)).
Примечание
Поддержка Bind9 на данный момент в разработке.
-
Сервис winremote-svc (22) принимает команды от сервиса dns-svc по протоколу gRPC и транслирует их в команды cmd и PowerShell для создания и удаления записей на сервере DNS под управлением Windows Server.
-
Сервис IPAM (IP Address Management) (26) необходим для централизованного планирования, отслеживания и управления IP-адресным пространством сети. В модуле управления облаком поддерживается IPAM на основе NetBox.
IPAM используется для управления адресацией IP-подсетей и может применяться, в частности, для автоматического назначения IP-адресов ВМ в SpaceVM, создаваемых через заявки.
Оркестратор, Runners
- Migration-runner (23) выполняет миграции ВМ между различными системами управления виртуализациями. Реализована миграция ВМ из VMware vSphere в SpaceVM. Работает как отдельная служба systemd. Получает задание от сервиса migration-svc по протоколу gRPC.
