О чём эта история
EKF — международный бренд электрооборудования, комплексных энергоэффективных решений по электроснабжению и автоматизации промышленных предприятий, гражданских и инфраструктурных объектов. В актив компании «Электрорешения», которая представляет бренд EKF в России, входят две производственные площадки во Владимирской области, сеть логистических центров, собственный отдел исследований и разработок и испытательная лаборатория.
На базе облачной инфраструктуры Yandex Cloud EKF создала два новых продукта: EKF Connect Home, предназначенный для управления системами умного дома, и EKF Connect Industry — для автоматизации промышленных объектов. Благодаря удобству управления ресурсами и простоте масштабирования и развёртывания облачной инфраструктуры компания ускорила вывод приложений в продакшн.
Поиск отказоустойчивой и безопасной инфраструктуры для решений EKF
Для удалённого управления компонентами умного дома компания «Электрорешения» под брендом EKF разработала контроллер ePRO24 и сервис на базе платформы Tuya. В 2022 году со своей продукцией EKF решил выйти на рынок умных устройств для застройщиков. Для этого нужно было создать новое приложение, которое объединит устройства серии ePRO24 с виртуальными ассистентами.
Чтобы избежать инфраструктурных и регуляторных рисков, компания решила перенести весь проект на одну из российских облачных платформ. Для компании «Электрорешения» было важно соблюдать требования 152-ФЗ. Поэтому компания искала российского поставщика облачных услуг. К тому же за счёт локализации сократилось бы число задержек в работе устройств умного дома — это повысило бы надёжность системы. Кроме требований безопасности обработки и хранения данных, платформа должна была соответствовать требованиям проекта OWASP, который помогает производителям и разработчикам выявлять проблемы безопасности при создании IoT‑устройств.
Компания выбрала Yandex Cloud, потому что платформа удовлетворяла всем требованиям, а также предоставляла сервис Yandex Managed Service for Kubernetes® для быстрого развёртывания контейнеризированных приложений.
Управляемые сервисы Yandex Cloud для систем умного дома и промышленных решений
При миграции нужно было не только перенести существующее решение в новое облако, но и развернуть инфраструктуру для двух новых продуктов: EKF Connect Home для управления умными домами и EKF Connect Industry для автоматизации промышленных объектов. Оба продукта имеют микросервисную архитектуру.
EKF Connect Home позволяет пользователям управлять устройствами умного дома через мобильное приложение или с помощью голосовых команд. В EKF Connect Home есть сущности (дом, комната, девайс) и уровни прав: владелец дома и пользователь с ограниченными правами. Команды пользователей преобразуются в запросы и попадают в брокер сообщений Apache Kafka®. Затем они отправляются по флоу, в зависимости от конечных сервисов, которые управляют теми или иными девайсами. Команды пользователей отображаются в приложении. Если активированы автоматические сценарии работы, система сама выполняет действия, например на основе данных от внешних сервисов, таких как Яндекс Погода или Геокодер. В случае срабатывания триггеров, например при включении сигнализации, пользователю отправляются уведомления в Telegram или в СМС.
EKF Connect Industry — облачная аналитическая платформа, предназначенная для диспетчеризации и мониторинга удалённых объектов. Платформа поддерживает два метода передачи данных с оборудования, таких как программируемые логические контроллеры и датчики. Первый метод — передача данных через Modbus-шлюз. Он подключается к оборудованию через Modbus RTU/TCP, выполняет его опрос и передаёт данные через GSM, Wi-Fi или Ethernet в MQTT‑брокер (EMQX), который выступает посредником между объектом и платформой. Другой способ заключается в использовании сервера OPC UA, который подключает оборудование к ПК или ПЛК через Modbus RTU/TCP. Сервер собирает данные и передаёт их через GSM, Wi-Fi или Ethernet в клиента OPC UA — микросервис платформы EKF.
Оба сервиса развёрнуты в одном кластере Managed Service for Kubernetes®, но между собой не связаны. Все данные приложений, включая отчёты и статистику, анализируются и хранятся в кластере Yandex Managed Service for ClickHouse®, где сейчас хранится около 6 млн записей от различных датчиков. Срок хранения таких данных — один год. Получением и транспортировкой данных управляет брокер сообщений Apache Kafka, развёрнутый в Yandex Cloud, в частности он отправляет их в оперативное хранилище на базе Redis™. Эти данные затем могут использовать клиенты для отслеживания параметров, например напряжение. Хранение данных в Managed Service for ClickHouse® позволяет проводить их дальнейший анализ. Обработанные данные визуализируются с помощью скриптов на Python™ 3.10 и отображаются в виде виджетов на дашбордах приложения. Для визуализации EKF использует собственную разработку. В платформу встроен движок, на котором пользователи сами создают скрипты для автоматизации реакций и действий.
Компания построила в Yandex Cloud отказоустойчивое приложение, рассчитанное на более чем 1 млн пользователей.
После запуска проекта в Yandex Cloud MAU EKF Connect Home вырос в четыре раза, а количество активных сессий в приложении — более чем в пять раз за год работы. Компания «Электрорешения» с помощью сервиса мониторинга Grafana отслеживает надёжность работы платформы по нескольким метрикам: используемые CPU и память в подах, количество входящих запросов в минуту, активные подключения и ошибки.
Компания также создала ещё одно решение на базе EKF Connect Home и EKF Industry — EKF Building для цифровизации жилых зданий.