Что такое iot edge
«Интернет вещей» — это сейчас модно. Ему посвящают множество докладов и презентаций. Маркетологи прогнозируют существенный рост внедрения IoT-решений и значительную выгоду для компаний-новаторов. Но не все так просто. Успешных индустриальных IoT-проектов в наших реалиях пока совсем немного, и это в значительной степени связано с ограничениями, которые заложены в саму концепцию «Интернета вещей». Присутствие в ней облака — как компонента, в котором выполняется большая часть логики IoT-системы, — возможно далеко не всегда. Аргументы против использования облака, а значит, и классического IoT, в каждом конкретном сценарии могут быть разными, но большинство из них так или иначе связаны с двумя категориями рисков: доступностью облака и безопасностью.
Обновления, блоги и объявления по IoT Edge
Edge framework
Когда мы осознаем, что есть необходимость в управлении большим количеством сервисов на тысячах устройств и сотнями приложений в разных кластерах, наступает понимание, что надо бы использовать какой-то фреймворк для управления всем этим зоопарком и синхронизации между устройствами.
Именно наличие данного фреймворка раскрывает преимущества edge computing перед разнородными разнесёнными вычислениями.
Как мы видим, кроме центральной части по управлению сервисами и моделями в данном фреймворке присутствуют агенты, обеспечивающие контроль за управлением жизненным циклом сервисов на устройствах/кластерах на каждом из уровней использования.
Модули IoT Edge
Модули IoT Edge — это единицы выполнения, которые реализуются в виде совместимых с Docker контейнеров, позволяющих выполнять задачи бизнес-логики на пограничных устройствах. Можно настроить взаимодействие нескольких модулей, создав конвейер обработки данных. Вы можете разрабатывать пользовательские модули или упаковывать определенные службы Azure в модули для предоставления информации в автономном режиме и на пограничном устройстве.
Концепция граничных вычислений в IoT
Рассмотрим две крайности типовой архитектуры IoT-решения.
Если мы переносим всю логику системы на сторону объекта управления или мониторинга, то фактически получаем «классическую» АСУ или SCADA. При этом лишаясь преимуществ облачной архитектуры: неограниченной вычислительной мощности, платы только за потребленные ресурсы, простоты создания распределенных решений и большого числа готовых сервисов, которые позволяют намного быстрее получить результат в виде работающего решения.
Если же перенести всю логику в облако, возникают сложности с работой системы при отсутствии связи, невозможности передавать данные по сети из-за их большого объема или секретности этих данных (например, первичных значений телеметрии оборудования). Немаловажными являются также требования защиты интеллектуальной собственности, т. е. алгоритмов управления системой, ведь они представляют конкурентное преимущество компании.
Логичным компромиссом видится промежуточный подход, который бы позволял использовать преимущества облака и был лишен его основных недостатков. Методы, которые дают возможность оптимизировать облачную архитектуру путем переноса части алгоритмов обработки данных ближе к их источнику, принято называть Edge computing. Автору неизвестен устоявшийся русский перевод этого термина. Длинный вариант — «предварительная обработка на стороне поставщика данных» — лучше отражает суть концепции, но, видимо, приживется более краткий термин «граничные вычисления», который мы и будем использовать в статье.
В России подобный подход приобрел бы особую актуальность, так как, помимо решения ряда технических проблем, он бы дал возможность IoT существовать в условиях санкций и современных законодательных ограничений. При использовании граничных вычислений первичные данные оставались бы на территории России, что позволило бы многим решениям полностью соответствовать законодательству.
Рис. 1. Трансформация традиционного подхода в архитектуру IoT Edge
В соответствии с этой концепцией на граничные устройства возлагаются задачи приема и предварительной обработки первичных данных от объекта мониторинга по промышленным протоколам, оптимизация объемов передаваемых в облако данных с их предварительной обработкой, а также оперативная обратная связь и надежное исполнение команд из управляющего центра (облака) с минимально возможным временем отклика. При этом немаловажными остаются функции обеспечения конфиденциальности данных в процессе их передачи, контроль целостности системы и защита интеллектуальной собственности, т. е. тех самых алгоритмов, которые делают доступной обратную связь.
За облаком остаются те задачи, с которыми прекрасно справляется мощная централизованная вычислительная платформа: консолидация и долговременное хранение данных от большого числа устройств, управление и удаленный мониторинг, а также хранение, резервное копирование и выполнение ресурсоемких операций (в частности, обучения ML-моделей и использования сервисов искусственного интеллекта). Разрабатывают такие платформы крупнейшие облачные провайдеры, но многие из них распространяются в виде решений с открытым исходным кодом и могут быть применены в различных сценариях.
Среда выполнения IoT Edge
Среда выполнения Azure IoT Edge позволяет использовать настраиваемую и облачную логику на устройствах IoT Edge. Эта среда выполнения размещается на устройстве IoT Edge. В ней выполняются операции управления и взаимодействия. Основные функции среды выполнения:
- установка и обновление рабочих нагрузок на устройстве;
- поддержание стандартов безопасности Azure IoT Edge на устройстве;
- поддержание рабочего состояния модулей IoT Edge;
- передача данных о состоянии работоспособности модуля в облако для удаленного мониторинга;
- управление связью между подчиненными конечными устройствами и устройством IoT Edge, между модулями на устройстве IoT Edge, а также между устройством IoT Edge и облаком.
В каких целях вы будете использовать устройство Azure IoT Edge, зависит от вас. Среда выполнения часто используется для развертывания решений ИИ на устройствах шлюза, которые позволяют агрегировать и обрабатывать данные, поступающие с разных локальных устройств. Но такая модель развертывания — это только один из возможных вариантов.
Среда выполнения Azure IoT Edge работает на разных устройствах Интернета вещей, что позволяет использовать ее разными способами. Она поддерживает операционные системы Linux и Windows, а также позволяет извлекать сведения об оборудовании. Используйте устройство не больше, чем Raspberry Pi 3, если вам не нужно обрабатывать большое количество данных, или промышленный сервер для выполнения ресурсоемких рабочих нагрузок.
Часто задаваемые вопросы об Azure IoT Edge
IoT Edge состоит из трех компонентов. Модули IoT Edge — это контейнеры, в которых выполняются службы Azure, сторонние службы или пользовательский код. Модули развертываются на устройствах с поддержкой IoT Edge и выполняются на них локально. Среда выполнения IoT Edge запускается на каждом устройстве с поддержкой IoT Edge и позволяет управлять модулями, развернутыми на каждом устройстве. Облачный интерфейс позволяет удаленно отслеживать и администрировать устройства с поддержкой IoT Edge.
Кроме того, IoT Edge обеспечивает следующие преимущества:
IoT Edge входит в число наиболее открытых пограничных платформ, существующих на данный момент. А корпорация Майкрософт верна своему обязательству применять технологии с открытым кодом для внедрения инноваций, предназначенных для пограничной зоны. Среда выполнения IoT Edge с открытым кодом, которая предоставляется по лицензии MIT, обеспечивает дополнительный контроль и гибкость при работе с кодом. IoT Edge поддерживает систему управления контейнерами Moby. Она позволяет реализовать концепции контейнеризации, изоляции и управления не только в облаке, но и на пограничных устройствах.
IoT Edge поддерживает выполнение логики Azure, сторонних поставщиков и пользовательской логики в пограничной зоне. Чтобы воспользоваться преимуществами работы в пограничной зоне, выберите пограничные модули в Azure Marketplace. Эти модули на основе контейнеров сертифицированы для работы в IoT Edge и обеспечивают ускоренный выход ваших решений на рынок. Если вы — партнер по программному обеспечению, узнайте, как опубликовать модули IoT Edge.
IoT Edge поддерживает операционные системы Windows и Linux и работает даже на устройствах Raspberry Pi. Просмотрите каталог устройств Microsoft Azure Certified for IoT, в котором вы найдете оборудование сторонних поставщиков, сертифицированное на основе ключевых функций, таких как поддержка ИИ, управление устройствами и безопасность. Если вы — партнер по оборудованию, узнайте, как сертифицировать свои пограничные устройства.
Майкрософт предоставляет услуги IoT Edge в сотрудничестве с DJI, Qualcomm, SAP и NVIDIA. Разрабатывайте решения IoT Edge для запуска на оснащенных графическими процессорами дронах для коммерческого использования с DJI. Запускайте службы на основе IoT Edge и ИИ на платформе камер Snapdragon при помощи комплекта средств ИИ с функцией визуального распознавания для разработчиков с Qualcomm. Развертывайте важные бизнес-функции в виде пограничных модулей с SAP. Получайте аналитические сведения из видео в реальном времени, конвертируя видеоканалы в данные телеметрии датчиков с NVIDIA.
Служба Azure IoT Edge позволяет перенести облачную аналитику и пользовательскую бизнес-логику на устройства, чтобы организация могла сосредоточиться на бизнес-аналитике и не тратить время на управление данными. Решение Интернета вещей можно масштабировать, упаковав бизнес-логику в стандартные контейнеры, развернув эти контейнеры на любом устройстве и отслеживая все эти процессы в облаке.
Аналитика в решениях Интернета вещей способствует оптимизации бизнеса, но не все данные аналитики должны находиться в облаке. Если нужно как можно быстрее реагировать на аварийные ситуации, рабочие нагрузки обнаружения аномалий можно выполнять на пограничных устройствах. Если требуется снизить расходы на пропускную способность и не передавать терабайты необработанных данных, можно выполнять очистку и агрегирование данных локально и отправлять в облако только полезные сведения для анализа.
Azure IoT Edge состоит из трех компонентов:
- Модули IoT Edge — это контейнеры, в которых выполняются службы Azure, сторонние службы или ваш собственный код. Модули развертываются на устройства IoT Edge и выполняются на них локально.
- Среда выполнения IoT Edge запускается на каждом устройстве IoT Edge и позволяет управлять модулями, развернутыми на каждом устройстве.
- С помощью облачного интерфейса вы можете осуществлять мониторинг устройств IoT Edge и управлять ими удаленно.
Служба Azure IoT Edge доступна в Центре Интернета вещей только на уровнях "Бесплатный" и "Стандартный". Уровень "Бесплатный" можно использовать только для тестирования и оценки. Дополнительные сведения о базовом и стандартном уровнях см. в статье о выборе нужного уровня Центра Интернета вещей.
Искусственный интеллект на пограничном устройстве
Azure IoT Edge позволяет развертывать обработку сложных событий, машинное обучение, распознавание изображений и другие важные искусственные интеллекты (ИИ), не создавая их самостоятельно. Такие службы Azure, как "Функции Azure", Azure Stream Analytics и "Машинное обучение Azure", можно запускать в локальной среде с помощью Azure IoT Edge. Но вы не ограничены службами Azure. Любой специалист может создавать модули ИИ и делать их доступными для сообщества посредством Azure Marketplace.
Облачный интерфейс IoT Edge
Управлять жизненным циклом программного обеспечения для миллионов географически разрозненных устройств Интернета вещей разных моделей и от разных производителей сложно. Рабочие нагрузки создаются и настраиваются для определенного типа устройства, развертываются на всех ваших устройствах и отслеживаются на предмет некорректно работающих устройств. Эти задачи должны выполняться в нужном масштабе для всех устройств одновременно.
Azure IoT Edge легко интегрируется с Azure IoT Central, чтобы обеспечить один уровень управления для потребностей вашего решения. Облачные службы позволяют выполнять следующие задачи.
- создание и настройка рабочей нагрузки для выполнения на устройстве определенного типа;
- отправка рабочей нагрузки на набор устройств;
- мониторинг рабочих нагрузок, выполняющихся на рабочих устройствах.
Что же такое edge computing
Согласно определению Гартнера, edge computing — это подвид распределенных вычислений, в котором обработка информации происходит в непосредственной близости к месту, где данные были получены и будут потребляться. Это основное отличие edge computing от облачных вычислений, при которых информация собирается и обрабатывается в публичных или частных датацентрах. Основным отличием от локальных вычислений является то, что обычно edge computing — это часть большей системы, которая включает в себя сбор статистики, централизованное управление и удаленное обновление приложений на edge устройствах.
Что же такое edge устройство? Многие считают, что edge computing — это когда приложение работает на Raspberry Pi или других микрокомпьютерах. На самом деле edge computing может быть и на мобильных устройствах, персональных ноутбуках, умных камерах и других устройствах, на которых можно запустить приложение по обработке данных.
В целом, когда я изучал этот вопрос, у меня сложилось впечатление, что тема недооценена и что многие, пытаясь решить задачи edge computing, изобретают свой велосипед и применяют подходы, используемые при облачных вычислениях. Также достаточно часто происходит путаница в терминах IoT , edge computing и fog computing . Попробуем с этим разобраться.
Работайте автономно или с периодической возможностью подключения
Ваши пограничные устройства будут работать надежно и безопасно, даже если они не в сети или могут подключаться к облаку только периодически. Решение для управления устройствами Azure IoT Edge автоматически синхронизирует последнее состояние устройств после их повторного подключения, чтобы обеспечить бесперебойную работу.
Искусственный интеллект на пограничном устройстве
Azure IoT Edge позволяет развертывать обработку сложных событий, машинное обучение, распознавание изображений и другие важные искусственные интеллекты (ИИ), не создавая их самостоятельно. Такие службы Azure, как "Функции Azure", Azure Stream Analytics и "Машинное обучение Azure", можно запускать в локальной среде с помощью Azure IoT Edge. Но вы не ограничены службами Azure. Любой специалист может создавать модули ИИ и делать их доступными для сообщества посредством Azure Marketplace.
Нам доверяют компании из различных отраслей
Edge computing и IoT
Довольно часто звучит вопрос — "Чем же отличается edge computing от IoT". IoT можно назвать дедушкой edge computing. IoT — это множество устройств, связанных между собой, и способных передавать информацию друг другу. А edge computing это скорее подход к организации вычислений и управлению edge устройствами. Как вы отлично понимаете, любое приложение необходимо обновлять, мониторить и осуществлять прочие обслуживающие функции. В результате edge computing подразумевает использование определенных подходов и фреймворков, о которых я расскажу чуть позже.
Среда выполнения IoT Edge
Среда выполнения Azure IoT Edge позволяет использовать настраиваемую и облачную логику на устройствах IoT Edge. Эта среда выполнения размещается на устройстве IoT Edge. В ней выполняются операции управления и взаимодействия. Основные функции среды выполнения:
- установка и обновление рабочих нагрузок на устройстве;
- поддержание стандартов безопасности Azure IoT Edge на устройстве;
- поддержание рабочего состояния модулей IoT Edge;
- передача данных о состоянии работоспособности модуля в облако для удаленного мониторинга;
- управление связью между подчиненными конечными устройствами и устройством IoT Edge, между модулями на устройстве IoT Edge, а также между устройством IoT Edge и облаком.
В каких целях вы будете использовать устройство Azure IoT Edge, зависит от вас. Среда выполнения часто используется для развертывания решений ИИ на устройствах шлюза, которые позволяют агрегировать и обрабатывать данные, поступающие с разных локальных устройств. Но такая модель развертывания — это только один из возможных вариантов.
Среда выполнения Azure IoT Edge работает на разных устройствах Интернета вещей, что позволяет использовать ее разными способами. Она поддерживает операционные системы Linux и Windows, а также позволяет извлекать сведения об оборудовании. Используйте устройство не больше, чем Raspberry Pi 3, если вам не нужно обрабатывать большое количество данных, или промышленный сервер для выполнения ресурсоемких рабочих нагрузок.
Упрощенная разработка
Референсная архитектура edge computing
Техническое сообщество Интернета вещей
Задавайте вопросы и получайте поддержку от инженеров корпорации Майкрософт и экспертов сообщества Azure.
Дальнейшие действия
Опробуйте эти основные принципы на практике, развернув свой первый модуль IoT Edge на устройстве.
Microsoft Learn
Курсы по Центру Интернета вещей содержат учебные материалы и ресурсы для различных должностей, которые помогут планировать и создавать решения Интернета вещей как новичкам, так и опытным разработчикам.
Open Horizon и IBM Edge Application Manager
Именно для решения задач в области edge computing IBM разработала и выложила в open-source проект Open Horizon. Если вы помните, один из принципов, которые IBM заложила в edge computing – все компоненты должны быть основаны на open source технологиях. В мае 2020 года проект Open Horizon вошел в Linux Foundation Edge — Международный фонд open-source технологий для созданий edge-решений. Также Open Horizon является ядром нового продукта от RedHat и IBM — IBM Edge Application Manager, решения для управления приложениями на всех устройствах edge computing: от Raspberry Pi до промежуточных кластеров обработки данных.
Несмотря на то, что проект Open Horizon вошел в консорциум только в мае, он уже достаточно давно развивается как open-source проект. И мы в Научно-техническом центре IBM не только успели его попробовать, но и довести свое решение до промышленного использования. О том, как мы разрабатывали проект с использованием edge computing, и что у нас получилось — будет отдельная статья, которая выйдет в ближайшие несколько недель.
С одной стороны, edge computing framework — это специализированное решение для определённого круга задач, но оно нашло применение во многих индустриях.
В своё время, когда я изучал работу московских камер “Стрелка”, я понял, что это в чистом виде edge computing, с вычислениями "прямо на столбе" и промежуточной обработкой данных в раздельных вычислительных кластерах у различных ведомств.
Сценарии нашлись в финансовом секторе, в продажах при самообслуживании, в медицине и секторе страхования, торговле и конечно при производстве. Именно в создании решения для автоматизации и оценки качества произведённого оборудования, основанного на edge computing, мне с коллегами из Научно-технического центра IBM и посчастливилось принять участие. И на своем опыте попробовать, как создаются решения edge computing.
Если Вас заинтересовала данная тематика, следите за обновлениями в хабраблоге компании IBM и смотрите видео в разделе Ссылки. Наши зарубежные коллеги к настоящему моменту уже осветили многие технические вопросы и описали, какие сценарии уже работают и применяются в различных отраслях.
Документация
Постройте интеллектуальную границу с помощью 5-минутных кратких руководств, инструкций, учебных пособий и примеров кода.
Система безопасности IoT Edge для корпоративных развертываний на периферии сети
- Гарантирует, что на устройствах установлено нужное программное обеспечение и что данными могут обмениваться только авторизованные пограничные устройства.
- Благодаря интеграции с Защитником Azure для Интернета вещей, обеспечивает комплексную защиту от угроз и управление безопасностью.
- Поддерживает любые аппаратные модули безопасности, обеспечивая надежное подключение с проверкой подлинности для конфиденциальных вычислений.
Заключение
IoT Edge призван дополнить и расширить применение как облачных технологий, так и традиционных систем автоматики. Суть граничных вычислений — взаимодействие облака и периферии. При централизации ресурсов Edge-вычисления вырождаются в on-premises-облако. Концепция Edge computing предполагает создание гибридных «расширений» публичного облака на on-premises ЦОД, и это отдельное направление развития граничных вычислений. Подобные решения уже существуют и позволяют получить сервисы, аналогичные облачным, с собственного оборудования. При этом сервис предоставляется с качеством управления, которое соответствует публичным облакам, но с минимальной сетевой задержкой и с отсутствием зависимости от стабильности канала к глобальному облаку. Примером такого решения является Azure Stack.
С другой стороны, полный отказ от облака ограничивает возможности развития — хотя бы потому, что значительную вычислительную нагрузку нельзя перенести на граничные устройства из-за ограниченности аппаратных ресурсов.
Кроме того, сегодня очень важно, чтобы заказчик мог получить работающее решение как можно быстрее. Не секрет, что сейчас подобные проекты часто являются тестовыми и ставят своей задачей поиск практической модели, оценку преимуществ и сценариев использования IoT на производстве. Возможность получить облачные сервисы по требованию, а потом быстро отказаться от ненужных в случае корректировки концепции, является более привлекательным подходом, чем инвестиции в собственную вычислительную среду без четких требований к сценариям использования.
В любом случае, разработчикам при реализации перспективных IoT-систем уже сегодня нужно всерьез рассматривать использование подхода Edge computing и будет полезно ознакомиться с тем, что уже существует в этой сфере.
Служба Azure IoT Edge позволяет перенести облачную аналитику и пользовательскую бизнес-логику на устройства, чтобы организация могла сосредоточиться на бизнес-аналитике и не тратить время на управление данными. Решение Интернета вещей можно масштабировать, упаковав бизнес-логику в стандартные контейнеры, развернув эти контейнеры на любом устройстве и отслеживая все эти процессы в облаке.
Аналитика в решениях Интернета вещей способствует оптимизации бизнеса, но не все данные аналитики должны находиться в облаке. Если нужно как можно быстрее реагировать на аварийные ситуации, рабочие нагрузки обнаружения аномалий можно выполнять на пограничных устройствах. Если требуется снизить расходы на пропускную способность и не передавать терабайты необработанных данных, можно выполнять очистку и агрегирование данных локально и отправлять в облако только полезные сведения для анализа.
Azure IoT Edge состоит из трех компонентов:
- Модули IoT Edge — это контейнеры, в которых выполняются службы Azure, сторонние службы или ваш собственный код. Модули развертываются на устройства IoT Edge и выполняются на них локально.
- Среда выполнения IoT Edge запускается на каждом устройстве IoT Edge и позволяет управлять модулями, развернутыми на каждом устройстве.
- С помощью облачного интерфейса вы можете осуществлять мониторинг устройств IoT Edge и управлять ими удаленно.
Служба Azure IoT Edge доступна в Центре Интернета вещей только на уровнях "Бесплатный" и "Стандартный". Уровень "Бесплатный" можно использовать только для тестирования и оценки. Дополнительные сведения о базовом и стандартном уровнях см. в статье о выборе нужного уровня Центра Интернета вещей.
Microsoft Azure IoT Edge
В качестве среды выполнения в Microsoft используются хорошо зарекомендовавшие себя контейнерные технологии Docker, благодаря которым можно применять на периферии сложные вычислительные сценарии. Контейнеры позволяют изолировать модули внутри общей операционной системы, ограничить доступные каждому модулю ресурсы, существенно упростить развертывание модулей и их независимое обновление. Множество прикладных программ уже упаковано в контейнеры Docker, и большинство существующих решений можно легко «переупаковать» для использования в IoT Edge. Кроме того, контейнер с прикладным алгоритмом может разворачиваться на устройстве непосредственно из Container store правообладателя, что позволяет, с одной стороны, упростить развертывание сложных прикладных алгоритмов на устройстве, а с другой — обеспечить защиту интеллектуальной собственности разработчика алгоритмов и публикацию обновлений на устройства. Отдельное направление развития граничных вычислений — использование Azure Stack, которое дает возможность получить сервисы Azure именно в том месте, где они необходимы, с минимальной задержкой и отсутствием зависимости от стабильности канала до глобального облака.
Используя облако как универсальный и централизованный механизм для управления устройствами IoT Edge, можно быстрее получить работающее решение, применив готовую среду исполнения с открытым исходным кодом и уже реализованными функциями для основных протоколов и алгоритмов, а также транспортными модулями и защитой данных. Таким образом, разработчики прикладных решений могут сконцентрироваться на таких задачах, как создание собственных и интеграция готовых модулей решений для Edge-устройств, их настройка и мониторинг.
Удаленный мониторинг устройств в большом масштабе
Удаленно отслеживайте работу устройств IoT Edge в большом масштабе благодаря интеграции Azure Monitor. Используйте встроенные метрики и курируемые визуализации, чтобы получать подробные данные о работоспособности и производительности пограничных приложений прямо на портале Azure. Объедините данные из журналов устройств по запросу с IoT Edge для обеспечения лучшей в своем классе наблюдаемости пограничных сред.
Принципы компании IBM при создании платформы edge computing
Компания IBM, являясь одним из лидеров в области гибридных облаков, использует определённые принципы при разработке решений для edge computing:
- Развивать инновации (Drive Innovation)
- Обеспечить безопасность данных (Secure data)
- Управлять в масштабе (Manage at scale)
- Открытость исходного кода (Open Source)
IBM применяет эти принципы при декомпозиции задачи построения фреймворка edge computing.
Как вы можете видеть, всё решение разбито на 4 сегмента использования:
- Edge-устройства
- Edge-сервера или шлюзы
- Edge-облако
- Гибридное облако в частном или публичном дата центре
Помимо основных принципов и подходов, IBM разработала референсную архитектуру для решений, основанных на edge computing. Референсная архитектура — это шаблон, показывающий основные элементы системы и детализированный настолько, чтобы иметь возможность адаптировать его под конкретное решение для заказчика. Давайте рассмотрим такую архитектуру более подробно.
Перенос рабочих нагрузок, связанных с ИИ и аналитикой, на периферию
Развертывайте модели, созданные и обученные в облаке, и запускайте их в локальной среде. Например, если вы развернете прогнозную модель на заводской камере для контроля качества и будет обнаружена проблема, служба IoT Edge активирует предупреждение и обработает данные локально или отправит их в облако для дальнейшего анализа.
Локальное развертывание облачной аналитики на устройствах IoT Edge
Разверните Azure IoT Edge в локальной среде, чтобы устранить изолированные источники данных и консолидировать операционные данные в масштабе в облаке Azure. Обеспечьте удаленное и безопасное развертывание, а также администрирование облачных рабочих нагрузок, например ИИ, служб Azure или вашей бизнес-логики, для выполнения непосредственно на устройствах Интернета вещей. Оптимизируйте затраты на облако, ускорьте реагирование ваших устройства на локальные изменения и обеспечьте надежную эксплуатацию даже во время длительных периодов автономной работы.
Сертифицированное оборудование IoT Edge. Работает с устройствами Linux или Windows, поддерживающими подсистемы контейнеров
Среда выполнения. Бесплатная среда выполнения с открытым кодом и лицензией MIT, которая обеспечивает дополнительный контроль и гибкость при работе с кодом
Модули. Совместимые с Docker контейнеры из служб Azure или от партнеров Майкрософт, в которых выполняется бизнес-логика на периферии сети
Облачный интерфейс. Позволяет удаленно администрировать и развертывать рабочие нагрузки из облака с помощью Центра Интернета вещей Azure, используя автоматическую подготовку устройств
Hybrid multicloud
Если мы говорим об использовании ML-модели, которая будет запускаться на десятках или тысячах устройств, то нам необходимо облако, которое сможет отвечать за обучение такой модели, обработку статистики, отображение сводной информации (правая часть архитектуры).
Ознакомьтесь с последним выпуском отчета IoT Signals
Этот документ построен на результатах предыдущих отчетов и содержит новые знания и ценные сведения о состоянии Интернета вещей.
Edge server and Edge micro data center
Как мы уже говорили, можно встретить промежуточные (близкие) кластеры обработки данных на уровне шлюзов или микро-датацентров с установленной поддержкой кластерных технологий.
Руководство разработчика
Найдите в одном удобном руководстве все необходимые ресурсы, которые помогут приступить к работе и преодолеть технические сложности.
Документация, ресурсы и средства обучения
Нам доверяют компании из различных отраслей
"We are thrilled to collaborate with an industry leader like Microsoft to drive innovation in retail and build the largest in-store digital media platform in the world."
Грег Уоссон (Greg Wasson), сооснователь и председатель, Cooler Screens
Цены на IoT Edge
Служба IoT Edge состоит из периферийной среды выполнения, периферийных модулей и облачного интерфейса, который предоставляется через Центр Интернета вещей. Среда выполнения IoT Edge реализована с открытым кодом и предоставляется бесплатно.
Преимущества и недостатки edge computing
При выборе технологий для своего проекта я в первую очередь основываюсь на двух критериях — "Что я от этого получу?" и "Какие проблемы я от этого получу?".
Начнём с преимуществ:
- Во-первых, это снижение количества трафика, передаваемого по сети, за счет обработки информации на самом устройстве и передачи только результирующих данных. Особенно виден эффект при использовании edge computing при обработке видеопотока и большого количества фотографий, а также при работе с несжатым звуком.
- Во-вторых, это уменьшение задержек, если необходимо оперативно отреагировать на те или иные результаты обработки данных.
- Для многих систем также важно, чтобы персональные данные не выходили из определённого контура. С введением электронных медицинских карт данное требование является крайне актуальным на сегодняшний день.
- Возможность для устройства быть независимым, определённое время работать без доступа к центральным серверам также повышают отказоустойчивость системы. А централизованный сбор результирующей информации защищает от потери данных при отказе edge-устройства.
Хотя, конечно, проектируя систему с edge computing, не стоит забывать, что как и любую другую технологию её стоит использовать в зависимости от требований к системе, которую вам необходимо реализовать.
Среди недостатков edge computing можно выделить следующие:
- Крайне тяжело обеспечить гарантию отказоусточивости для всех edge-устройств.
- Устройства могут иметь различные платформы и версии OS, для чего, вероятно, потребуется создавать несколько версий сервисов (например, для x86 и ARM).
- Для управления большим количеством устройств потребуется платформа, решающая технические задачи edge computing.
С одной стороны, последний пункт является наиболее критичным, но, к счастью, консорциум Linux Foundation Edge (LF EDGE) включает в себя всё больше и больше проектов с открытым исходным кодом, а их зрелость стремительно растет.
Архитектура на примере прикладного решения
Рассмотрим применение архитектуры Edge computing на примере сценария мониторинга распределенных погружных насосов. Сенсоры технологического оборудования измеряют параметры насосов, включая данные о потоке жидкости, которые считываются через CAN-шину терминалом. Эта информация выводится через Modbus RTU на панели мониторинга SCADA на площадке. Сейчас параметры работы анализируются обходчиками или аварийной бригадой, поскольку данных много, а связь является ненадежной и достаточно дорогостоящей, чтобы передавать весь объем телеметрии. Кроме того, технологические данные о работе оборудования являются конфиденциальными. Оптимизацией работы обходчиков и аварийных бригад занимается специалист в офисе. Он — обычно вручную — анализирует данные, которые были собраны при возникновении неисправности или обслуживании для оптимизации работы насосов. В связи с тем что на работу обходчиков, аварийных бригад и управление ими расходуются значительные средства, часто эти функции выполняются подрядными организациями, а сбор реальной статистики по отказам и их причинам является непрозрачным и в основном ручным — в процессе видится явный резерв по оптимизации.
Как в этом случае может помочь использование граничных вычислений? Оптимизация достигается за счет применения двух самых распространенных сценариев машинного обучения. К ним относятся «поиск отклонений и аномалий» и «оптимизационные задачи». «Поиск отклонений и аномалий» (рис. 2) позволяет ответить на вопрос, какие машины работают неправильно, а «оптимизационные задачи» — выяснить, при каких значениях технологических параметров установка работает максимально эффективно (например, потребляет минимальное количество энергии при максимальном потоке жидкости). Реализаций этих алгоритмов машинного обучения достаточно много, поэтому измененная архитектура предполагает появление на площадке Edge-устройства, которое через Modbus получает параметры работы насосов и передает их в модуль машинного обучения для обработки алгоритмом «поиска аномалий».
Рис. 2. Поиск аномальных параметров работы технологического оборудования
В случае штатной работы в облако направляются только агрегированные данные телеметрии, что значительно экономит трафик, но если данные определяются моделью как аномальные, система уведомляет аварийную бригаду. Если связи нет или параметры телеметрии определяются как критические, система может предпринять действия в автоматическом режиме.
Из примера выше можно вывести ключевые требования к современным платформам граничных вычислений в IoT:
Рис. 3. Архитектура устройства IoT Edge
Рассмотрим реализацию решений граничных вычислений для IoT на примере Microsoft Azure IoT Edge, обеспечивающего работу сервисов потоковой аналитики, машинного обучения и функции Azure на периферийных устройствах, а также AWS Greengrass.
Дальнейшие действия
Опробуйте эти основные принципы на практике, развернув свой первый модуль IoT Edge на устройстве.
Меня зовут Игорь Хапов. Я руководитель разработки в Научно-техническом центре IBM. И сегодня я хотел бы вам помочь окунуться в мир периферийных вычислений, или edge computing, как его ещё называют. Я расскажу о том, что же такое edge computing и как он может повлиять на наш с вами мир. Также хотелось бы пояснить различия между edge computing и fog computing, какие преимущества даёт этот подход. В статье я также описал референсную архитектуру приложения на edge computing. И под конец немного расскажу о проекте с открытым исходным кодом Open Horizon, который совсем недавно присоединился к Linux Foundation.
Практический пример
Автор столкнулся с задачей реализовать удаленный мониторинг электродвигателей, оснащенных интеллектуальными приводами (рис. 4). Привод комплектовался модулем для получения информации о параметрах работы двигателя по ModBus, поэтому решением стали полностью встроенные средства. Сначала в облачном сервисе Microsoft Azure был создан центр «Интернета вещей» IoT Hub и заведен «цифровой двойник» граничного устройства — Gateway с Azure IoT Edge. Само граничное устройство представляло собой Intel Up Board с CPU Atom x5-Z8350, eMMC на 16 Гбайт и RAM на 1 Гбайт. Для развертывания Gateway была установлена Ubuntu версии 18.04 (хотя также могли подойти RHEL, другие версии Linux или Windows). Дополнительно нужно было установить на Gateway Docker, Python и собственно среду выполнения IoT Edge, запустив команду: pip install -U azure-iot-edge-runtime-ctl. В завершение необходимо было зарегистрировать Gateway на облачном сервисе, указав его SAS-ключ в команде iotedgectl setup.
Рис. 4. Удаленный мониторинг электродвигателей
После старта runtime данный IoT Edge Gateway уже управляется через облако с использованием «цифровых двойников». «Цифровой двойник» — это структура данных, которая содержит в себе полное описание всех настроек устройства, хранящееся в облаке. Причем такой «двойник» есть как у самого устройства, так и у каждого модуля. А модуль — это прикладной алгоритм, упакованный контейнер Docker, как мы писали выше.
Таким образом, для передачи данных с привода в облако было достаточно развернуть модуль поддержки протокола ModBus TCP, указав адрес его образа — microsoft/azureiotedge-modbus-tcp:1.0-preview. Если бы нужно было загрузить контейнер из собственного репозитория Docker, требовалось бы указать его адрес. Все адреса подробно описаны в документации на сайте.
После этого на gateway runtime самостоятельно «приезжают» контейнеры с алгоритмами поддержки протокола ModBus TCP и передачи данных в облачный IoT Hub. Статус выполнения каждого контейнера можно отслеживать как в интерфейсе в облаке (рис. 5), так и непосредственно на контроллере.
Рис. 5. Интерфейс настройки граничного устройства в Azure
Настройки для подключения к приводу по ModBus TCP задаются уже в облаке. Для этого нужно было заполнить структуру данных в формате JSON (рис. 6). Среда исполнения на граничном устройстве получает уведомление об изменении настроек модуля ModBus, и они синхронизируются с устройством. В результате модуль подключается к приводу и начинает передавать в облако значения регистров ModBus в формате JSON:
Рис. 6. Настройка «цифрового двойника» модуля ModBus TCP
Таким образом, можно получить всю информацию о работе в облаке. Чтобы завершить создание полноценного решения, осталось:
- Загрузить на граничное устройство модуль Azure Function и настроить преобразование значений регистров ModBus в реальные параметры с соответствующими единицами измерения.
- Загрузить модуль Stream Analytics и настроить его таким образом, чтобы он отправлял не все значения регистров ModBus, а только те из них, которые отличаются от предыдущих, — но не реже заданного интервала.
- Загрузить модуль машинного обучения Azure Machine Learning и настроить модель таким образом, чтобы она определяла «аномальное» сочетание параметров двигателя. А саму модель взять из галереи на сайте.
- Подключить телеметрию к решению: с открытым исходным кодом, Azure IoT Suite с панелями мониторинга и уведомлений.
Edge devices
В первую очередь, у нас есть какое-либо встроенное или дискретное edge-устройство, к которому подключены сенсоры, датчики или управляющие механизмы, например, для координации движения роборуки. Из сервисов/данных на таком устройстве могут находиться:
- Модель обработки данных, например, предобученная ML-модель
- Сервис аналитики, который является средой исполнения модели
- Пользовательский интерфейс для отображения результатов или инициирования аналитики
- Легковесная база данных для хранения промежуточных результатов и кеширования на случай сбоя связи с центральным сервером
- Любые другие сервисы в зависимости от решаемых на данном устройстве задач
Модули IoT Edge
Модули IoT Edge — это единицы выполнения, которые реализуются в виде совместимых с Docker контейнеров, позволяющих выполнять задачи бизнес-логики на пограничных устройствах. Можно настроить взаимодействие нескольких модулей, создав конвейер обработки данных. Вы можете разрабатывать пользовательские модули или упаковывать определенные службы Azure в модули для предоставления информации в автономном режиме и на пограничном устройстве.
edge computing vs fog computing
Когда я однажды рассказал коллеге про edge computing, он ответил — ”так это же fog computing”. Давайте попробуем разобраться, в чём же разница. С одной стороны, edge computing и fog computing часто используются как синонимы, однако fog computing, или "туманные вычисления", все-таки немного отличаются.
И edge computing, и fog computing — это вычисления, которые находятся в непосредственной близости к получаемым данным. Различие заключается в том, что при туманных вычислениях обработка осуществляется на устройствах, которые постоянно подключены к сети. В edge computing вычисления осуществляются как на сенсорах, умных устройствах – без передачи на уровень gateway, так и на уровне gateway и на микрокластерах.
Для меня было открытием, что edge computing может работать в кластерах Kubernetes или OpenShift. Оказывается, что существует достаточно много задач, где кроме оконечных устройств необходимо выполнять обработку информации в локальном кластере и передавать в централизованные дата центры только результирующие данные. И такие вычисления — тоже edge computing.
Использование собственного кода
The IoT Show (Передача об Интернете вещей)
Начало работы с Edge Интернета вещей Azure
Воспользуйтесь краткими руководствами для развертывания кода на устройствах Linux и Windows.
Просмотрите вебинар по запросу, чтобы узнать, как использовать данные, получаемые от устройств Интернета вещей.
На сайте GitHub вы найдете следующие проекты с открытым кодом: агент Edge, концентратор Edge и управляющая программа безопасности Edge.
Облачный интерфейс IoT Edge
Управлять жизненным циклом программного обеспечения для миллионов географически разрозненных устройств Интернета вещей разных моделей и от разных производителей сложно. Рабочие нагрузки создаются и настраиваются для определенного типа устройства, развертываются на всех ваших устройствах и отслеживаются на предмет некорректно работающих устройств. Эти задачи должны выполняться в нужном масштабе для всех устройств одновременно.
Azure IoT Edge легко интегрируется с Azure IoT Central, чтобы обеспечить один уровень управления для потребностей вашего решения. Облачные службы позволяют выполнять следующие задачи.
- создание и настройка рабочей нагрузки для выполнения на устройстве определенного типа;
- отправка рабочей нагрузки на набор устройств;
- мониторинг рабочих нагрузок, выполняющихся на рабочих устройствах.
Уменьшение затрат на решения Интернета вещей
Только небольшая часть данных Интернета вещей, полученных на периферии, представляет собой практически значимые аналитические данные. Используйте такие службы, как Azure Stream Analytics или обученные в облаке модели машинного обучения, для обработки данных в локальной среде и отправляйте в облако только то, что необходимо для дальнейшего анализа. Это позволяет уменьшить затраты, связанные с отправкой всех данных в облако, и при этом сохранить высокое качество данных.
Использование собственного кода
Читайте также: