Архитектура программы
Программа построена по принципу микросервисной архитектуры и может быть разделена на основные сервисы и сервисы, работающие в зоне (подробнее про зоны см. в разделе 7 Руководства пользователя). Каждый компонент программы представляет собой DEB-пакет, который размещен в контейнере. Таким образом, программа – это набор взаимодействующих между собой контейнеров, который может быть развернут в любой среде, содержащей Docker Engine, Docker Compose и СУБД (см. также раздел 6).
Основные сервисы (Main services): включают компоненты: Core Service (WAS, EXS, Web UI, Vault), Core Service Database, Asset Manager, Asset Manager Database, Reflector, Module registry.
Сервисы зоны (Zone services): Keeper, Keeper storage, Module.
Схематично архитектура программы приведена на рисунке 1.

Приведем описание сервисов:
Core Service – основной сервис, отвечающий за бизнес-логику и предоставление API для web-интерфейса. Содержит функциональность по управлению и настройке модулей.
В составе Core Service выделены следующие компоненты:
WAS (Web Application Service) – основной бэкенд-сервис, предоставляющий REST API для взаимодействия с UI и другими сервисами.
EXS (Executor Service) – отвечает за выполнение автоправил и бизнес-логики.
Web UI – пользовательский интерфейс.
Vault – защищенное хранилище секретов.
Core Service Database – база данных, в которой хранятся данные сервисов WAS и EXS.
Asset Manager – сервис, отвечающий за примитивные операции с активами – вариации CRUD, обогащение, установка связей, простейшие фильтры.
Asset Manager Database – база данных, в которой хранятся активы, история изменений, модификации, связи, теги.
Reflector – компонент, упрощающий взаимодействие ключевых сервисов с киперами в закрытых зонах.
Keeper – оркестратор модулей, занимается деплоем и запуском модулей, также отправляет информацию об ассетах в ассет-менеджер.
Keeper storage – хранилище данных, в котором хранится информация о модулях и их запусках.
Module – контейнер, выполняющий определенную функциональность по поиску ассетов или сбору данных об ассетах (активах).
Module registry – хранилище (registry) образов контейнеров модулей.