Linux容器已成为云开发和部署工作流中的标准工具 。 好处很多 , 包括跨平台的可移植性、最小的开销以及嵌入式开发人员对其代码运行方式的更多控制 。 容器的流行度持续增长:Docker是一种开源容器引擎 , 受到特别高的关注 。
Linux容器标志着嵌入式世界第一个实用的虚拟化技术的到来 。 在Raspberry Pi 上运行Docker 可为您提供在云中运行Docker 的大部分好处 , 同时启用对任何IoT项目成功至关重要的附加功能:隔离的应用程序故障、高效的更新以及灵活但熟悉的工作流程 。
为什么Linux 容器用于物联网?
孤立的应用程序故障
在远程连接Internet设备的世界中 , 停机时间尤其昂贵 。 与云实例不同 , 如果一个设备出现故障 , 您不能简单地启动另一个来替换它 。 该设备可能是无人机、汽车、某人家中的智能锁或油田中的传感器站 。 物联网设备通常在物理上无法访问 , 因此手动重启并不容易 。 容器可以在出现问题时进行恢复 。
这是如何运作的?它本质上是将设备的核心操作与应用层分离 , 确保应用故障不会影响设备在网络上通信的能力 。这个主机操作系统管理两个容器:一个运行主管 , 一个确保设备正常运行并可以连接到resin.io的代理 , 另一个运行用户应用程序 , 并带有自己的基本操作系统 。 在嵌入式开发中 , 主机操作系统与硬件看门狗接口 , 确保在低级软件出现任何问题时重新启动 。 最后 , 这使得高于该级别的任何问题都成为可以远程解决的应用程序问题 。
高效更新
容器提供的另一个优势是能够更好地管理更新 , 包括降低停机频率和减少磁盘空间的使用 。 举个例子 , 让我们看看resinOS是如何处理更新的 。
应用带有回退选项的更新的传统方法是A/B分区策略 。 这将驱动器一分为二 , 其中一半未使用 。 可以在空分区中下载和安装更新 , 而无需移除活动操作系统 , 也不会失去与网络的连接 。 如果在切换到更新的操作系统时出现任何问题 , 可以使用最新的工作版本重新启动设备 , 从而大大减少丢失到网络的机会 。
使用resinOS , 运行用户应用程序所需的大部分内容都打包在Docker容器中 , 并且可以在不停机的情况下进行更新 。 这减少了主机操作系统所需的更新频率 。 当确实需要进行主机操作系统更新时 , 仍然使用A/B分区策略 , 但主机操作系统的最小占用空间允许更新分区小得多 。
灵活而熟悉的工作流程
【退休|嵌入式开发:为什么 Linux 容器对物联网很重要】容器在弥合云和嵌入式工作流之间的差距方面发挥着重要作用 。 Linux是一种广泛使用且高度可定制的操作系统 , Linux容器提供了一组标准的核心功能 , 同时仍然让嵌入式开发人员可以自由选择他们已经熟悉的工具、库和配置 。 云开发人员期望这种灵活性 , 并将其扩展到嵌入式设备使更多的开发人员能够构建和支持物联网项目 。 通过在云和边缘设备之间调整底层技术 , 容器减少了支持混合工作流的开发人员和组织的摩擦 。
- PSVR|Resolution Games将大力支持开发PSVR 2游戏
- 能量密度达500Wh/kg!日本开发出新款锂空气电池
- 《消逝的光芒》开发商保证:游戏将获得 5 年的后续内容更新
- Kreemo|韩国公司Kreemo开发出全球首个显示屏内置型透明天线
- 投资者|东软载波董秘回复:公司开发的GPS/BD双模射频芯片是北斗的“接收机应用芯片”
- 菲利波|微软挖角苹果芯片架构师:为Azure云服务开发定制芯片
- 显示屏|韩国公司Kreemo开发出全球首个显示屏内置型透明天线
- OLED|36氪首发 | 「白海科技」完成数千万元融资,定位云原生AI开发与生产工具
- Intel|下代至强处理器冲64核、350W Intel联合GRC开发CPU液冷散热技术
- 苹果|收取过高佣金被起诉,苹果将赔偿开发者250美元至30000美元