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 容器技術。

為工業物聯網邊緣打造容器

相較於 Docker 和 Kubernetes 等熱門的容器技術,OverC 是更加輕巧的版本,但可提供幾乎相同的優勢。而且因為 OverC 相容 Linux Foundation 的開放容器計劃 (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 監管程式為基礎,具有 ISO 26262、DO-178 和 IEC 61508 等安全標準認證。在實踐上,這代表開發者可以在一個虛擬機器上加速 Wind River Linux 的容器化版本,並在另一個虛擬機器上即時控制工作,兩者皆由監管程式嚴密分割。

「如果您著眼於製造環境,這能帶來一個機會,讓您將不同的機械控制器整併至虛擬機器上,」Wind River 的資深產品線行銷經理 Jeff Kataoka 說:「然後在容器虛擬機器上,您可以執行其他資料分析功能和可能需要的企業應用程式。現在,您可以在相同平台上擁有這一切。」

除了將功能單一的設備轉變為多功能平台之外,混合不同關鍵程度的容器化技術之優勢亦能根據使用案例進行延伸。舉例來說,組織可透過將其導入至安全的虛擬機器,重新使用現有的軟體投資。或是利用 Wind River 監管程式,將經過認證的程式碼與其餘的系統安全分割,藉此降低認證成本。

除此之外,Helix 虛擬化平台亦可運行於支援虛擬化的多核心處理器之上,包括從 Intel Atom® 或 Intel® Core 到 Intel® Xeon® 等。如此便可實現支援敏捷軟體部署實務的可擴充彈性邊緣基礎架構。

位於邊緣的雲端原生開發

由於企業開發者相對於工業工程師的數量極為龐大,作業系統的走勢很可能會趨向於資料中心技術。容器提供單次寫入即可在任意位置部署的方法,並可簡化遠端軟體更新。此外,搭配虛擬化能力,亦可協助企業減少硬體基礎架構的數量與多樣性,提供直接的投資報酬率。

當然,始終都會需要嵌入式軟體。事實上,反正都是由嵌入式軟體控制大部分企業應用程式分析的設備。這樣的交錯就是介於資料中心基礎架構與營運技術之間的混合關鍵度中間方案。

運用容器、監管軟體,以及 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