Под капотом SimpleOne: полный технический обзор архитектуры платформы
19 марта 2026
обновлено: 19 марта 2026
SimpleOne — это Low-code платформа для автоматизации сервисных бизнес-процессов и создании полноценных бизнес-приложений. Эта статья предназначена для технических специалистов, архитекторов и разработчиков, которые хотят понять техническое устройство платформы.
Мы раскроем архитектуру SimpleOne, технологический стек и особенности реализации — от выбора языков программирования до способов развёртывания.

Отдельно всю подробную информацию по продукту можно посмотреть в документации доступной на нескольких языках.
Технологический стек и архитектура
Общая архитектура
Backend SimpleOne построен на сочетании монолитного ядра и микросервисов, написанных на Golang и Node.js.
Frontend разработан на TypeScript с использованием библиотеки React и стейт-менеджера MobX.
Для выполнения пользовательских скриптов платформа использует движок V8.
Инфраструктурные компоненты
База данных
Основное хранилище данных — PostgreSQL. Платформа также поддерживает подключение внешних баз данных по запросу клиентов. Это позволяет компаниям использовать централизованную БД или соблюдать собственные архитектурные требования.
Кэширование
Для кэширования используется Redis. Он выполняет две функции: работает как кэш и служит хранилищем данных. В частности, в API Gateway Redis используется для хранения авторизационной информации.
Брокеры сообщений
Внутри платформы работают RabbitMQ и Kafka — они обрабатывают обеспечивают асинхронную обработку событий.
Deployment
Развёртывание осуществляется с помощью Docker-контейнеров.
Особенности поставки
SimpleOne поставляется в виде Docker-образов для развёртывания на собственной инфраструктуре заказчика (on-premise).
Платформа доступна в формате offline-дистрибутива — это архивы с Docker-образами, которые можно развернуть без подключения к интернету.
Работа с данными
Модель данных
В SimpleOne есть предустановленные базовые типы данных, которые можно использовать при создании полей в таблицах. Эти типы заранее заполнены в системе и доступны для применения в конфигурации.
Платформа поддерживает различные типы связей между таблицами без ограничений:
- reference (ссылки на другие записи);
- many-to-many (многие ко многим) через MTM-таблицы;
- один к одному;
- один ко многим.
Таблицы в SimpleOne поддерживают наследование — дочерние таблицы наследуют поля родительских. Это позволяет создавать любую иерархическую структуру данных. Можно создавать большое количество таблиц без ограничений по производительности.
REM
SimpleOne использует подход REM (Record Extended Model) — подход к организации данных, основанный на динамическом расширением модели данных. В отличие от традиционного подхода, когда для хранения атрибутов нового типового запроса необходимо создавать дочернюю таблицу, REM позволяет хранить значения таких атрибутов в отдельной таблице и привязывать их к конкретной записи при необходимости (классическая EAV модель).
SimpleOne использует REM в продуктах SimpleOne ITSM, ITAM и B2B CRM, а также тестирует этот подход для SDLC и HRMS. Технология эффективна для сложных систем с большим количеством сущностей на крупных предприятиях, где требуется гибкое управление каталогом услуг и обработкой запросов из разных отделов
Транзакционность и целостность
Все операции сохранения записей выполняются в транзакциях. Если при сохранении происходит ошибка или не выполняется какое-то бизнес-правило, транзакция полностью отменяется.
Скорее платформа дает возможность управлять событиями обрабатываемыми данными и происходящими событиями в рамках транзакции.
Производительность
Работа с большими объемами данных
Для работы с большими объемами данных в SimpleOne реализованы:
- pagination (постраничная загрузка);
- lazy loading (ленивая загрузка).
Многоуровневое кэширование
SimpleOne использует несколько уровней кэширования:
- серверное кэширование через Redis — основной уровень кэша для часто запрашиваемых данных;
- In-memory кэши, на бэкенде и фронтенде используются кэши в оперативной памяти для ускорения доступа к данным.
Подробнее о том, как команда SimpleOne добилась 16-кратного роста производительности платформы, мы рассказали в отдельном материале.
Миграция и версионирование
Version Control System (VCS)
В SimpleOne реализован модуль VCS (Version Control System) — система контроля версий для конфигураций платформы.
С помощью VCS можно мигрировать пакеты между окружениями (например, из тестового в продакшн). Это версионируемые конфигурации, которые применяются на инстансе.
При миграции система автоматически выявляет:
- collisions (конфликты данных);
- warnings (предупреждения);
- skips (пропуски).
VCS работает с версионируемыми данными — это таблицы, колонки и связанные конфигурационные элементы, которые определяют структуру и поведение системы.

Быстрый импорт
Для данных, которые не попадают под версионирование через VCS, существует механизм быстрого импорта. Он работает через JSON-формат: можно выгрузить записи из одной системы и загрузить их на другом сервере или инстансе.
Этот способ подходит для переноса пользовательских данных, которые не являются частью конфигурации платформы.
Журналирование и аудит
В SimpleOne есть таблица sys_log, которая хранит системный лог всех изменений. Если для таблицы включен аудит, все действия пользователей записываются в этот лог.
Конфигурационные записи версионируются автоматически — система хранит все версии за всё время существования записи. Это позволяет отследить историю изменений любой конфигурации.
На платформе доступна лента активности, которая показывает действия пользователей. Если у пользователя включен аудит, можно увидеть, что именно он делал в системе — создавал, изменял или удалял записи.
Расширяемость и кастомизация
No-code, Low-code и Pro-code
SimpleOne предлагает три уровня настройки системы под требования бизнеса.
- No-code настройка — бизнес-пользователи настраивают типовые процессы через визуальный интерфейс без программирования для готовых бизнес приложений (ITSM, ITAM, SDLC, HRMS, B2B CRM). В несколько кликов они меняют формы для ввода данных, добавляют новые поля и статусы, выстраивают маршруты согласования документов. Такой подход позволяет быстро запустить базовую автоматизацию и постепенно развивать систему.
- Low-code разработка — при необходимости более глубокой адаптации администраторы или аналитики используют встроенные инструменты для создания бизнес-логики. Они подключают внешние системы через готовые коннекторы, настраивают правила обработки данных и автоматизируют сложные сценарии с помощью простых скриптов. Платформа поддерживает параллельную разработку и создание тиражируемых бизнес-приложений. Low-code ускоряет разработку без потери гибкости решения.
- Pro-code возможности — для нестандартных задач платформа предоставляет полный доступ к разработке сценариев на JavaScript с использованием движка V8. Разработчики создают собственные компоненты интерфейса, расширяют API платформы и реализуют специфичную логику обработки данных.

Подключение внешних библиотек
Существует механизм include scripts, который позволяет загружать и использовать внешние JavaScript-библиотеки. Можно скопировать исходный код библиотеки, оформить его в виде подключаемого скрипта и добавить в клиентскую или серверную логику.
Внешние библиотеки применяются для расширения функциональности платформы, например, в таких сценариях:
- PDF-генерация — библиотеки для формирования PDF-файлов на клиенте;
- библиотеки для графиков — инструменты для отрисовки и построения визуализаций данных.
Если встроенного API платформы недостаточно для решения задачи, можно использовать внешние библиотеки с открытым исходным кодом.
Кастомизация UI
SimpleOne позволяет создавать и настраивать различные UI-компоненты:
- кнопки;
- представления и формы;
- связанные списки.
У всех этих компонентов есть настройки, их можно создавать и располагать на интерфейсе.

Также в клиентских скриптах можно писать произвольный HTML и применять CSS для стилизации интерфейса.
Виджеты
Виджеты — это полноценные переиспользуемые компоненты, которые создаются с помощью Pro-code.
У виджетов можно указывать:
- произвольный HTML;
- CSS-стили;
- JavaScript-логику;
- скриптовые связанные списки.
Виджеты могут располагаться на формах агентского интерфейса, а также на страницах портала самообслуживания.


Интеграции
REST API — один из способов интеграции в SimpleOne. Платформа предоставляет возможность создания REST API запросов для взаимодействия с внешними системами.
Брокеры сообщений
Внутри платформы используются Kafka и RabbitMQ. События в системе попадают в эти очереди, но это не прямая интеграция — клиенты не могут напрямую работать с внутренними Kafka и RabbitMQ SimpleOne. Взаимодействие возможно только через endpoint и серверную логику.
Платформа предоставляет серверные классы для интеграции с внешним RabbitMQ:
- ExternalRabbitMQConsumer — для чтения сообщений
- ExternalRabbitMQProducer — для публикации сообщений
Можно подключиться к внешнему RabbitMQ, указав хост, адрес, порт и учётные данные. SimpleOne может как публиковать сообщения во внешний RabbitMQ, так и читать сообщения из него.
Готовые коннекторы
У платформы есть и готовые коннекторы, которые периодически дополняются и обновляются вендором, под разные потребности клиентов. При этом каждый заказчик и партнёр может реализовать коннекторы самостоятельно и представить их на Маркетплейсе.
Файловые хранилища
Основное файловое хранилище — S3-совместимое решение MinIO. Когда пользователь загружает файл в SimpleOne, файл сохраняется в attachment (вложение) и одновременно попадает в S3 MinIO. MinIO возвращает ссылку на файл, по которой его можно скачать.
Для работы с внешними файловыми хранилищами существует серверный класс SimpleAttachment, который есть в скриптовом API. С его помощью можно, например, скопировать вложение по URL из внешнего источника и добавить его в систему SimpleOne.
Безопасность
Аутентификация и авторизация
SimpleOne поддерживает следующие механизмы аутентификации:
- LDAP;
- Active Directory;
- OAuth2;
- SAML.
Управление доступом
В SimpleOne реализована комбинированная модель управления доступом, сочетающая ролевой (RBAC) и атрибутивный (ABAC) подходы. Базовые роли входят в стандартную поставку платформы:
- Security admin (администратор безопасности);
- Admin (администратор);
- менеджеры;
- аудитор — предоставляет доступ на чтение аналогично правам администратора;
- другие роли (описаны в документации или доступны для просмотра на инстансах).
Роли и права доступа можно кастомизировать под конкретные потребности организации.
Система управления доступом основана на правилах ACL с гранулярностью до уровня отдельных полей и контекстов. Если действие явно не запрещено правилом ACL, пользователь может его выполнить. Помимо статических ролей, платформа поддерживает динамическое разграничение доступа на основе контекста — права могут меняться в зависимости от атрибутов пользователя, записи и условий обращения.
Для задач администрирования и отладки доступен режим имперсонации — возможность выполнять действия от имени другого пользователя. Все действия фиксируются: платформа обеспечивает полное логирование операций с данными и правами доступа.
Защита данных
Защита от инъекций
Платформа реализует меры по предотвращению SQL-инъекций и других видов атак. Возможности для инъекций стараются не допускать на уровне архитектуры.
Пентесты
Система регулярно проходит тестирование на проникновение (penetration testing), организованное сторонними компаниями.
Производительность и DevOps
Фоновая обработка
В SimpleOne есть встроенные планировщики, которые выполняют регулярные фоновые задачи:
- парсинг писем;
- архивация логов;
- индексация вложений;
- системные события и скрипты по расписанию;
- другие системные операции.
Администраторы могут создавать собственные фоновые задачи:
- скрипты по расписанию — выполняются через планировщик в заданное время;
- отложенные задачи — скрипты, которые запускаются с задержкой;
- события — работают через очереди асинхронно.
Есть возможность настроить бизнес-правила, которые могут запускать фоновые задачи. Планировщик обрабатывает как встроенные, так и кастомные сценарии.
Тестирование
Для автоматизированного тестирования используется Playwright.
Для нагрузочного тестирования применяется инструмент K6, но не в стандартном виде:
- самописный клиент — разработан специально под особенности платформы SimpleOne, для сценариев с клиентской кастомизацией;
- обёртка вокруг K6 — создана для упрощения работы, подход напоминает использование Selenium в автотестах;
- предзаполненные шаблоны запросов — все часто используемые запросы уже описаны. Если запроса нет, его дополняют; если есть — используют готовый шаблон.
Команда разработки провела большую работу по созданию собственного клиента для нагрузочного тестирования, адаптированного под специфику SimpleOne. По результатам тестирований, система быстро восстанавливается после пиковых нагрузок, что критично для production-окружений
Выводы: преимущества SimpleOne
Low-code платформа SimpleOne сочетает монолитное ядро на PHP с микросервисами на Golang и Node.js. Это даёт баланс между стабильностью монолита и гибкостью микросервисной архитектуры.
Платформа предоставляет инструменты как для бизнес-пользователей (Low-code), так и для разработчиков (Pro-code на JavaScript), что помогает решать задачи разной сложности без необходимости переходить на другие инструменты.
Система демонстрирует высокую устойчивость к нагрузкам и быстрое восстановление после пиковых всплесков. Многоуровневое кэширование и оптимизация запросов обеспечивают высокую скорость работы даже при больших объёмах данных.
SimpleOne активно развивается с учётом потребностей клиентов и современных технологических трендов, при этом сохраняя стабильность и надёжность core-функциональности.



