開放式管理基礎架構

很多年以前,Microsoft 就與其他公司合作,共同定義了「硬體抽象層 (Hardware Abstraction Layer,HAL)」,這是一系列用於作業系統中抽象化個人電腦(及伺服器)上設備的標準。HAL 是業界的無名英雄,這也表示 x86 生態系統達成了無與倫比的靈活性和互通性。該技術是讓這一切“正常運作”的幕後關鍵技術之一。  
在 Windows Server 2012 中,Windows 將重心轉移到建構雲端作業系統之上,因此需要設計一個新的抽象層也就是「資料中心抽象層(Datacenter Abstraction Layer,DAL)」。Microsoft 將再次與其他公司合作共同定義 DAL。Microsoft並不是從零開始或重新推動的專有標準,而是選擇了針對標準管理以便加速該過程,以使生態系統和使用者能儘快過渡到雲端環境。   
而在讓整個業界接受針對標準管理的這條道路上,我們仍面臨許多挑戰。   
第一個挑戰就是向業界證明針對標準管理非常可靠並且能夠勝任管理作業,為了證明這一點,Microsoft在 Windows Server 2012 中針對標準管理投入的巨大心力。在此版本中,我們將全面針對標準管理作為主要管理途徑,而 DCOM 則僅僅是為了提供舊版相容而存在。   
接下來的挑戰就是幫助業界實作針對標準管理。目前現有的開放源始碼存在許多問題,阻礙了此方案在生態系統中的普及程度。   
因此在今天的部落格文章當中,Windows 管理團隊的專案經理 Otto Helweg 和 Wassim Fayed,將會為我們介紹解決此問題所付出的努力。能夠身處於目前的環境實在是我們的榮幸,我們正在全力將其推向一個新的境界,而我們的使用者也即將收穫此一進步所帶來的巨大回報。還有什麼能夠比這樣的結果更加令人振奮呢?

謹啟!Jeffrey

Microsoft 和 The Open Group 即將在針對標準管理的領域中大展身手,推出名為「開放式管理基礎架構」或 「OMI(原名為 NanoWBEM)」的全新免費開放源始碼技術。我們正在與 Arista 及 Cisco 合作,將 OMI 移植到他們的網路交換機當中,以提供我們的 Windows Azure 和雲端資料中心使用。Jeffrey Snover 曾在 TechEd Europe 上進行過一次技術展示,展示的內容包括如何使用一組針對標準的常用工具管理伺服器上的主機板控制器、Windows 作業系統和運作 OMI 的 Arista 交換機。   
OMI 公開表示您現在可以透過一個開放源始碼的套裝軟體,在任何設備或平台上輕鬆的編譯後實作出針對標準管理的服務。我們的目標是清除阻擋實作針對標準管理的一切絆腳石,以確保世界上的所有設備可以透過一種簡潔、一致、連貫 的方式進行管理,並且訓練和促進由針對標準管理的產品所組成的生態系統。   
如今,資料中心內由不同硬體和平台供應商所提供的大量設備所構成,因此需要使用不同的工具和管理方式。各家公司都在致力於開發自己的抽象層,或者需要指定單一的供應商,但這樣做會限制他們的選擇性和靈活性。要解決這個問題,必須推動整個業界接受一種針對資料中心設備和抽象平台的適當標準。   
此外,雲端運算的日益普及明顯提升企業對於自動化的需求,而這需要建立在一系列管理標準的基礎之上。因此要滿足目前的雲端管理需求,針對標準的管理必須要足夠複雜,以便支援多樣化的設備,同時它必須要方便硬體和平台供應商實作出來。DMTF CIM 和 WSMAN 標準雖然能夠提供足夠的支援卻難以有效實施。但是開放式管理基礎架構 (OMI) 解決了此一問題。

簡便且多樣化的設備支援
我們先從歷史演進開始說起。Windows 長久以來在 CIM 領域中一直獨佔鰲頭,而這一切都是從 WMI(Windows 管理基礎架構)開始。分散式管理任務組 (DMTF) 通用資訊模型 (CIM) 是一種開放式標準,用於定義如何透過一組通用的物件來表示接受管理的元素,並且使用關聯定義它們之間的關係。   
WMI 最初在 Windows NT 4.0 中導入並且與作業系統一同安裝,達成了早期版本的標準和架構。WMI 使用 DCOM 進行遠端系統管理,因為當時尚未制訂任何標準協定。但是在 Windows Server 2012 當中,我們在標準和遠端系統管理方面投入了大量心力,在 WMI 中加入了最新的 DMTF 標準和協定。   
CIM 標準具備足夠的複雜度和靈活性,可以用於所有設備的管理模式,尤其是資料中心設備。儘管這些 DMTF 標準已經存在多年,但是仍舊難以實施,並且對於現有移動式和嵌入式設備來說過於龐大。因此為了解決這些難題,Microsoft 建構了一種名為 OMI 的 CIM 物件封裝程式,OMI 具備 高度可攜式、佔用資源少、效能高 的優點,並且專門設計用於實作 DMTF 標準。並且之後,我們與 The Open Group 展開合作,以便透過 Apache 2 授權模式向所有使用者提供 OMI 的原始程式碼。OMI 的原始程式碼可以在 Linux 和 UNIX 系統中輕鬆實作。   
採用 OMI 的合作夥伴將獲得以下優勢:

· 支援 DMTF 標準 : OMI 根據 DMTF 標準實作其 CIMOM 伺服器。

· 支援小型系統 : OMI 在設計時也考慮到在小型系統中如何實作(包括嵌入式和移動系統)。

· 易於實作 : 明顯簡化在 設備/平台中實作 Web Service 管理和 CIM 的過程。

· 支援遠端系統管理 :可以透過 Windows 和非 Windows 用戶端及伺服器,以及其他支援 Web Service管理的平台即時進行遠端系統管理。

· API 相容 WMI: 可以在 Linux 和 Windows 上使用相同的 API 撰寫程式和管理應用程式。

· 支援 CIM IDE:用於建立和開發 CIM 提供程式的工具,例如 Visual Studio 的 CIM IDE

· 可支援 PowerShell: OMI 供應商使用一系列的機制,使 Windows PowerShell 能夠自動發現,並且自動產生 Cmdlet(Windows Server 2012 中的 2,300 個 Cmdlet 就是如此實作的)。

OMI 詳細資訊
OMI 資源使用率低(基本大小 250 KB,外加 1 MB 的工作任務記憶體使用),以及高品質的程式碼將有助於開發人員更輕鬆的開發具備高效能和高穩定性針對標準的管理堆疊。對於 IT 專業人員來說,OMI 將增加您能夠管理的設備數量和類型,並且透過針對標準化管理和自動化工具(例如 Windows PowerShell 和 System Center,以及其他管理解決方案)統一管理操作體驗,進而大幅度提升您的工作效率和效益。下圖為 OMI 在 CIM 伺服器實作中所包含的元件和工具。

clip_image001

可擴充性
OMI 採用 Provider 程式模型,允許開發人員將 OMI 擴充到整體的設備或平台當中。在過去,撰寫Provider非常困難,通常成本較高而且不太穩定。OMI 利用大幅簡化的Provider程式模型,該模型也在 Windows Server 2012 和 Windows 8 的 WMI 中使用。簡言之,OMI 透過向開發人員提供以下功能簡化實作程序:

· 下一代Provider程式介面

· 相容 Windows Server 2012 和 Windows 8 中的新式 WMI 提供程式介面

· 建立 Provider 程式框架 (omigen)

· 建立整體 CIM 資料架構和程式碼

· 提供Provider註冊工具 (omireg)

該模型首先需要定義接受管理的內容。根據定義所接受的管理內容,omigen 工具會建立一系列用於實作管理模型的 C 語言資料架構和程式碼。開發人員可以將這些程式碼增加到框架當中並且註冊該Provider程式。

OMI 適用於嵌入式和移動系統
嵌入式和移動設備管理可能是對於管理技術來說要求最高的任務之一,因為它們的 CPU 處理器和記憶體限制最為明顯。我們認為如果能夠建構一種滿足這樣需求的管理技術,那麼 OMI 應該就能夠滿足任何設備的管理需求。因此,為了確保 OMI 較低的資源使用率和嵌入式系統適用性,我們實作出以下設計特徵:

· 小於 250 KB 的伺服器物件大小

· 伺服器完全使用 C 語言

· Provider程式介面使用 C 語言

· 無儲存程式庫伺服器

· 整體的Provider程式產生較少的程式碼

· 反覆運算式大小優化

· 無硬碟操作

安全性
安全性問題。自從 Bill Gates 著名的可信賴運作備忘錄以來,我們一直在盡力完成安全開發生命週期模型。安全性在我們開發和編碼過程的所有方面都是首要考慮因素。OMI 雖然體積小巧,卻實作出以下安全功能:

· HTTPS (SSL)

· HTTP 基本驗證

· 本地端身份驗證

· 支援 PAM (Pluggable Authentication Module) 驗證機制

· 執行 Provider 程式

o 以 requestor 運作程式

o 以 Server 運作程式

o 以 designated user 運作程式

太棒了! 我該如何獲得 OMI?
Microsoft 已經與 The Open Group 結為合作夥伴,共同打造針對利用、支援和強化 OMI 的硬體、軟體和開發人員社群。您可以從 The Open Group 網站下載 OMI 或瞭解更多資訊。在不遠的將來,您將會見證到該網站及社群的成長,並且支援更加詳細的文件、設備和針對 OMI 開發人員的會議。

若有相關問題請與 ottoh@microsoft.com 連絡