Последний выпуск промежуточного программного обеспечения EdgeX IoT становится меньше, быстрее и безопаснее

[Обновление от 9 августа] - Выпуск EdgeX Foundry в Калифорнии для своего промежуточного программного обеспечения EdgeX IoT добавляет функции безопасности и переписан на Go для более быстрой загрузки и уменьшения занимаемой площади, что позволяет запускать его на Raspberry Pi и других небольших компьютерах.

Проект EdgeX Foundry, входящий в Linux Foundation, анонсировал второй крупный выпуск своего промежуточного программного обеспечения EdgeX IoT для периферийных вычислений.
Релиз «California» добавляет функции безопасности, включая обратный прокси-сервер и безопасное хранилище учетных данных.
Он также переписан на Go, чтобы обеспечить меньшую площадь. Это позволяет запускать EdgeX на относительно ограниченных периферийных устройствах, таких как Raspberry Pi 3.

EdgeX Foundry был объявлен в конце июля 2017 года с целью разработки стандартизированной среды взаимодействия с открытым исходным кодом для периферийных вычислений Internet of Things.
EdgeX Foundry создает и сертифицирует экосистему взаимодействующих компонентов plug-and-play для создания стека EdgeX с открытым исходным кодом, который будет служить посредником между несколькими протоколами обмена сообщениями датчиков, а также облачными и аналитическими платформами.


Архитектура EdgeX

(щелкните изображение, чтобы увеличить)

Эта структура облегчает взаимодействие кода, который охватывает аналитику края, безопасность, управление системой и услуги.
Это также облегчает интеграцию предварительно сертифицированного программного обеспечения для шлюзов IoT и интеллектуальных периферийных устройств.

«Наша цель - отделить стандарты подключения и интерфейсы устройств от приложений», - сказал Джейсон А. Шепард, технический директор Dell Technologies IoT и председатель совета директоров EdgeX Foundry в интервью по электронной почте с Linux.com.
«EdgeX обеспечит гибкость и масштабируемость за счет независимости от платформы, слабосвязанных микросервисов и возможности объединять сервисы, написанные на разных языках, через общие API-интерфейсы.
Эти нативные облачные принципы абсолютно необходимы для масштабирования в изначально фрагментированном, многогранном и многооблачном мире ».

EdgeX основан на оригинальной промежуточной платформе FUSE IoT от Dell с входами из аналогичного AllJoyn-совместимого проекта под названием IoTX.
Dell является одним из трех участников Platinum наряду с Analog Devices и Samsung.
EdgeX Foundry в настоящее время насчитывает 61 член, включая AMD, Canonical, Cloud Foundry, Linaro, Mocana, NetFoundry, Opto 22, RFMicron и VMware. \


Концептуальная схема EdgeX (слева) и многоуровневых развертываний на различных типах шлюзов и туманных серверов

(нажмите на картинку, чтобы увеличить)

Выпуск в Калифорнии следует за первым выпуском в Барселоне , который прибыл в октябре прошлого года.
Барселона предоставила справочные службы устройств, поддерживающие BACNet, Modbus, Bluetooth Low Energy (BLE), MQTT, SNMP и Fischertechnik, а также соединители с Azure IoT Suite и Google IoT Core.

Основные новые функции в EdgeX California направлены на повышение безопасности.
Новый обратный прокси-сервер на основе Kong помогает защитить REST API-коммуникации и хранить секреты.
Обратный прокси-сервер требует, чтобы любой внешний клиент микросервиса EdgeX сначала аутентифицировал себя перед загрузкой EdgeX API.

Новое безопасное хранилище для секретов основано на открытом хранилище HashiCorp.
Он позволяет безопасно хранить конфиденциальные данные, такие как учетные данные имени пользователя / пароля, сертификаты и токены, в EdgeX для выполнения таких задач, как шифрование, выполнение HTTPS-вызовов для предприятия или безопасное подключение EdgeX к облачному провайдеру.

«Наш релиз в Барселоне не имел функций безопасности, потому что мы хотели, чтобы все уровни безопасности определялись сообществом отраслевых экспертов, таких как RSA, Analog Devices, Thales, ForgeRock и Mocana, а не только от Dell», - сказал Шепард.
«Обратный прокси-сервер и магазин секретов - это фундамент, на котором строится все остальное».

Shift to Go

Другим важным изменением в Калифорнии было то, что код был перестроен из исходной Java с языком программирования Go .
Процесс задержал выпуск на несколько месяцев, но в результате в Калифорнии значительно сократились занимаемая площадь, время запуска, использование памяти и ЦП.
Он умещается в 42 МБ - или 68 МБ с контейнером - и теперь может загружаться менее чем за секунду для каждой услуги по сравнению с примерно 35 секундами (см. Диаграмму ниже).


Сравнение EdgeX в Барселоне и Калифорнии.

(щелкните изображение, чтобы увеличить)

Дополнительные новые функции в выпуске California включают в себя:

  • Добавлены экспортные услуги для «северного» подключения к стандарту обмена сообщениями XMPP , платформе ThingsBoard IoT для управления устройствами, сбора, обработки и визуализации, а также платформе взаимодействия IoT от Brightics IoT от Samsung
  • Улучшенная документация, теперь доступна в Github
  • Полная поддержка Arm 64
  • Тесты Blackbox для всех микро сервисов в рамках процессов сборки и непрерывной интеграции
  • Улучшенная непрерывная интеграция для оптимизации вклада разработчиков

По словам Шеперда из Dell, переход на Go был не только для уменьшения занимаемой площади, но и для того, чтобы поставщики не платили лицензионный сбор Java за коммерческое развертывание.
Кроме того, Go расширил базу разработчиков EdgeX.

«Модель параллелизма Go превосходит большинство языков программирования, имеет поддержку Google, используется Docker, Kubernetes и многими другими крупными разработками программного обеспечения и широко развивается в кругах IoT», - сказал Шепард.
«Мы удвоили наше сообщество за несколько месяцев после январского предварительного просмотра Go-Lang.
Существует кривая обучения, связанная с побуждением разработчика типовых объектов (Java, C ++) перейти на Go (функциональный язык по сравнению с объектным языком), но в целом этот шаг был хорош как для поощрения большего энтузиазма по поводу платформы, так и для ее улучшения ».

Пастух отметил, что Go - это базовый базовый язык.
Разработчики могут использовать те же API-интерфейсы с другими языками, и проект будет поддерживать C в дополнение к Go для SDK Device Service.
Поскольку C может уменьшить площадь даже больше, чем Go, он может быть лучшим выбором для приложений, построенных на младшем «тонком» шлюзе с большим количеством служб устройств, таких как множество различных протоколов датчиков, сказал Шеперд.
Однако EdgeX Foundry выбрал Go, потому что он более независим от платформы с точки зрения аппаратного обеспечения и операционной системы.

Далее: Дели и не только

Предстоящий релиз в Дели, запланированный на октябрь, будет включать такие компоненты, как службы управления, SDK Device Service, улучшенное тестирование модулей и производительности, а также базовый пользовательский интерфейс EdgeX для демонстраций.
Это также добавит больше функций безопасности, включая улучшенную загрузку службы безопасности Kong и Vault.

По словам Шеперда, другие улучшения безопасности, запланированные для Дели, включают «привязку Kong и, возможно, других служб безопасности к системе контроля доступа, предоставляющей списки контроля доступа для предоставления доступа к различным службам». В будущих версиях EdgeX также будет создан API цепочки доверия для систем. которые не имеют что-то вроде TPM.
«Мы хотим создать API, который позволит EdgeX установить корень доверия с помощью платформы, на которой он работает», - сказал Шепард.

Другие планы предусматривают автоматизацию тестирования безопасности, в том числе «создание всего устройства для тестирования безопасности и анализ потребностей типа ручного тестирования», - сказал Шепард.
Проект также улучшит систему безопасного хранения на базе Vault.
«Сегодня микросервисы EdgeX получают свою конфигурацию и секреты от службы конфигурации / реестра Consul, но секреты, такие как пароли для соединений с базой данных, не защищены.
Мы хотим, чтобы секреты приложений поступали из Vault.
Vault и Consul предоставляются HashiCorp, и мы считаем, что есть хороший способ использовать их вместе ».

В преддверии будущих выпусков EdgeX планирует еще больше сократить площадь, чтобы работать на 128 МБ или ниже.
По словам Шеперда, есть также элементы «дополнительной интеграции с аналитикой границ, механизмами правил и CEP».
«В настоящее время мы работаем с NodeRed в качестве примера».

Когда его спросили о возможности интеграции с другими облачными IoT-платформами, такими как AWS Greengrass или новой облачной платформой Google IoT Edge , Шепард сказал следующее:

«Наша способность работать с некоторыми проприетарными облачными стеками зависит от их открытости и архитектуры, но мы, безусловно, изучаем возможности.
Все дело в том, что разработчик или конечный пользователь могут использовать свой выбор периферийных аналитических и бэкэнд-сервисов без необходимости заново изобретать основополагающие элементы для приема данных, безопасности и управляемости ».

Отдельно Шепард отметил: «Наши полностью открытые API-интерфейсы - управляемые независимым от поставщика Техническим руководящим комитетом (TSC) для обеспечения стабильности и прозрачности - разъединяют выбор разработчиков стандартов и приложений / облачных сервисов, чтобы предотвратить их блокировку через один конкретный Собственные API провайдера, когда измеритель данных начинает вращаться ».

Эта статья защищена авторским правом © 2018 Linux.com и была первоначально опубликована здесь .
Он был воспроизведен этим сайтом с разрешения его владельца.
Пожалуйста, посетите Linux.com для получения последних новостей и статей о Linux и open source.