Представлений випуск відкритої модульної платформи EdgeX 1.0 для інтернету речей
Наведено випуск відкритої модульної платформи 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 та безпечного сховища конфіденційних даних.