Private Cloud: Архитектура

В этой статье описывается архитектура AnyLogic Private Cloud, компоненты частного облака и особенности их работы.

Схема архитектуры

На изображении ниже — схема компонентов Private Cloud и связанных с ними контейнеров Docker, на которой демонстрируется их взаимодействие друг с другом.

Обзор компонентов

Вне зависимости от того, о какой редакции Private Cloud идет речь, частное облако состоит из следующих компонентов:

Как Cloud запускает модели

Все внутренние задачи Private Cloud, подразумевающие запуск моделей, имеют соответствующий «тег» (метку), назначенный им компонентами rest и executor-multi-run. При назначении учитывается логическая «группа» задачи.

Сейчас таких групп три:

Компонент balancer «считывает» тег, чтобы определить, какому компоненту назначить задачу, и распределяет нагрузку соответствующим образом. Скажем, если у задачи стоит тег executor, она будет передана одному из компонентов executor; задачи, маркированные executor-multi-run будут направлены компоненту executor-multi-run и так далее.

Когда задача передается компоненту balancer, он запрашивает у компонента controller список узлов, имеющих идентичный тег. После этого balancer передает задачу узлу за несколько шагов:

  1. balancer запрашивает данные о вместимости узлов.
    Каждый компонент executor может единовременно выполнять определенное число задач, соответствующее числу ядер ЦП на узле — сервере, обслуживающем Docker-контейнер с компонентом executor.
  2. Из списка исключаются полностью загруженные узлы.
  3. Оставшиеся узлы сортируются по степени загрузки — от наиболее загруженного к менее загруженному.
  4. balancer начинает направлять задачи первому узлу из списка.

Безопасность Private Cloud

С точки зрения безопасности подразумевается, что сервера, обслуживающие компоненты Private Cloud, находятся в частной сети. Обычные пользователи частного облака не должны иметь доступа к этим серверам.

Все взаимодействия обычных пользователей с внутренней архитектурой Private Cloud осуществляются через компонент frontend. Все операции API и пользовательские запросы передаются через управляемый этим компонентом прокси-сервер NGINX, так что пользователям не видны и не доступны остальные компоненты.


См. также

AnyLogic Private Cloud

AnyLogic Cloud

Варианты использования AnyLogic Cloud