Обзор архитектур приложений для интернета вещей. Часть 1
Валерий Платонов, инженер
Статья опубликована в журнале ««Электронные компоненты»» №8.
В этой статье, написанной на основе [1], представлен обзор основных функций, сильных сторон и ограничений существующих архитектур IoT-приложений. Кроме того, рассматриваются новые тенденции и технологии в управлении IoT-приложениями, например решения, предоставляемые компаниями Intel, Amazon, Microsoft и Google. Определяются ключевые области будущих исследований, и подчеркивается необходимость совершенствования краевых архитектур, позволяющих сократить сетевой трафик, повысить конфиденциальность данных и совместимость путем разработки многоцелевых и многопротокольных периферийных шлюзов для эффективного управления приложениями.
Архитектуры интернета вещей
Архитектура интернета вещей (IoT) включает в себя сложную сеть взаимосвязанных компонентов, которые работают сообща для сбора, обработки, анализа принятия решений в соответствии с данными, генерируемыми IoT-устройствами. По мере роста потребностей в IoT-решениях, позволяющих работать с широким рядом сенсоров и исполнительных устройств, у которых не только разные протоколы взаимодействия, но и форматы обрабатываемых данных, разрабатывается множество архитектур приложений для интернета вещей. Пока что ни одна из предложенных или разработанных архитектур не является идеальной для всех областей применения или сценариев. Это связано с междисциплинарным характером интернета вещей, где каждая область предъявляет уникальный набор требований.
IoT-архитектуры обычно состоят из нескольких уровней, каждый из которых играет уникальную роль в общей системе. Эти архитектуры сочетают в себе централизованное управление и распределенную обработку данных, используя концепции облачных (cloud), краевых (edge) и туманных (fog) вычислений. Такая оптимизация использования ресурсов, масштабируемости, управляемости и надежности отвечает разным требованиям IoT-приложений в разных отраслях и сценариях использования. Перед тем как приступить к обзору, мы рассмотрим определения облачных, краевых и туманных вычислений, чтобы понять, как они используются для поддержки архитектур приложений интернета вещей.
Облачными вычислениями называются те, которые обеспечивают доступ к сервисам через интернет. К этим сервисам относятся хранилища, серверы, базы данных, сети, программное обеспечение (ПО), аналитика и многое другое. Организации, не желающие владеть и обслуживать собственную вычислительную инфраструктуру или центры обработки данных (ЦОД), арендуют доступ к ряду этих услуг у поставщика облачных сервисов.
В облачной архитектуре интернета вещей устройства подключаются к облачным платформам с поддержкой IP-протокола или без нее в зависимости от возможностей устройств и требований конкретного приложения интернета вещей. Эти варианты подключения показаны на рис. 1.

Рис. 1. Облачная архитектура интернета вещей, демонстрирующая возможности подключения устройств к облаку
Устройства с поддержкой IP-протокола оснащены встроенными сетевыми функциями. Они могут напрямую взаимодействовать через интернет, используя стандартные IP-протоколы, например TCP/IP и UDP/IP, или протоколы более высокого уровня – HTTP и REST. Напротив, устройства, не поддерживающие IP-протокол, не обладают собственными сетевыми функциями и для связи с облачными платформами им требуются промежуточные устройства или протоколы. В большинстве случаев в качестве таких посредников применяются шлюзы, которые собирают данные с устройств, не поддерживающих IP-протокол, с помощью проприетарных или специализированных протоколов, и передают эти данные в облако по IP-сетям.
Шлюзы также осуществляют трансляцию или преобразование протоколов, чтобы обеспечить связь между устройствами, не поддерживающими IP-протокол, и облачными платформами. Эти устройства обычно легче IP-устройств и могут использовать беспроводные или проводные коммуникационные технологии, к которым относятся устаревшие wM-Bus и LoRa для связи со шлюзовыми устройствами или другими сетевыми промежуточными устройствами. Шлюзовые устройства обычно используют IP-протоколы для взаимодействия с облачной платформой, что позволяет им безопасно передавать данные через интернет в облачные службы.
Облачные платформы AWS IoT, Azure IoT и Google Cloud IoT, работающие с IP-устройствами и устройствами без IP-поддержки, используют краевые (граничные) шлюзы, облегчающие подключение устройств, поглощение данных, обеспечение безопасности и управления. Эти платформы поддерживают разные протоколы связи, методы настройки и подготовки устройств для использования в сети, а также механизмы аутентификации для беспрепятственной интеграции устройств в облачные приложения и службы. Хотя у облачных вычислений имеется немало преимуществ, их использование также сопряжено с рядом проблем, с которыми приходится сталкиваться организациям. К этим проблемам относятся безопасность и конфиденциальность, защита данных, сетевые задержки и системная интеграция.
В последнее время возрос интерес к возможности проведения вычислений на границе сети, что привело к созданию вычислительной модели, известной как краевые (граничные) вычисления. При таком подходе вычислительные ресурсы приближаются к пользовательским устройствам, часто расположенным на периферии сети. В отличие от использования только централизованных облачных ЦОД для обработки и хранения данных, краевые вычислительные ресурсы распределены по сети периферийных устройств, например шлюзов и устройств интернета вещей. В результате обработка и анализ данных осуществляются ближе к месту их генерации, то есть на самих периферийных устройствах, исключая необходимость передавать эти данные на большие расстояния в централизованные ЦОД. Периферийные устройства часто имеют ограниченную вычислительную мощность, объем памяти и энергоресурсы по сравнению с облачными серверами. Это ограничение обусловлено требованием обеспечить мобильность, энергоэффективность и экономичность систем при развертывании в разных средах.
Туманные вычисления (fog computing) появились как решение, позволяющее упростить облачные вычисления. Это децентрализованная вычислительная инфраструктура, которая разделяет облачные вычисления на малые подсети и приближает ресурсы к границе сети, к источнику данных или пользовательским устройствам. Цель туманных вычислений – обеспечить децентрализованную обработку, хранение и сетевые сервисы, тем самым решив некоторые проблемы облачных вычислений, к которым относятся уменьшение задержки, повышение безопасности и конфиденциальности, а также масштабируемости.
Интеграция облачных, краевых и туманных вычислений с IoT-приложениями в значительной мере усложняет решение задач облачных вычислений по снижению задержки, повышению безопасности и конфиденциальности, а также ужесточает требования и некоторые ограничения.
Эталонные IoT-модели и архитектуры
Для интернета вещей разработано немало эталонных архитектур и моделей с детализованными и полноценными рекомендациями по проектированию, развертыванию и управлению IoT-решениями. Эти модели обеспечивают широкий ряд решений, отвечающих конкретным потребностям разных реализаций интернета вещей, упрощая использование IoT-технологий. Рекомендации гарантируют надежность, безопасность и эффективность IoT-решений, что способствует успеху новых проектов. Одним из примеров таких моделей является рекомендация Y.2060 [15] Сектора стандартизации электросвязи Международного союза электросвязи (МСЭ-T), разработанная в 2012 г. Эта модель обеспечивает структурированный подход к использованию компонентов и реализации взаимодействий в экосистемах интернета вещей. Модель представлена в виде архитектуры, состоящей из уровня устройств, сетевого уровня, уровня поддержки служб и приложений, а также прикладного уровня (рис. 2).

Рис. 2. Эталонная модель интернета вещей ITU-T Y.2060
По сути, эталонная модель ITU-T Y.2060 определяет ключевые функциональные области и их взаимосвязи в среде интернета вещей. Эти области охватывают весь жизненный цикл интернета вещей – от обнаружения и запуска до обработки, передачи данных и использования прикладных служб. Кратко опишем уровни эталонной модели.
- Уровень устройств. Это физический уровень, на котором находятся IoT-устройства, начиная с датчиков и исполнительных механизмов и заканчивая промышленными станками. Это оборудование собирает данные из окружающей среды или выполняет действия на основе полученных инструкций.
- Сетевой уровень. Это уровень протоколов и технологий, используемых для установления соединений между IoT-оборудованием и сетью. К нему относятся технологии Wi-Fi, Bluetooth, Zigbee, сотовые сети и т.д.
- Уровень сервисной поддержки и поддержки приложений. Этот уровень, служащий связующим звеном между уровнем устройств и прикладным уровнем, отвечает за обработку данных, управление устройствами, безопасность и обмен данными между оборудованием и приложениями. В него часто входят периферийные вычислительные ресурсы, которые позволяют обрабатывать данные ближе к их источнику, благодаря чему уменьшается задержка и требуемая ширина полосы пропускания. К используемым на этом уровне протоколам относятся MQTT, CoAP и др.
- Прикладной уровень. Он состоит из приложений или сервисов, которые используют данные, собранные с IoT-устройств. К этим приложениям относятся не только простые информационные панели, отображающие данные с датчиков, но и сложные аналитические платформы, например системы прогнозирования технического обслуживания, механизмы принятия решений на основе искусственного интеллекта или решения для умных городов.
Организация МСЭ-Т сыграла значительную роль в формировании архитектуры интернета вещей, обеспечив стандартизацию и предоставив рекомендации по разным аспектам внедрения интернета вещей. В последнее время акцент сместился на создание так называемого интернета вещей нового поколения (new generation IoT, NGIoT), который отвечает таким архитектурным требованиям как масштабируемость и самодостаточность. Эти качества призваны повысить надежность решений, обеспечив интеграцию новых технологий и автономную работу в течение длительного времени, что заявляется в недавно появившемся проекте ЕС «Архитектура для масштабируемого, автономного, человекоцентричного, интеллектуального, безопасного тактильного интернета вещей следующего поколения» (ASSIST-IoT).
Архитектура IoT-приложения может в большой мере зависеть от конкретного сценария использования, отрасли, потребностей в масштабируемости и от доступных ресурсов. Для создания надежной и эффективной системы интернета вещей требуется архитектура, обеспечивающая баланс между масштабируемостью, безопасностью, задержкой и экономичностью. С этой целью используются соответствующие принципы обеспечения масштабируемости, интероперабельности, безопасности, управления данными, задержки, обработки в реальном времени и автономии. Каждый принцип направлен на выполнение конкретных задач и требований разных приложений.
По мере дальнейшего развития интернета вещей эти принципы будут по-прежнему играть важную роль в разработке инновационных и эффективных решений. Хорошо продуманная архитектура IoT-приложений обеспечивает баланс между упомянутыми факторами, удовлетворяя в то же время задачи каждого конкретного приложения. Гибкость, адаптивность и прицел на будущее с учетом меняющихся технологических стандартов и требований также являются неотъемлемыми аспектами создания надежной архитектуры IoT-приложений.
Несмотря на отсутствие универсальной архитектуры, существует несколько концепций со своими преимуществами и компромиссами. Эти концепции основаны на централизованном архитектурном подходе, при котором все задачи по обработке данных и принятию решений выполняются в центральной точке облачным сервером (центром обработки данных) или децентрализованной архитектурой, где задачи по обработке распределяются между несколькими периферийными устройствами или шлюзами, расположенными рядом с источником данных.
Каждая IoT-архитектура имеет свои преимущества и недостатки в зависимости от конкретного сценария ее использования, требований и ограничений. Организации, разрабатывающие решения для интернета вещей, должны тщательно проанализировать эти архитектуры и выбрать наиболее подходящую на основе таких факторов как масштабируемость, задержка, надежность, безопасность и стоимость. Непрерывный прогресс в области передовых вычислений, искусственного интеллекта и сетевых технологий способствует формированию и совершенствованию ландшафта IoT-архитектур, открывая новые возможности для передовых решений и оптимизации.
Архитектура облачных IoT-приложений
В основе интернета вещей лежит идея взаимосвязанных устройств, начиная с бытовых приборов и заканчивая сложной техникой. Такое оборудование обрабатывают огромное количество данных, полученных с датчиков или от пользователей. По сути, задача состоит не только в получении этих данных, но и в их использовании для принятия обоснованных решений. Облачная IoT-архитектура обеспечивает необходимую основу для объединения устройств интернета вещей с облачными сервисами, обеспечивая беспрепятственный обмен данными между физической и виртуальной сферами. Однако основным недостатком такой архитектуры является невозможность прямого подключения устройств без поддержки IP-протоколов к облачной платформе. Облачная IoT-архитектура представлена на рис. 3 как одноуровневая система, в которой устройства с IP-поддержкой напрямую подключаются к платформе.

Рис. 3. Облачная архитектура интернета вещей
Большинство ведущих поставщиков ИТ-услуг и облачных сервисов на протяжении многих лет разрабатывали решения для разных сценариев использования облачных IoT-технологий для организаций. Например, компания Intel разработала комплексную эталонную архитектуру для построения IoT-инфраструктуры, служащей основой для разработки масштабируемых безопасных и эффективных решений для широкого ряда приложений. Подход Intel представляет собой комбинацию аппаратно-программного обеспечения и сервисов на основе наработанного опыта компании в области вычислительной техники, сетей и анализа данных. Конкретные реализации могут различаться друг от друга в зависимости от сценария использования и требований. На рис. 4 показаны компоненты эталонной архитектуры Intel для интернета вещей.

Рис. 4. Эталонная архитектура Intel для IoT-инфраструктуры
Эталонная модель Intel IoT рекомендуется для широкого ряда промышленных применений благодаря своей гибкости, масштабируемости и комплексному подходу к инфраструктуре. К числу ключевых сегментов и сценариев использования, где такая эталонная модель может оказаться особенно востребованной, относятся промышленный интернет вещей (IIoT), «умные» города, здравоохранение, розничная торговля, сельское хозяйство, энергетика и коммунальные услуги, поскольку она надежно обеспечивает краевые вычисления и широкий ряд вариантов подключения, которые позволяют обрабатывать данные и проводить аналитику в режиме реального времени.
Компания Intel отличается от других ведущих поставщиков услуг интернета вещей, например Amazon, Microsoft и Google, своим уникальным подходом к IoT-сервисам. Intel не только предлагает облачные платформы для IoT-приложений, но и уделяет приоритетное внимание технологиям, которые расширяют возможности облачных сервисов до границ сетей. Решения Intel для совместной работы поддерживают развертывание интернета вещей в облачных средах, повышая интеграцию оборудования, безопасность и улучшая возможности подключения.
Компания Amazon разработала множество гибридных архитектур для решений, адаптированных к уникальным требованиям разных приложений. Эти решения, включая AWS IoT Greengrass, AWS IoT Fleetwise и AWS IoT Analytics, отвечают потребностям приложений в таких отраслях как автомобилестроение, сельское хозяйство и здравоохранение. Например, AWS IoT Greengrass является сервисом для краевых вычислений, который позволяет устройствам собирать и анализировать данные неподалеку от места их генерации, сокращая задержку и повышая скорость ответной реакции. Это программное обеспечение расширяет функциональность AWS периферийных устройств, позволяя обрабатывать локальные данные и используя облачный сервис для управления, аналитики и хранения. На рис. 5 показана архитектура AWS IoT Greengrass.

Рис. 5. Менеджер потоков AWS IoT Greengrass
Программный пакет Greengrass представляет собой среду выполнения на периферийных устройствах, которая обеспечивает локальное исполнение функций AWS Lambda, обмен сообщениями между устройствами и безопасную связь с облаком. Этот пакет упрощает локальную обработку данных и сокращает задержки за счет действий непосредственно на периферийном устройстве.
Платформа Microsoft Azure IoT имеет гибкую и масштабируемую архитектуру для создания IoT-решений, охватывающих весь спектр задач, начиная с подключения устройств и заканчивая анализом данных и разработкой приложений. Ее широкие возможности, бесшовная интеграция со службами Azure, высокий уровень безопасности и соответствие требованиям делают эту платформу лучшим выбором для организаций, стремящихся использовать все возможности интернета вещей. На рис. 6 показаны компоненты архитектуры Azure IoT.

Рис. 6. Эталонная архитектура Azure IoT
Платформа Microsoft Azure IoT предоставляет сервисы и инструменты для создания сквозных решений. В ее состав входит хаб Azure IoT для подключения устройств, Azure IoT Edge для периферийных вычислений, а также сервисы для аналитики и машинного обучения.
Облачная платформа Google Cloud Platform (GCP) – еще одно высоконадежное решение для разработки, развертывания и управления интернетом вещей в очень больших масштабах. Ее набор сервисов и инструментов упрощает процесс создания и эксплуатации IoT-приложений, обеспечивая широкомасштабное развертывание с использованием миллионов устройств. Эта платформа, характеризующаяся высокой доступностью, масштабируемостью и надежностью, обеспечивает соответствие IoT-приложений потребностям бизнеса. GCP IoT предоставляет возможность краевых вычислений, то есть позволяет периферийным устройствам и шлюзам выполнять обработку и анализ данных рядом с источниками данных, что делает ее идеальным выбором для приложений с малой задержкой или для автономных сред. На рис. 7 представлены компоненты архитектуры Google Cloud IoT.

Рис. 7. Архитектура интернета вещей Google Cloud Platform
Помимо облачных архитектур и решений, предлагаемых упомянутыми технологическими гигантами, такие организации как Capterra предоставляют IoT-платформам полную программную поддержку для развертывания подключаемых устройств и удаленного управления ими в любом масштабе. Другие организации, например Eclipse IoT, предоставляют решения с открытым исходным кодом для создания устройств и шлюзов интернета вещей на основе требований пользователей.
Архитектура краевых IoT-приложений
В быстро развивающейся среде интернета вещей, где миллиарды устройств соединены между собой для сбора и обмена большими объемами данных, оптимизация управления IoT-приложениями имеет первостепенное значение. Традиционно управление приложениями интернета вещей является централизованным и выполняется на облачных серверах с использованием эталонных архитектур некоторых основных IoT-платформ, обеспечивающих требуемую масштабируемость и доступность, но часто – за счет задержки, проблем с конфиденциальностью и зависимостью от стабильного подключения к интернету.
Периферийные вычислительные устройства могут использоваться для локализации обработки и хранения данных, благодаря чему управление ими становится намного эффективнее, надежнее и безопаснее. Эти преимущества краевых вычислений делают их незаменимыми для широкого ряда применений, начиная с «умных» городов и промышленного интернета вещей и заканчивая здравоохранением, а также автономными транспортными средствами.
Перенос управления IoT-приложениями с облачных серверов на пограничные шлюзы является существенным преимуществом. Схема типовой краевой IoT-архитектуры представлена на рис. 8.

Рис. 8. Краевая архитектура интернета вещей
По сути, переход от управления IoT-приложениями с помощью облачных серверов к управлению с использованием периферийных шлюзов обусловлен необходимостью повышения производительности, конфиденциальности, отказоустойчивости и снижения затрат. Периферийные шлюзы, расположенные ближе к месту генерации данных, обеспечивают локальную обработку и анализ, сокращая время ожидания и позволяя принимать решения в режиме реального времени. Такая близость решает и проблемы конфиденциальности, сводя к минимуму передачу данных по внешним сетям, повышая безопасность данных и соответствие нормативным требованиям.
Переход с облачных серверов на периферийные шлюзы сопряжен с определенными трудностями. Главная из них заключается в управлении разнородными устройствами и в обеспечении межконцевой безопасности данных. При этом необходимо обеспечить настройку, подготовку и согласование устройств на ограниченном по ресурсам периферийном шлюзе. С учетом этих обстоятельств предлагается архитектура периферийного IoT-шлюза, которая может динамически обрабатывать данные приложений и протоколов [2]. Предлагаемая архитектура шлюза основана на контейнерных приложениях для одноплатных компьютеров, например Raspberry Pi, которые служат периферийными шлюзами. Их архитектура представлена на рис. 9.

Рис. 9. Предлагаемый периферийный шлюз, работающий с несколькими приложениями и несколькими протоколами [2]
Как видно из рис. 8, шлюз поддерживает работу с несколькими приложениями и несколькими протоколами, а данные могут передаваться из шлюза в разные пункты назначения, например в локальные и облачные центры обработки данных. С целью обеспечения совместимости предлагается модель JSON – стандартный текстовый формат для управления приложениями и обмена данными внутри шлюза. Для этого используется открытый протокол обмена сообщениями по шаблону «издатель – подписчик» MQTT (Message Queuing Telemetry Transport). Он служит для потоковой передачи данных между устройствами с ограниченной мощностью ЦП или временем автономной работы, а также для сетей с низкой пропускной способностью, непредсказуемой стабильностью или большой задержкой. Управление приложениями и пользователями осуществляется с помощью веб-служб и средств управления контейнерами.
Шлюз предназначен для обеспечения защиты данных в линии передачи и безопасного выполнения на разных уровнях управления приложениями, а также при передаче данных с подключенных устройств в ЦОД. С этой целью используются системный, прикладной и коммуникационный уровни безопасности.
Архитектура IoT-приложений для туманных вычислений
IoT-архитектура для туманных вычислений представляет собой переход от традиционной модели, в которой используется облако, к более распределенному подходу. Оставаясь мощным ресурсом для хранения и анализа больших объемов данных, облако не всегда является оптимальным решением для приложений интернета вещей, особенно в тех случаях, когда требуется быстрое реагирование в режиме реального времени.
При использовании туманных вычислений места обработки и анализа приближаются к границе сети, где генерируются данные. Благодаря размещению узлов, выполняющих вычислительные функции в туманных сетях, или периферийных устройств рядом с устройствами интернета вещей данные обрабатываются по месту их генерации. В результате сокращается задержка и экономятся ресурсы, поскольку данные фильтруются и агрегируются перед отправкой в облако. Архитектура IoT Fog состоит из трех основных уровней: периферийного, туманного и облачного (рис. 10).

Рис. 10. Архитектура туманных вычислений для интернета вещей
Архитектуры для туманных вычислений используются в системах D2C-DM, в которых распределенное управление данными сочетается с централизованным для снижения сетевого трафика и задержек, а также для повышения уровня безопасности. Для управления большими объемами данных, собранных из разных источников в сценарии «умного» города, предлагается использовать туманные вычисления, небольшие локальные ЦОД (cloudlet), а также краевые и облачные вычисления для более эффективного управления городскими службами и ресурсами.
Кроме того, алгоритмы синхронизации на основе туманных вычислений играют ключевую роль в минимизации затрат на связь и снижении задержки при передаче данных из облака конечным устройствам.
Размещение статей и коммерческой информации в журнале «Электронные Компоненты»: anton.denisov@ecomp.ru
Литература
- Abdulkadir Dauda, Olivier Flauzac and Florent Nolot. A Survey on IoT Application Architectures // Sensors 2024. 24. 5320 // https://doi.org/10.3390/s24165320.
- Dauda A., Flauzac O., Nolot F. IoT: A Universal Dynamic Gateway. Proceedings of the 2023 10th International Conference on Wireless Networks and Mobile Communications (WINCOM). Istanbul. Turkiye. 26–28 October. 2023.






