Техническая архитектура
Общее представление об архитектуре можно сложить по схеме ниже, а изучь детальнее, установив RIC локально.

Ключевые свойства платформы
Мультитенантность и изоляция проектов
Каждый проект работает в собственном изолированном пространстве с независимыми пользователями, устройствами, настройками и правами доступа.
Это позволяет:
- Нескольким клиентам или подразделениям использовать одну инстанцию платформы
- Системным интеграторам запускать проекты для разных заказчиков
- Командам разработчиков работать над несколькими проектами одновременно
Дискреционная система разграничения прав
Принцип "запрещено всё, что не разрешено явно" (all-deny по умолчанию).
- Гибкая настройка прав для каждой роли — от администратора до оператора с доступом только на чтение
- Логирование всех действий пользователя
- Контроль каждого доступа к данным
- Соответствие корпоративным стандартам безопасности
Масштабируемость и отказоустойчивость
Автоматическое масштабирование в зависимости от количества устройств, пользователей и нагрузки.
- Нет необходимости вручную добавлять серверы при росте проекта
- Начинать можно с прототипа и масштабировать до тысяч устройств и миллионов пользователей без остановки сервиса
- Инфраструктура адаптируется под текущие потребности
Kubernetes-ready и SOA-архитектура
Платформа развёрнут в контейнеризированной среде на базе Kubernetes:
- Автоматическое масштабирование сервисов
- Высокая доступность и отказоустойчивость
- Простое развертывание обновлений
- Переносимость между облачными провайдерами
- Соответствие современным стандартам DevOps
Сервис-ориентированная архитектура (SOA):
- Каждый сервис выполняет строго определённый набор функций
- Внутреннее взаимодействие через gRPC
- Гибкая настройка контрактов между сервисами
Платформа готова к работе в гибридных и мультиоблачных средах, поддерживает on-premise установку для организаций с высокими требованиями к безопасности данных.
AI-ready: фундамент для машинного обучения
Платформа предоставляет готовую базу для внедрения AI и ML:
- Структурированные данные — вся телеметрия хранится в единой модели с контекстной привязкой
- Контекстная информация — данные связаны с объектами, временем, местоположением
- Потоки событий — возможность real-time анализа в режиме реального времени
- Интеграция с ML-системами — API для подключения внешних AI-сервисов
- Автоматизация на основе AI — сценарии могут реагировать на результаты AI-анализа
Это позволяет внедрять предиктивную аналитику, обнаружение аномалий, оптимизацию процессов без изменения архитектуры IoT-системы.
Безопасность
- Двухфакторная аутентификация — дополнительная защита аккаунтов
- X.509 сертификаты — защита соединений на уровне устройств
- TLS шифрование — все данные передаются в зашифрованном виде
- Ролевая модель доступа — гибкая настройка прав для разных типов пользователей
- Изоляция проектов — данные одного проекта недоступны пользователям другого
- Аудит — все действия пользователей логируются
Некоторые микросервисы платформы
RIC-Gate: межпротокольное взаимодействие
Сервис, обеспечивающий подключение устройств к облачной платформе:
- Inlet — обработка входящих данных с учётом протокола устройства
- Outlet — передача обработанных данных во внутренние сервисы или на другие устройства
- CORE — TCP/UDP серверы и маршрутизация между Inlet и Outlet
Базовые функции:
- Сбор, хранение и первичная обработка данных
- Сериализация и десериализация данных разных протоколов
- Нормализация на основе Моделей устройств
- Обмен данными между устройствами (один к одному, один к многим, многие ко многим)
- Шифрование на транспортном уровне (TLS) и уровне протоколов устройства
RIC-Handler: обработка данных
Serverless обработка данных в двух режимах:
- Режим реального времени — обработка при поступлении данных
- Ретроспективная обработка — анализ исторических данных
Базовые возможности:
- Пользовательские функции на ES6
- Обогащение, фильтрация, преобразование телеметрии
- Вебхуки для интеграции с внешними системами
- Изоляция в контейнерах с ограниченными ресурсами
RIC-Logic: автоматизация
Графический no-code редактор сценариев автоматизации:
- Машина состояний — описание процесса через состояния и переходы
- Состояния — периоды стабильности процесса (например, "в покое", "в движении")
- Переходы — изменения свойств, инициируемые событиями
- Триггеры — данные от объектов, API запросы, другие автоматы, таймеры, геозоны
Каждый автомат — упрощенно, это микроконтейнер, работающий независимо. На одном объекте могут работать несколько сценариев автоматизации одновременно.
RIC-Web: пользовательские интерфейсы и API
- REST API для интеграции с внешними системами
- Data Driven UI — интерфейсы генерируются на основе Моделей
- SDK для расширенных сценариев
- Гибкая система авторизации и разграничения прав
Хранение данных
- Горячие данные — in-memory база данных для состояний объектов, сессий пользователей
- Холодное хранение — time-series база данных для телеметрии
- Различные типы СУБД — оптимизированные для разных типов данных (телеметрия, кеш, сущности, файлы, прошивки)
Материалы