Edge до того, как это назвали edge: что вычислять у станка, а что в центре
Реакция, задержка и надёжность связи требуют разного места вычислений. Как думать о распределении логики между устройством и центром.
Термина "edge computing" в повседневном обиходе ещё нет. Но задача, которую он описывает, существует давно - и в автоматизированном производстве с ней сталкиваются постоянно. Где должна жить логика: рядом с устройством или в центральной системе?
Когда я разговариваю с инженерами на производстве, этот вопрос возникает в разных формулировках. "Мы не можем положиться на сеть в цеху." "Контроллер реагирует слишком медленно, если идёт через сервер." "Нам нужно принимать решение за миллисекунды, а не за секунды." За каждой из этих фраз стоит одно и то же: неправильное распределение вычислений.
Три причины, по которым логика должна быть рядом с устройством
Первая - время реакции. Если система управления роботом или станком принимает решение через центральный сервер, скорость ограничена задержкой сети. На холодном складе с Wi-Fi это могут быть секунды. В задаче, где требуется реакция за доли секунды, центральная архитектура просто не работает.
Вторая - надёжность сети. Промышленная среда - это не офис. Помехи, обрывы, загрузка канала. Система, зависящая от постоянного соединения, получает одну точку отказа прямо в критическом месте процесса. Логика, живущая рядом с устройством, продолжает работать при потере связи.
Третья - объём данных. Высокоскоростная камера на линии контроля качества генерирует гигабайты в минуту. Передавать весь поток в центр нет смысла - ни по полосе, ни по стоимости хранения. Логика фильтрации и первичной обработки должна быть там, где данные рождаются.
Объём данных с полевого оборудования - одна из причин, по которым производство начинает говорить как платформа, а не просто указывает всё на центральный сервер.
Что имеет смысл делать в центре
Вычисления рядом с устройством - не самоцель. Они закрывают задачи с жёсткими требованиями по времени и связности. Всё остальное лучше делать централизованно.
Обучение моделей, агрегация статистики по всему парку оборудования, долгосрочное хранение истории, аналитика по нескольким цехам, управление конфигурациями - это задачи, где централизация даёт выигрыш. Здесь нет требований к реакции в миллисекунды. Здесь важны масштаб, единая точка управления и возможность работать с накопленными данными.
Хорошая архитектура не делает выбор "всё на устройстве" или "всё в центре". Она явно разделяет задачи по их природе и назначению.
Где эта граница проходит на практике
На производстве я видел несколько устойчивых паттернов.
Управление приводами и реакция на датчики - всегда локально. Это физический уровень, где задержка измеряется в миллисекундах и сеть вообще не участвует.
Первичная обработка сигналов и принятие оперативных решений - на промышленном контроллере или локальном компьютере рядом с линией. Это уровень, где логика уже достаточно сложна для программирования, но всё ещё требует независимости от сети.
Агрегация данных, диагностика состояния оборудования, передача событий - между устройством и центром. Здесь допустима задержка в секунды, но нужна буферизация при потере связи.
Аналитика, отчётность, обучение - в центральной системе или в облаке. Здесь важны вычислительные ресурсы и единая картина.
Практические вопросы перед проектированием
Когда нужно принять решение о распределении логики, полезно ответить на несколько вопросов:
- Какова допустимая задержка для каждого решения - миллисекунды, секунды или минуты?
- Что должна делать система при потере связи - останавливаться, работать в аварийном режиме или продолжать в штатном?
- Какой объём данных генерируется и что из этого реально нужно передавать?
- Кто отвечает за устройство локально и кто - за центральную систему?
- Как будет обновляться логика на устройстве при изменении требований?
Последний вопрос часто недооценивают. Обновить логику на сотне распределённых устройств - это отдельная задача, которая должна быть предусмотрена в архитектуре с самого начала.
Слово "edge" пока не устоялось, но задача уже сформулирована. Кто решает её сейчас осознанно - выигрывает надёжность и скорость там, где они нужны.