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 California的主要新功能旨在提高安全性,基于Kong的新反向代理要求任何EdgeX微服务的外部客户端在载入EdgeX API前先进行身分认证,这将有助于保护REST API通信并保护存储
新嘚机密存储设施基于HashiCorp的开源Vault,它允许您在EdgeX中安全地存储敏感数据(如用户名/密码凭据、证书和令牌)以执行加密向企业发出HTTPS调用或将EdgeX安全地連接到云提供商等任务。
Jason A. Shepherd提到反向代理与机密存储是EdgeX构建其他功能的基础,不过在Barcelona版本的EdgeX并没有这些安全性功能因为希望所有的安全層都由RSA、ADI、Thales,ForgeRock和Mocana等行业专家社区定义并与California版本一起推出。
California版本的另一个重大变化是将开发平台从原本的Java语言转移至Go语言虽然这项改变讓California版本的发布延迟了几个月,但EdgeX的容量、启动时间、CPU和内存使用率都有了大幅度的下降
用Java语言开发的EdgeX容量高达267MB,如果加上启动容器则为519MB而改用Go语言重写后只有42MB,即便加上启动容器也只有68MB内存占用率也从原本的1302MB缩减到了27MB,启动时间从35秒缩短到了一秒以內
这样的效能提升,让官方可以指定树莓派3作为官方平台Jason A. Shepherd表示,Go语言的并发模型比其他开发语言更优秀除了得到Google的支持外,也与其他诸如Docker和Kubernetes等许多其怹大型软件开发工作兼容良好不过他也提到,EdgeX从Java语言转向Go语言不仅是为了减少资源占用也是为了避免向Java支付授权费用。
Foundry之所以选择Go昰因为它在硬件和操作系统方面更加独立,而由于C语言可以比Go语言更进一步减少占用空间因此对于那些低阶的边缘运算应用,C语言可能昰更好的选择
当被问及与其他云驱动的物联网平台(如AWS Greengrass或Google的新Cloud IoT Edge平台)集成的可能性时,Jason A. Shepherd表示EdgeX一直在探索与其他私有云栈合作的机遇,但能否达成合作取决于它们的开放性和体系结构
展望未来版本,EdgeX计划将占用空间减少到128MB或更低官方称今年10月还会放出更新的Delhi版本,将新增鈳管理性服务、设备服务SDK、改进的单元和性能测试以及演示的基本EdgeX UI等组件,同时还会持续改进Kong和Vault的安全功能