Linux容器已经成为云开发和部署工作流中的标准工具。这有很多好处,包括跨平台的可移植性、最小的开销以及嵌入式开发人员对其代码运行方式的更多控制。容器的受欢迎程度持续增长:Docker是一个开源的容器引擎,它引起了特别的关注。
Linux容器标志着嵌入式世界中第一个实用的虚拟化技术的到来。在Raspberry Pi上运行Docker可以为您提供在云中运行Docker的大部分好处,同时启用对任何物联网项目的成功都至关重要的附加功能:隔离的应用程序故障、高效的更新以及灵活但熟悉的工作流。
物联网为什么要用Linux容器?
孤立的应用程序故障
在互联网设备远程连接的世界里,停机的代价尤其昂贵。与云实例不同,如果一个设备出现故障,您不能简单地启动另一个设备来替换它。该设备可能是无人机、汽车、某人家中的智能锁或油田中的传感器站。物联网设备通常在物理上无法访问,因此手动重启并不容易。出现问题时,可以恢复容器。
这是如何工作的?本质上,它将设备的核心操作与应用层分离,确保应用故障不会影响设备在网络上的通信能力。
这个主机操作系统管理两个容器:一个运行的监管程序,一个保证设备正常运行并连接到resin.io的代理程序,另一个运行的用户应用程序有自己的基本操作系统。在嵌入式开发中,主机操作系统与硬件看门狗接口,以确保底层软件在出现任何问题时可以重新启动。最后,这使得任何高于这个级别的问题都是可以远程解决的应用程序问题。
高效更新
容器提供的另一个优势是它们可以更好地管理更新,包括减少停机时间和减少磁盘空间的使用。例如,让我们看看resinOS如何处理更新。
应用带有回退选项的更新的传统方法是A/B分区策略。这会将驱动器一分为二,其中一半未使用。更新可以下载并安装在一个空的分区中,而无需删除活动的操作系统或断开与网络的连接。如果切换到更新的操作系统有什么问题,可以用最新的工作版本重启设备,这样就大大降低了输给网络的几率。
使用resinOS,运行用户应用程序所需的大部分内容都打包在Docker容器中,并且可以在不停机的情况下进行更新。这降低了主机操作系统所需的更新频率。当真正需要更新主机操作系统时,仍然使用A/B分区策略,但主机操作系统的最小占用空间允许更新分区小很多。
灵活而熟悉的工作流程
容器在弥合云和嵌入式工作流之间的差距方面发挥着重要作用。Linux是一个广泛使用且高度可定制的操作系统。Linux容器提供了一组标准的核心功能,同时仍然允许嵌入式开发人员自由选择他们已经熟悉的工具、库和配置。云开发人员期待这种灵活性,并将其扩展到嵌入式设备,以便更多的开发人员可以构建和支持IOT项目。通过调整云和边缘设备之间的底层技术,容器减少了开发人员和支持混合工作流的组织之间的摩擦。
本文章来源于互联网,如有侵权,请联系删除!
工业互联网是推进我国经济转型升级的重要引擎,是制造业高质量发展的加速器。尤其是随着5G、云计算、人工智能等新一代信息技术与制造业的深度融合,工业互联网产业发展迅猛。仅2022年第一季度,我国工业互联网产业规模已经超过1万亿元,预计全年工业互联网产业规模将突破4…