Skip to main content

为工业物联网设计企业容器

智能工厂IIoT工业4.0工业物联网

在一个趋向于敏捷软件实践和云原生开发的世界里,容器化已经成为企业开发工具箱中的一个方便工具。使用像 Docker 这样的技术,开发人员可以将应用程序、库、配置文件和其他实用程序捆绑到一个整洁的小包中。因为所有东西都被“容器化”到这个包中,所以应用程序可以从一个计算环境移入另一个计算环境,并执行相同的操作。

换句话说,容器使软件尽可能地可移植。

但对于非企业用例(如工业物联网边缘设备),它们也是一个有吸引力的选项。由于这些包及其内容彼此之间以及与系统其余部分之间是分隔的,因此可以单独对它们进行更新,而不会影响软件堆栈的其余部分。在工业物联网环境中,这样就可以实现:

  • 工作负载整合,方式是允许多个应用程序在单个硬件上运行
  • 快速的系统补丁、更新和新服务交付
  • 更简单的代码库管理和版本控制,因为可以在整个部署中精确更新过时的应用程序容器

不过,由于确定性和功能安全方面的考虑,打包后的软件在操作环境中并没有更容易被采用。

在解决这些问题之前,有必要了解打包代码架构的工作原理及其在操作环境中的潜在作用。

容器与虚拟化和资源约束的比较

图 1 中所示,容器与虚拟化技术很类似,但并不相同。它们是在专用操作系统 (OS) 上运行的应用程序包,而不是为操作系统提供虚拟运行环境。因为它们包含运行应用程序所需的一切内容,所以可以将容器看作操作系统级别的虚拟化。

虚拟化提供了用于启动其他操作系统的环境,而容器则将所有应用程序的依赖项打包到操作系统之上的捆绑包中
图 1. 虚拟化提供了用于启动其他操作系统的环境,而容器则将所有应用程序的依赖项打包到操作系统之上的捆绑包中。(来源:Wind River)

“当您运行真正的容器环境时,所有内容都在同一个操作系统上运行。” Wind River 工业解决方案业务开发与营销总监 Ron Breault 说道,“您不再对操作系统进行虚拟化。您可能有多个进程正在运行,这些进程具有不同的权限,因此它们看起来有自己的系统,但是它们都共享同一个内核。”

但是除了某些 Linux 版本和一些专用选项外,大多数操作系统都不支持容器。这是因为需要与虚拟机管理程序类似的专用编排引擎来帮助为容器提供各种资源,如驱动程序、网络堆栈、安全性、故障恢复等(图 2)。

容器编排引擎与虚拟机管理程序类似,因为它们管理资源和服务
图 2。容器编排引擎与虚拟机管理程序类似,因为它们管理给定容器可能需要的资源和服务。(来源:Devopedia

虽然这些编排引擎对容器操作至关重要,但它们给底层操作系统(以及系统的其余部分)增加了大量开销。资源流失的影响是巨大的。尽管应用程序容器比虚拟机小得多,启动速度也快得多,但是对于大多数嵌入式系统来说,管理和编排基础设施都是不可能实现的。

因此,Wind River 最近在其最新版本的 Wind River Linux 中添加了开源 OverC 容器技术。

为工业物联网边缘设计容器

OverC 是 Docker 和 Kubernetes 等受欢迎容器技术的轻量级版本,但是提供了大多数相同的优点。由于 OverC 与 Linux Foundation 的开放容器计划(Open Container Initiative,简称 OCI)兼容,所以它与其他容器技术也兼容,因此应用程序和映像可以在平台之间无缝迁移。

同样重要的是,将 OverC 集成到 Wind River Linux 中为混合关键性系统打开了一个充满无限可能的世界。由于 Wind River Helix 虚拟化平台本身是支持 Wind River Linux 的,因此工程师可以在已进行工作负载整合的系统中利用容器的精确更新和软件生命周期管理功能,以及安全关键型操作系统(图 3)。

Wind River Helix 虚拟化平台支持 Wind River Linux 及其最近添加的容器功能
图 3. Wind River Helix 虚拟化平台支持 Wind River Linux 及其最近添加的容器功能。(来源:LinuxGizmos

Helix 虚拟化平台基于 Wind River Hypervisor,可通过 ISO 26262、DO-178、IEC 61508 等安全标准认证。实际上,这意味着开发人员可以在一个虚拟机中启动容器化版本的 Wind River Linux,在另一个虚拟机中启动实时控制任务,这两项任务都由虚拟机管理程序进行强有力的分隔。

“在任何制造环境中,都有可能将不同的机器控制器都整合到虚拟机中。” Wind River 高级产品线营销经理 Jeff Kataoka 说道,“然后在容器虚拟机中,您可以运行其他可能需要的数据分析和企业应用程序。现在,您可以在同一个平台上实现所有这些功能。”

除了将单功能设备转换为多功能平台外,混合关键性容器化的好处可以根据用例进行扩展。例如,组织可以通过将现有软件投资放入安全虚拟机中来重新加以利用。或者,使用 Wind River Hypervisor 将已认证代码与系统的其余部分进行安全隔离,从而降低认证成本。

此外,Helix 虚拟化平台可在支持虚拟化的多核处理器上运行,从英特尔凌动® 或英特尔® 酷睿 到英特尔® 至强®。其结果就是可伸缩的、灵活的边缘基础设施,支持敏捷的软件部署实践。

云原生,在边缘

基于企业开发人员与工业工程师的绝对数量,操作系统很可能趋向数据中心技术。容器实现了“一次写入,随处部署”的方法,并且简化了远程软件更新。此外,除了虚拟化之外,它们还帮助组织减少硬件基础设施的数量和多样性,从而带来直接的投资回报。

当然,嵌入式软件总是会需要的。事实上,大多数企业应用程序都在分析的是控制设备的嵌入式软件。这个交集是数据中心基础设施与操作技术之间的混合关键性中间地带。

借助容器、虚拟机管理程序和 Wind River Helix 虚拟化平台,我们已经达到了这个中间地带。

作者简介

Brandon is a long-time contributor to insight.tech going back to its days as Embedded Innovator, with more than a decade of high-tech journalism and media experience in previous roles as Editor-in-Chief of electronics engineering publication Embedded Computing Design, co-host of the Embedded Insiders podcast, and co-chair of live and virtual events such as Industrial IoT University at Sensors Expo and the IoT Device Security Conference. Brandon currently serves as marketing officer for electronic hardware standards organization, PICMG, where he helps evangelize the use of open standards-based technology. Brandon’s coverage focuses on artificial intelligence and machine learning, the Internet of Things, cybersecurity, embedded processors, edge computing, prototyping kits, and safety-critical systems, but extends to any topic of interest to the electronic design community. Drop him a line at techielew@gmail.com, DM him on Twitter @techielew, or connect with him on LinkedIn.

Profile Photo of Brandon Lewis