Контейнеры усиливают гибкую разработку IoT-приложений
Для большинства предприятий технология контейнеров давно стала основой современной облачной архитектуры. Однако ее преимущества выходят далеко за рамки традиционного IT, предлагая значительные выгоды для Промышленного Интернета вещей (IIoT), по словам Тима Винтера, CTO в Machfu, ведущем провайдере IIoT-решений.
Контейнер объединяет приложение и все его зависимости — библиотеки, бинарные файлы и конфигурационные файлы — в единый легковесный пакет. Эта абстракция устраняет вариации в операционных системах и базовой инфраструктуре, позволяя разработчикам доставлять согласованные рабочие нагрузки в любую среду.
«Процесс разработки контейнеров строит репозиторий "вещей", это ваше приложение плюс поддерживающее ПО, и производит образ контейнера — многослойный пирог из приложения и его зависимостей», — объясняет Гарри Форбс, аналитик ARC Advisory Group.
Gartner сообщает, что более 75% глобальных организаций уже запускали контейнеризированные приложения в продакшене к 2022 году.
Преимущества контейнеров
Поскольку все компоненты объединены, контейнеры могут быть развернуты в любой вычислительной среде с минимальным трением, упрощая развертывание и обновления приложений на гетерогенных платформах.
Изоляция — ключевое преимущество: модули взаимодействуют только через четко определенные API, оставаясь независимыми друг от друга. Это разделение означает, что обновления одного модуля не распространяются через систему — критическая особенность в быстро развивающихся IoT-экосистемах.
Контейнеры также раскрывают «святой грааль» периферийных вычислений — позволяя процессам с ИИ работать непосредственно на пограничных устройствах.
«С растущим спросом на обработку данных в реальном времени и избегание высоких затрат на передачу и хранение необработанной телеметрии в облаке», — говорит Аюш Тивари, старший менеджер по продуктам IoT в PTC, — «больше пользователей IoT предпочитают предварительно обрабатывать данные, трансформировать их и запускать пользовательскую бизнес-логику прямо на периферии. Модели ИИ и машинного обучения могут затем обучаться и развертываться через локальные, изолированные контейнеры».
Защита и обновление периферийного ПО также становится проще, когда рабочие нагрузки контейнеризированы, позволяя операторам управлять патчами из облака, сохраняя строгую изоляцию.
«Перенося определенные рабочие нагрузки на периферию, подключенные продукты тратят меньше времени на общение с облаком, могут быстрее реагировать на локальные изменения и остаются надежными даже в сценариях с низкой пропускной способностью», — добавляет Тивари.
[Для более подробного освещения промышленного IoT, примите участие в Industrial IoT World в декабре.]
Разделение повышает безопасность на IIoT-устройствах
В IIoT контейнеры особенно привлекательны, потому что они разделяют рабочие нагрузки, позволяя отдельные обновления без влияния на другие приложения на том же устройстве.
«Вместо одного монолитного контейнера, выполняющего все периферийные функции, можно представить множество контейнеров — один для сбора данных, другой для конфигурации устройства», — предлагает Винтер.
Разделение позволяет отдельные уровни привилегий. Например, модуль сбора данных может иметь доступ только для чтения к датчикам, в то время как модуль обновления прошивки требует более высоких привилегий и защищен отдельно.
«Это соответствует современным лучшим практикам безопасности», — говорит Винтер. «Это аналогично назначению роли администратора против роли только для чтения в корпоративной среде».
Разделение компонентов приложения также уменьшает радиус поражения при нарушениях безопасности. Разработчики могут применять OS-уровневые контролы и политики, ограничивающие влияние скомпрометированных контейнеров.
Однако разделение вводит необходимость в надежной схеме межпроцессного взаимодействия (IPC) или удаленного вызова процедур (RPC). Аутентификация и авторизация должны управлять этими взаимодействиями для предотвращения несанкционированного доступа.
«В промышленных контекстах многие устройства — простые датчики с минимальными CPU-ресурсами», — отмечает Стефано Яннуччи, ассистент профессора в Университете штата Миссисипи. «Вы должны оркестрировать датчики и актуаторы через процесс, который часто работает в контейнерах, будь то в облаке или на периферии».
Контейнеры также обеспечивают дисциплинированный конвейер разработки и развертывания. Согласно Форбс, процесс включает: создание репозитория для всех версий ПО; построение образа контейнера с инструментами вроде Docker; и отправку образа в целевые системы — будь то одно устройство или тысячи.
«Обновление тысячи систем не намного сложнее, чем обновление одной», — подчеркивает Форбс. «Контейнеры — экономически эффективный способ управления приложениями в масштабе».
Несмотря на их многосильные стороны, контейнеры не являются сребряной пулей. Их эфемерность — легкое создание и уничтожение — может затруднять видимость и отслеживание, требуя дополнительных инструментов для поддержания наблюдаемости.
В целом, технология контейнеров приносит гибкость, масштабируемость и безопасность в разработку IoT-приложений, прокладывая путь к более умным, быстрым и устойчивым периферийным решениям.
Интернет вещей
- Топ IoT-трендов 2019: инсайты из самых читаемых постов Cisco
- Почему Edge Computing критичен для успеха IoT
- Пять ключевых принципов успешной разработки IoT‑продукта
- От Edge к Cloud: мастерство IoT data pipelines
- IoT World 2023: прямой эфир ключевых докладов, интервью и инноваций Edge из Санта-Клары
- Инсайты по Edge Computing и стратегии ИоТ с IoT World 2019
- Open Source vs вендор-поддерживаемые инструменты разработки IoT: выбор правильного стека для предприятия
- Использование IoT для усиления разработки мобильных приложений
- Использование пограничных вычислений для IoT, ИИ и новых технологий
- Периферийные вычисления получают четкий, отраслево одобренный фреймворк