容器之所以成為物聯網的未來
容器是敏捷式軟體開發領域中的絕妙工具。再加上許多企業組織將 IT 與營運技術 (OT) 融合,容器已經從企業系統一躍成為物聯網 (IoT) 設備。
雖然過去兩者沒有多少共通點,IT 與 OT 如今相互依存且緊密連結,因為它們經常使用相同的方式,包括硬體和軟體乃至設計方法。這也促使嵌入式設計的領域開始採納如微型服務和 DevOps 這些 IT 概念。
同樣的,既有的 IT 平台也從嵌入式設計的領域多有借鑒,例如即時功能和分散式運算。企業與嵌入式設計融合之後帶來最重要的發展之一,就是 IoT 容器的出現。
容器就像是省卻額外負擔的虛擬機器
容器讓建置、部署和維護嵌入式設計變得更簡單,這是競爭激烈的企業領域與敏捷式軟體開發的重要條件。
容器與虛擬機器 (VM) 的概念相似。每個容器都是本身具備虛擬資源和檔案系統(記憶體、CPU、磁碟等)的程序,與其他應用程式和容器隔離(圖 1)。
主要差異是容器在使用者空間的主機 Linux 作業系統上執行,而不是一個截然不同的環境,如 VM。因此,它們密集耗用資源的程度較輕(重量較輕),所以比虛擬機器相對小很多。容器可與使用者空間中的其他應用程式平行執行、在系統上獨立執行、與虛擬環境共存,甚至在一個或多個 VM 內執行。
如圖 2 所示,透過常駐程式管理容器及將之包裝成套件。Docker 是最早引進商業化常駐程式和其他軟體的廠商之一,用意是簡化在 Linux 中建置和管理容器的方法。
自此,Open Container Initiative 確立了容器映像檔 (Open Container Format) 和執行時間的標準,方便在各個主機之間輕鬆攜帶。其他最近的容器專案包括儲存庫,可以在其中下載容器映像檔並在容器化的主機上執行。因為有了這些增強功能,容器現今成為軟體開發領域中廣受歡迎的工具。
智慧功能移至邊緣
容器是將智慧功能推送到邊緣的關鍵。許多邊緣裝置內建運算功能,能完成的任務並不僅止於傳統的資料擷取或移動。它們可以利用受過訓練的機器學習模型分析內送的資料串流。
以人工智慧應用程式為例。藉由把推論從雲端移送到邊緣裝置,IoT 系統可以提供即時分析。醫療掃描器可以偵測異常狀況,從而協助臨床醫生。攝影機與視覺閘道器可以迅速識別各種情況並對操作人員提出警告,而不是把資料傳送到中央位置。
同樣的,基礎架構功能如防火牆和封包檢查都可以移到邊緣。現在可以在資料最初出現的地方而不必在網路核心內進行處理。
藉由使用容器,便可以在邊緣裝置上隔離的實例中同時開發、部署和執行這些與許多其他程序。
IT、OT 和 IoT 的容器化服務
要讓 IoT 容器更加實用,數家雲端服務提供者 (CSP) 已創造出多種解決方案來支援容器的邊緣裝置之開發、監控和管理。例如,使用者可利用 Amazon Web Services 提供的 AWS Greengrass 在執行 AWS Greengrass Core 容器映像檔的 IoT 終端裝置上,部署受過訓練的推論演算法。AWS Greengrass 是 Amazon Web Services 雲端平台供 IoT 使用的一個部分,包括在雲端中訓練和監控邊緣裝置。
同樣的,Microsoft 提供用來建置和部署 Azure IoT Edge 模組的雲端型服務,該模組是與 Docker 相容且執行 Azure IoT 邊緣應用程式的容器。另一個例子是 IBM Watson IoT Platform Edge,這是用來開發邊緣應用程式,納入受過訓練的機器學習模型,並把它們部署到邊緣裝置的平台。所有服務均是端對端,提供開發、部署和管理裝置的工具。
變更設計週期
廣泛採用容器化功能反映出軟體開發為了符合開發人員的期待、生命週期要求和客戶需求而不斷演進的方式。開發週期長且要小心翼翼將效能最佳化已是過時的做法。現在的企業環境和客戶要求強調快速迭代以利快速部署,而隨著客戶要求更豐富的功能或是法規要求迅速變更時,則要持續升級。
所有的這些趨勢促使硬體型功能轉變成軟體型功能,IT 和 IoT 均如此。有異於傳統嵌入式系統把功能內建在硬體中,現在的 IoT 解決方案是採用軟體開發。它們通常部署在市售的擷取和/或運算裝置上,也有更多是安裝成容器。
事實上,IoT 系統正朝著裝置即服務的模式發展。初始部署也許僅提供基本功能(也就是最低可行產品,或稱 MVP),隨時間過去再增加新功能。這個方法也讓裝置可以適應不斷變動的情況,從分析架構改變乃至新的資安威脅。困難的地方在於這個新方法在運算平台上密集耗用資源的程度更高。
容器需要核心
容器雖然帶來了敏捷性和隔離性,卻也比傳統嵌入式應用程式佔用更多記憶體。而且它們經常被用來並行執行隔離的應用程式。硬體系統一般需要多個核心和更多的資源,尤其是它們支援多個容器之間的硬分割區時。
最新的 Intel® Core™ 處理器和 Intel® Xeon® 處理器 E-2100M 產品,代號為 Coffee Lake-H,是滿足這些需求的理想選擇。新處理器的核心數量比前一代裝置更多,有六核心而不只四核心,但是成本卻未有顯著增加。
有了多出百分之 50 的運算資源,它們可立即支援為數眾多的容器和虛擬機器,還預留空間以利日後終端裝置擴大和延伸。因為建置處理器的架構和技術與資料中心中已經存在的架構和技術相同,它們可以在邊緣立即支援高需求的類伺服器功能。
COM Express + 容器創造強大的 IoT 解決方案
採用 COM Express 標準而建置的單板電腦 (SBC) 是善用容器化功能的好方法。它們佔用的資源少,符合許多遠端裝置的需求。它們亦具備強大的運算功能,支援在邊緣執行各種各樣的應用程式和推論。
例子之一是 Express-CF/CFE,一款由 ADLINK 推出的 COM Express Basic Size Type 6 模組。這個 PCIMG COM.0 R3.0 模組提供:
- 最多 6 核心處理器,渦輪加速最高可達 4.4GHz,系統效能與回應速度均不減分毫。
- 支援 Windows 10 和 Linux,所以它支援最常見的容器。
- 最高 48GB 的 DDR4 記憶體及支援 Intel® Optane™ 儲存,適合高效能、密集使用記憶體的工作負載。
- 整合式 Intel® 第 9 代繪圖晶片以及支援最多三個獨立顯示器。
該模組的高效能繪圖晶片是工業自動化、醫療與使用 OpenGL 4.5、DirectX 12/11 和 OpenCL 2.1/2.0/1.2,或需要視訊加速來執行現今新式編碼解碼器的其他視覺應用程式的理想選擇。
迎向未來的敏捷途徑
IoT 裝置使用容器的情況越來越普遍。容器支援 IT 和 OT 融合,並利用應用程式開發人員在創造革新型 IoT 裝置時享有的優勢以及在邊緣越來越多的智慧功能。
但是在邊緣的容器和容器化應用程式比舊式單板電腦需要更多運算資源。建置在最新 Intel Xeon 處理器上的 COM Express 模組是建置彈性化 IoT 解決方案的強大基礎,它擁有現代化邊緣應用程式所需的資源。