保持對雲服務供應商選擇的多樣性
不論雲服務的開放程度如何,你都能為自己的環境選擇合適的方式。
對於 Linux 用戶來說,市場上有一種新型的電腦出現,我們稱之為「雲」。
如同你桌面上的個人電腦,背包里的筆記本電腦,或是你租用的虛擬私有伺服器一樣,你可以選擇不同的雲計算供應商。雖然品牌名稱和你以往熟悉的硬體品牌不一致,但其核心概念是相同的。
要運行 Linux,你需要一台電腦。要在雲上運行 Linux,你需要一個雲服務供應商。就像你的電腦中的硬體和固件一樣,你的計算堆棧可以使用多大的開源程度也是有區別的。
作為一個開源的用戶,我更偏向於擁有盡量開放的計算集成環境。在對雲計算市場進行詳細的調研後,我形成了關於雲服務供應商的三層觀點。你可以根據這個體系作為指南,對你將選擇的雲供應商作出明確的決策。
開放堆棧
一個完全開放的雲是從底層開始就建立在開源技術之上的雲。由於雲科技中有很大一部分從一開始就是開源的,因此技術層面的開放性堆棧並不難以實現。然而,也有雲供應商以專有的方式重新發明輪子,這讓用戶很容易誤入使用了許多封閉源碼組件的雲服務商的陷阱中。
如果你在尋找一個真正開放的雲,那麼你應該尋找一個提供 OpenStack 作為基礎的雲供應商。OpenStack 提供雲的軟體基礎設施,包括通過 Neutron 實現的軟體定義網路(SDN)、通過 Swift 實現的對象存儲、身份和密鑰管理、鏡像服務等等。按照我的硬體電腦比喻,OpenStack 就是驅動雲的「內核」。
當然,我並不是字面上的意思,但如果你的雲供應商運行 OpenStack,那相當於你可以直接到達堆棧的底部。從用戶的角度看,OpenStack 是你的雲存在並擁有文件系統、網路等的原因所在。
在 OpenStack 的主體上,可能有一個像 Horizon 或 Skyline 這樣的網路用戶界面,可能有像 OpenShift 或 OKD(並不是一個縮寫,但前身是 OpenShift Origin)這樣的額外組件。所有這些都是開源的,它們幫助你運行容器,這些容器是內嵌應用程序的極簡 Linux 鏡像。
因為 OpenShift 和 OKD 不需要 OpenStack,這就構成了我對雲世界的下一個視野級別。
開放平台
你並不總是可以選擇你的雲正在運行的堆棧。你的雲可能運行的是 Azure、AWS,或者類似的東西,而不是 OpenStack。
這些就是雲世界的「二進位碎片」。你對它們如何工作,或者為什麼工作一無所知;你只知道你的雲存在,並且有一個文件系統,一個網路堆棧,等等。
就像桌面計算一樣,你可以在獲得的伺服器上運行一個「操作系統」。言下之意,有一種觀點認為 OpenStack 本質上就是雲計算的操作系統。然而,通常情況下,用戶直接交互的是 OpenShift。
OpenShift 是一個你可以使用 Podman 和 Kubernetes 管理容器和 容器莢 的開源「桌面」或工作區。它讓你在雲上運行應用程序,就像你在筆記本電腦上啟動一個應用一樣。
開放標準
最後,同樣重要的一點是,有些情況下你在選擇雲服務供應商上沒有什麼選擇。你被放在一個運行著專有「內核」、專有「操作系統」的平台上,你能影響的只剩下你在那個環境里運行什麼。
但掌握開源的力量,你就能建立你自己的平台。你可以選擇在容器內部使用的組件。你可以,而且應該,圍繞開源工具設計你的工作環境,因為這樣一來,如果你有機會更換服務供應商,你可以將你的所有工作遷移到新的供應商那裡。
這可能需要你自行實現一些在你當前受限(非開源)平台上已經內置的功能。例如,你的雲供應商可能會用一個包含在他們平台「免費」提供的 API 管理系統或持續集成/持續交付(CI/CD)管道來吸引你,這需要你有清醒的認識。當一個非開放的應用被免費提供時,通常會以其他形式帶來一些成本。其中一種成本是,一旦你開始在它的基礎上構建,你會更加不願意遷移,因為你會離開你已建立的一切。
你應當為自己重建這些封閉「特性」,並將其轉化為開源服務。在容器中運行 Jenkins 和 APIMan。找出你的雲提供商聲稱用專有代碼解決的問題,然後使用開源解決方案來確保,當你離開尋找開放的供應商時,你可以遷移你已經構建的系統。
開源計算
對於太多的人來說,雲計算是一個開源居於次要地位的領域。實際上,開源在雲上的重要性與它在你的個人電腦和驅動互聯網的伺服器上同樣重要。
尋找開源的雲服務。
當你受困於無法獲取源代碼的環境時,就肩負起在你的雲內使用開源軟體的責任吧。
(題圖:DA/9dc5a9d0-d664-492f-890a-b437ce39c4d6)
via: https://opensource.com/article/22/5/cloud-service-providers-open
作者:Seth Kenlon 選題:lkxed 譯者:ChatGPT 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive