你所不知道的 EMC 開源的那些事
對 EMC 的印象
原本印象中,EMC 是一個以硬體和專有軟體為主的廠商,在開源方面不會有太多的積極性,而且存儲方面的專有軟體也未必適合開源。
EMC 是一家已經成立了30多年的老牌 IT 公司,也是全球第六大的企業軟體廠商。以過去的經驗來看,這種類型的公司通常在採用新技術方面和公司戰略方面會比較穩健,但是近些年隨著 EMC 公司在開源戰略方面的部署,其不僅僅在原本的存儲市場、企業軟體市場方面繼續著保持領導地位,也逐漸將其影響力帶到了開源領域。
在聽了一場由 EMC {code}的 Jonas rosland 和 Stephanie Carlson 做的演講之後,筆者發現 EMC 已經緊密的融入了整個開源生態方面,不但與包括 Linux 基金會、OpenStack 基金會、GitHub 等在內的各個開源社區形成了緊密的合作,而且在組建自己的開源社區 EMC {code} 方面已經做出了長足的發展。
EMC 在開源方面的工作
EMC {code} 開源社區
EMC 的開源社區,與他們開源的各種項目奇奇怪怪的名字相比,起了一個不算出奇的名字 {code}。這個名字代表著一句他們的開源戰略:COMMUNITY ONRAMP for DEVELOPER ENABLEMENT,這句願景似的標語如果用中文來描述,可以解釋為:「讓開發者進入高速通道的社區之路」。
EMC {code} 建立兩年來,目前已經發布了多達48 個開源項目——哦不, 49 個了,就在寫作這篇隨筆的時間裡又增加了一個。僅在 2015年這一年,就向社區貢獻了超過35萬行的代碼。其中一些開源項目原本能為 EMC 帶來大量的商業營收,比如 CoprHD、RackHD 等,因此在開源後得到了社區的高度關注和積极參与。
COMMUNITY ONRAMP for DEVELOPER ENABLEMENT
讓我們來看來 EMC 在開源方面都做了哪些舉措:
RackHD
RackHD
去年底的時候,EMC 公司兌現了其為開源社區帶來重要新貢獻的承諾,以 Apache 開源協議發布了 RackHD™ (讀作Rack 『H』 『D』)項目。這是一個與平台無關的技術棧,旨在解決超大規模環境下管理和組織協調伺服器與網路資源這一行業性挑戰。
現代化的數據中心是一個多供應商的存儲、網路和伺服器的混合體,種類不斷增加的商品化硬體被用到各種超大規模場景。對數據中心工程師來說,在大量設備上安裝低層級的操作系統、更新固件和 BIOS,已經成為一項複雜低效的人工任務,在超大規模環境下,難度和成本以數量級增加。 RackHD 的創建旨在囊括各種數據中心硬體的自動化,簡化這些基礎任務。
開發人員可使用 RackHD API 作為更大的組織協調系統的一個組件,或者創建一個用戶界面管理硬體服務,無需考慮底層硬體是否就緒。其目標是幫助各個組織機構加速現代化應用的部署。而這些應用依賴於大量的商品化伺服器和異構基礎設施。
目前,RackHD 支持各種基於 Intel® 處理器的數據中心伺服器,以及交換機的發現和監控。
詳細功能列表請訪問 GitHub 上的 RackHD 項目地址: https://github.com/RackHD 。
REX-Ray
REX-Ray
雖然 EMC 公司旗下已經有了虛擬化領域的領軍的 VMWare 公司,但是在 Docker 興起之後,EMC 還是積極地參與了容器領域的發展,並利用其在存儲領域的強大的技術優勢,將 Docker 技術融入到其 XtremIO 和 ScaleIO 產品中,利用簡單的 Docker 存儲容器實現了共享存儲。
REX-Ray 是一個存儲編排引擎,它為Docker、Mesos及其他容器運行環境提供了持久化存儲訪問。其設計旨在囊括通用存儲、虛擬化和雲平台,提供高級的存儲功能。REX-Ray 為容器提供了與廠商無關的持久存儲,為橫跨公共存儲、虛擬化和雲平台實現先進的存儲功能提供了一種簡便的集中式架構。
REX-Ray率先提供卷掛載功能,允許主機從無響應的主機上重新分配掛載卷。這樣可確保應用程序維持對永久存儲的訪問。
在 EMC World 2016 大會上,EMC 發布了 REX-Ray 的最新版本 0.4,新功能包括了一個可選的 C/S 模型架構,可用於中心化的控制,兼容 Docker 1.11 Volume API,並支持 EMC ScaleIO、XtremIO、Isilon和 Vmax 存儲,以及支持 Amazon EC2、Google Compute Engine、OpenStack和Rackspace 等雲存儲服務。
EMC {code} 技術副總裁 Josh Bernstein 說,「開源和基於軟體的架構變為了我們的客戶所急需的。」
詳細功能列表請訪問 GitHub 上的 REX-Ray 的項目地址: https://github.com/emccode/rexray 。
Polly
Polly
在本次大會上,EMC {code} 還新發布了 Polly,它提供了一個可以連接到容器調度器的中央存儲調度服務。它可以與Cloud Foundry、Docker、Kubernetes,、Mesos 等容器調度服務協同工作,這樣,存儲就可以像計算、內存和網路一樣訪問了。能夠與其他計算資源一起提供存儲資源是一個革命性的飛躍,這超越了其他容器計劃,而且提升了存儲的地位,使其能夠像其他資源一樣使用。
Polly 順應「調度環境中將存儲作為『頭等公民』」這種需求而出現,其意即「 多態存儲卷調度 」,是一種面向 Cloud Foundry、Docker、Kubernetes、Mesos 以及其他調度環境的開源框架。
以前,就容器部署而言,容器調度器僅關注計算、內存和網路資源。隨著容器內的應用開始需要持久的後端存儲,將其作為可調度的資源使用的需求出現了。Polly 充當了這樣的角色:將存儲作為一種開放框架集成到多種容器調度解決方案中。
開源容器生態系統是多種多樣的,部署方式也有所不同。多態解決方案允許代碼演變,同時保持原始演算法完好無損,因此在將存儲集成到支持性生態系統中時,多態解決方案對於實現公共功能和方法是至關重要的。
詳細功能列表請訪問 GitHub 上的 Polly 的項目地址: https://github.com/emccode/polly 。
CoprHD
CoprHD
CoprHD 是開源的存儲自動化軟體,將來自多個供應商的存儲集中化,並轉變成單一且可擴展的平台。現在以 Apache 2.0 許可協議開源。
為了幫助企業迎戰各種變化,EMC 推出了核心產品 VIPR 控制器的開源版本:CoprHD,向以社區為主導的開發群體開放 ViPR 控制器所有的存儲自動化和控制功能代碼,以方便社區開發軟體定義的存儲自動化系統。CoprHD 提供與 ViPR 控制器同樣的靈活性、多種選擇、安全性和透明性,同時增強開發新服務和新應用的能力。
CoprHD 是 EMC 首個基於其商業軟體產品的開源項目,它的源碼具有與 EMC ViPR 控制器相同的核心屬性和功能。需要指出的是,CoprHD 其對應的商業版本 EMC ViPR 控制器,EMC 也將繼續提供和支持。
詳細特性和支持平台的列表請訪問 CoprHD 社區頁面: https://coprhd.github.io/ 。
對 EMC 開源戰略的社區反響
EMC 在開源方面的舉措堅定而持續。比如其去年開源的 ScaleIO 就分別來自其花費了3億美金收購的公司的拳頭產品,而 ScaleIO 這個軟體在當初發布時,該公司甚至不願提供試用版。至於 ViPR ,我們前面提到過,它的開源版本 CoprHD 和 ViPR 具有相同的代碼基,而現在 CoprHD 已經形成了一個成熟的開源社區。
EMC 2016 大會上,參會者濟濟一堂
雖然對於 ScaleIO 是否算做是開源產品社區還有一些爭論,但是無論如何在非產品環境中ScaleIO 是可以免費下載使用的。
當然,從另外一方面來說,除了部分產品,如 CoprHD 等少數核心產品外,社區也對 EMC 開源的部分外圍產品關注不多,希望能見到更多靠近核心的產品能貼近開源戰略。
從目前 EMC 開源的幾十個軟體項目中,我們可以看到,有些項目的參與者還較少。按照 EMC 的產品與市場總裁 Jeremy Burton 所說,「如果一個開源項目沒有人參與,那不是開源,而叫做幹掉該項目。」因此,如何將這些項目找到合適的貢獻者,而不僅僅是「開放」源代碼就萬事大吉,還需要 EMC 做更多的工作。至少,社區方面應該有足夠的渠道來聽到 EMC 在開源方面的聲音,並有合適的社區氛圍參與進社區生態的建設,才有助於 EMC 開源戰略的持續發展。
開源能給 EMC 帶來什麼?
開源是你的戰略的一部分嗎?
那麼為什麼 EMC 熱衷於開源?開源可以為 EMC 帶來什麼?
開源可以讓 EMC 的軟體支持更多的第三方硬體,從而擴展了其應用場景,為客戶帶來更多的價值。
開源也可以讓他們的軟體得到更多的發展,從開源生態中汲取更多的養分。CoprHD 和 ViPR 的關係就類似 Fedora 和 Red Hat 的 RHEL 一樣,可以通過開源社區的貢獻、體驗,從而為企業級的產品軟體提供更多的發展的可能。
雖然,EMC 還是其開源的軟體產品的主要貢獻者,但是其開源的產品也會吸引大如 Intel 公司、各個研究機構和大學,小到獨立開發者這樣的開發力量參與進來。
另外,開源也為其爭奪市場份額和對業界標準的影響有不可忽視的作用。
結語
縱觀 EMC 在開源方面這兩年來的舉措,我們可以看到,部分傳統的 IT 廠商已經堅定的轉向開源戰略,將開源作為其產品和業務發展的一大重要方式。
而 EMC 和 DELL 合併之後,筆者在和 EMC 相關高層中的溝通了解到,這種開源戰略顯然會進一步延續下去,並進一步擴展到新成立的 DELL 科技公司,從而吸引更多的開源社區力量參與,相對地也會進一步促進開源生態的發展。
作為開源戰略不可或缺的部分,如何在「開放」源代碼之後,將其植入開源社區的土壤,從而真正得到發展,這應該是之後 DELL 科技公司和 DELL EMC 的一大考量的地方。
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive