Linux 基金会旗下 EdgeX Foundry 近日公布用于边缘计算的 EdgeX IoT 中介软件将迎来代号为 California 的第二次重要版本更新。新版本主打安全性与弹性,安全功能新增反向代理(Reverse Proxy)与安全凭证储存(Secure Credentials Storage)。EdgeX 也使用 Go 语言重新改写,使用资源更少、效能更高,以在树莓派 3 执行。
EdgeX Foundry 于 2017 年 7 月底宣布,目标是为物联网边缘计算开发标准化的开源互动性框架。框架促进跨边缘分析、安全性、系统管理和服务的互动性程式码,并简化物联网闸道和智慧边缘装置的预认证软件的整合。EdgeX Foundry 正在建立一套开源 EdgeX 堆叠,将在多个感测器网络消息传递协定及云端和分析平台之间协调。
安全性和弹性
“我们的目标是将连线标准和装置界面与应用程序分离,”戴尔开发人员和主要 EdgeX 撰稿人 Jason A. Shepherd 称,“EdgeX 将透过平台独立性、松散耦合的微服务及透过公用 API 将不同语言编写服务整合,达成弹性和可延伸性。这些云端原生原则在边缘绝对必需,可在固有的版本分裂、多边缘和多云世界延伸。”
EdgeX 基于戴尔开创性的 FUSE IoT 中介软件框架,汇入来自类似 AllJoyn 的相容项目 IoTX。戴尔是 ADI 公司和三星公司的三大白金会员之一。EdgeX Foundry 目前共有 61 个成员,包括 AMD、Canonical、Cloud Foundry、Linaro、Mocana、NetFoundry、Opto 22、RFMicron 和 VMware。
California 是去年 10 月 Barcelona 的后续版本,Barcelona 版提供参考装置服务,支援 BACNet、Modbus、低功耗蓝牙(BLE)、MQTT、SNMP 和 Fischertechnik,另外也支援 Azure IoT 套件和 Google IoT Core 连线器。
EdgeX California 的主要新功能旨在提高安全性,基于 Kong 的新反向代理要求任何 EdgeX 微服务的外部用户端,载入 EdgeX API 前先身份认证,这将有助于保护 REST API 通讯并保护储存。
新的机密储存设施基于 HashiCorp 的开源 Vault,允许在 EdgeX 安全储存敏感资料(如用户名/密码凭据、证书和记号)以执行加密,向企业发出 HTTPS 呼叫或将 EdgeX 安全连线到云端提供商等工作。
Jason A. Shepherd 提到,反向代理与机密储存是 EdgeX 构建其他功能的基础,不过 Barcelona 版的 EdgeX 并没有这些安全性功能,因为希望所有安全层都由 RSA、ADI、Thales、ForgeRock 和 Mocana 等工业专家社群定义,并与 California 版一起推出。
转向 Go 语言
California 版的另一个重大变化是将开发平台从原本 Java 语言移转至 Go 语言。虽然这项改变让 California 版发表延迟了几个月,但 EdgeX 的容量、启动时间、CPU 和内存使用率都有大幅下降。
用 Java 语言开发的 EdgeX 容量高达 267MB,如果加上启动容器为 519MB,改用 Go 语言重写后只有 42MB,即便加上启动容器也只有 68MB。内存使用率也从原本 1,302MB 缩减到 27MB,启动时间从 35 秒缩短到 1 秒以内。
效能提升让官方可指定树莓派 3 为官方平台。Jason A. Shepherd 表示,Go 语言的并发模型比其他开发语言更优秀,除了得到 Google 支援,也与其他如 Docker 和 Kubernetes 等许多其他大型软件开发工作相容良好。不过他也提到,EdgeX 从 Java 语言转向 Go 语言不仅为了减少资源使用,也是为了避免向 Java 支付授权费用。
Jason A. Shepherd 指出,Go 语言只是一种基准参考语言,开发人员可一起使用相同 API 与其他语言,除 Go for the Device Service SDK 外,该项目还将支援 C 语言。EdgeX Foundry 之所以选择 Go,是因为硬件和操作系统方面更独立,由于 C 语言比 Go 语言更进一步减少使用空间,因此对低阶的边缘运算应用,C 语言可能是更好的选择。
被问及与其他云端驱动的物联网平台(如 AWS Greengrass 或 Google 新 Cloud IoT Edge 平台)整合的可能性时,Jason A. Shepherd 表示,EdgeX 一直在探索与其他私有云堆叠合作的机遇,但能否达成合作取决于开放性和架构。
展望未来版本,EdgeX 计划将使用空间减少到 128MB 或更低,官方称今年 10 月还会放出新的 Delhi 版,将新增可管理性服务、装置服务 SDK、改进单元和效能测试,以及展示的基本 EdgeX UI 等套件,同时还会持续改进 Kong 和 Vault 的安全功能。
(本文由 雷锋网 授权转载;首图来源:shutterstock)