Выпуск платформы для интернета вещей EdgeX 1.0
Представлен выпуск EdgeX 1.0, открытой модульной платформы для обеспечения взаимодействия между IoT-устройствами, приложениями и сервисами. Платформа не привязана к оборудованию конкретных поставщиков и операционным системам, и развивается независимой рабочей группой, под эгидой Linux Foundation. Компоненты платформы распространяются под лицензией Apache 2.0.
EdgeX позволяет создавать шлюзы, объединяющие имеющиеся IoT-устройства и собирающие данные от различных датчиков. Шлюз занимается как организацией взаимодействия с устройствами, так и выполняет первичную обработку, агрегирование и анализ информации, выступая промежуточным звеном между сетью из IoT-устройств и локальным управляющим центром или облачной инфраструктурой управления. На шлюзах также могут выполняться обработчики, оформленные в виде микросервисов. Взаимодействие с IoT-устройствами может быть организовано по проводной или беспроводной сети с использованием TCP/IP-сетей и специфичных (не-IP) протоколов.
Шлюзы разного назначения могут объединяться в цепочки, например, шлюз первого звена может решать задачи по управлению устройствами (system management) и обеспечению безопасности, а шлюз второго звена (fog-сервер) сохранять поступающие данные, выполнять аналитику и предоставлять сервисы. Система модульная, поэтому деление функциональности на отдельные узлы выполняется в зависимости от нагрузки: в простых случаях достаточно одного шлюза, а для крупных IoT-сетей может быть развёрнут целый кластер.
В качестве основы EdgeX выступает открытый IoT-стек Fuse, который применяется в шлюзах для IoT-устройств Dell Edge Gateway. Платформа может быть установлена на любое оборудование, включая серверы на базе CPU x86 и ARM, работающие под управлением Linux, Windows или macOS. Для разработки микросервисов могут использоваться языки Java, Javascript, Python, Go и C/C++. Для разработки драйверов для IoT-устройств и датчиков предлагается SDK. Проект включает в себя подборку готовых микросервисов для анализа данных, обеспечения безопасности, управления и решения различных задач.
Выпуск 1.0 подводит итог двухлетней разработки и тестирования, а также ознаменует стабилизацию всех основных API для стандартизации edge-приложений и признание готовности для широкого внедрения. Основные новшества:
- Поддержка Redis и MongoDB для всех сервисов, использующих СУБД. Упрощение замены хранилищ в слое для постоянного хранения данных;
- Добавление прикладных сервисов и SDK для их создания. Под прикладными сервисами подразумеваются обработчики для подготовки данных перед их отправкой на конечный сервер. В будущем прикладные сервисы заменят собой сервисы экспорта, а в настоящее время позиционируются как инструмент для решения более мелких задач экспорта, которые обрабатываются более эффективно;
- Расширены средства для управления системой, в которых появилась возможность отслеживания создаваемой сервисом нагрузки на CPU, состояния обработки данных и прочих метрик;
- Учёт корреляционного идентификатора, позволяющего отследить поступающие от датчика данные на всех стадиях до их экспорта для упрощения отладки и мониторинга;
- Поддержка приёма, использования и экспорта бинарных данных в формате CBOR;
- Включения инструментов для unit-тестирования и автоматизированной проверки безопасности;
- Подготовка нового фреймворка для наглядной оценки расходования ресурсов и поведения системы в целом;
- Задействование новых и улучшенных SDK для разработки сервисов взаимодействия с устройствами и датчиками на языках Go и C;
- Улучшение средств для развёртывания конфигураций, планировщика, профилей устройств, шлюза API и безопасного хранилища конфиденциальных данных.
© OpenNet