Для улучшения работы сайта мы используем файлы cookies. Оставаясь на сайте, вы соглашаетесь с политикой обработки персональных данных.

Архитектура Cloudlink

schm architecture cloudlink 2025

1. Kong API Gateway

Kong API Gateway — это шлюз для пользовательских и сервисных запросов. Через него пользователь обращается по протоколу REST API к сервисам, представленным на архитектурной схеме Cloudlink.

Шлюз инициирует операцию логирования запроса, а также две проверки:

  • аутентификации — проверка токена пользователя в сервисе Keycloak.

  • авторизации — проверка имеющихся прав у пользователя на запрос в сервисе IAM.

2. API Core

  • IAM — сервис управления правами доступа, сервисными аккаунтами, ролями.

  • Order manager — сервис управления заказами, а также действиями с ними(в том числе отложенными\по расписанию). При заказе или действии над заказом Order manager отправляет множество запросов к другим микросервисам (Сhecker, Restriction service, Notification service, Portal manager и др), чтобы выполнить проверки на корректность заполнения формы, доступность ресурсов в портале Cloudlink для заказа.

  • Unit manager — сервис, в котором находится организационная структура: организации, папки, проекты.

  • Portal manager — сервис управления информационными системами и SSH-ключами пользователей.

  • Checker — сервис, который проверяет корректность заполнения параметров запроса в форме заказа.

  • Restriction service — сервис ограничений на заказ продуктов на портале.

  • Notification service — сервис уведомлений для пользователей и групп.

  • Checklist service — сервис, который обеспечивает целостность процессов заказа продуктов (создание записей о заказе в разных базах данных).

  • Dictionary manager — сервис динамических справочников, которые используются в основном при формировании заказов. Также сервис содержит функциональность для привязки справочников между собой.

3. Billing

  • Tariff manager — сервис расчёта стоимости продуктов в единицу времени. В Tariff manager заводятся тарифные классы, которые в дальнейшем становятся тарифными планами. По эти тарифным планам происходит расчет стоимости использования продуктов.

  • Calculator — сервис подсчета расхода. В Calculator накапливается статистика на основе данных, полученных от сервиса Tariff manager, о количестве списаний по продуктам.

  • Account manager — сервис хранения счетов, которые привязаны к элементам организационной структуры: организациям или папкам.

4. Cloud Core

  • Orchestrator — сервис, который централизует процессы и управляет данными конфигурации для микросервисов. Orchestrator отвечает за интерпретацию запросов на создание заказа и последующее разворачивание продукта. Для этого в очередь оркестратора приходит сообщение от RabbitMQ, направленное из сервиса заказов — Order manager. После этого Orchestrator проигрывает граф развертывания\действия, ноды графа выполняются, например, такие действия, как резервирование ip-адреса, создание виртуальной машины (ВМ) и настройка конфигурации.

  • References — сервис хранения данных для предбиллига, а также общей справочной информации, которая используется в различных микросервисах.

  • State service — сервис состояний, в котором хранится информация о фактически созданных заказах — items (CPU, RAM, диск, флейворы и т.д.), а также информация об установленном программном обеспечении (ПО).

  • Product catalog (Constructor) — сервис, который содержит информацию о продукте. Product catalog предоставляет эту информацию в Order manager и Orchestrator.

  • Inventory, Selector, Allocator — Resource Allocation Manager — сервис, который позволяет подключить облако к Cloudlink, осуществляет выдачу ресурсов для разворачивания ВМ и предоставляет отчетную информацию. В его состав входит БД, в которой хранятся данные о ресурсах и их наличии на портале Cloudlink, а так же модуль аллокации, который выбирает или предоставляет ресурсные пулы для разворачивания.

  • NetBox — сервис регистрации IP-адреса для виртуальных машин.

5. Common

  • Product mover — сервис для объединения данных о продуктах, находящихся на различных стендах разработки. Он упаковывает в архив продукт со всеми его артефактами и позволяет перенести этот продукт между стендами. Имеет механизм экспорта в архив и импорта архива с продуктом.

  • Cloud management — система управления сущностями на платформе виртуализации. С помощью Cloud management пользователь может получать информацию о состоянии систем на различных платформах (к хостингам провайдеров Zvirt, vSphere, Redvirt, OpenStack, Yandex Cloud).

  • Auditor — сервис аудита и логирования пользовательских запросов на портале. В этот сервис записываются события о совершении запросов в Kong API Gateway и результатах выполнения этих запросов.

  • Virt Exporter — сервис, который собирает данные с разных платформ и преобразует их в информацию для мониторинга VictoriaMetrics.

  • Clickhouse ETL — сервис для преобразования данных и загрузки их в Clickhouse. Clickhouse ETL забирает данные из БД PostgreSQL.

6. RPC

  • RPC AWX — модуль, который запускает выполнение скриптов на разворачиваемой виртуальной машине. RPC AWX получает запросы от Orchestrator и отправляет их к Ansible Web Executable (AWX) сервису, который подключается к виртуальной машине и выполняет на ней ansible-скрипты.

  • Cloud Mate 2.0 — сервис, который предоставляет единообразный интерфейс для разворачивания виртуальных машин на различных хостингах (например, на хостингах провайдеров Zvirt, vSphere, Redvirt, OpenStack, Yandex Cloud).

  • RPC Reserver IPAM — сервис, который резервирует IP-адреса в системе. Orchestrator при развертывании заказанного продукта направляет в этот сервис запрос на резервирование IP-адреса. После этого RPC Reserver IPAM регистрирует IP-адрес в сервисе Netbox.

  • RPC Router — сервис маршрутизации запросов, исходящих от Orchestrator.

  • RPC-Nova — сервис, который разворачивает кластер Nova Universe.

7. Infrastructure

Приложения в структуре платформы Cloudlink, которые используются для работы системы:

  • Vault — приложение для хранения и управления секретами, такими как пароли и токены.

  • Clickhouse — колоночная система управления базами данных, предназначенная для аналитической обработки данных.

  • SuperSet — платформа для визуализации и анализа данных.

  • Apache Airflow — система для оркестрации и автоматизации рабочих процессов.

  • Apache Spark — платформа для распределённой обработки данных.

  • PostgreSQL — объектно-реляционная система управления базами данных.

  • RabbitMQ — брокер сообщений, обеспечивающий обмен данными между приложениями через очереди.

  • KeyDB — система управления базами данных, совместимая с Redis и работающая в оперативной памяти.

  • Keycloak — система управления аутентификацией и авторизацией пользователей.

  • Nova Universe — платформа для управления инфраструктурой и развертывания приложений.

  • AWX — веб-интерфейс и API для управления задачами Ansible.

  • Netbox — система для документирования и управления сетевой инфраструктурой.