3種在雲中利用開源的方法

danny_2018發表於2022-03-04

在雲中執行開源有一些缺點,但是選擇正確的策略可以讓你同時享受開源和雲端計算的好處。

許多公共雲服務至少部分基於開源平臺或工具,但云服務本身並不是開源的。然而,這並不意味著使用雲意味著錯過了開源的好處。透過正確的方法,你可以同時享受開源和雲端計算的便利。

開源與雲:一段麻煩的歷史

當雲端計算首次出現時,它在自由開源軟體的倡導者中引發了不少擔憂。例如,GNU創始人Richard Stallman警告說,雲平臺“讓其他人掌握了你的計算能力”。

他提出的觀點是,當你使用雲服務或軟體即服務(SaaS)應用程式時,你使用的是一個由外部供應商控制的計算環境。雲供應商很少釋出其服務和應用程式的原始碼。即使他們這樣做了,使用者也無法修改程式碼來改變服務的工作方式、控制它如何管理他們的資料,或者享受與在自己的計算機或伺服器上執行開源軟體相關的其他基本自由。

開源和私有云

解決這個難題的一種方法是使用開源平臺(如OpenStack或CloudStack)構建私有云。

如果你有自己建立和管理雲端計算環境所需的資源,這是一個好主意。但這是相當多的工作。它還要求有自己的託管基礎設施。這樣你錯過了公共雲的便利性、無限的可擴充套件性和無資本支出的好處。

在公共雲上執行開源軟體

在雲中執行開源軟體還有另一種方法,它提供了開源的大部分好處和公共雲的大部分好處:使用公共雲基礎設施託管自己管理的開源軟體。

換句話說,你可以在AWS EC2例項或Azure虛擬機器上執行任何你想要的開源應用程式,比如Apache HTTP伺服器、WordPress或Elasticsearch。

當然,你不會完全控制底層基礎設施。你也不能阻止公共雲提供商收集關於你在其伺服器上所做工作的資料。在這些方面,如果在自己的私有伺服器上執行開源,你將無法充分利用隱私和可擴充套件性。

折衷的是,你可以無限制地擴充套件主機基礎設施,只需要為實際使用的託管資源付費,而且你不必預先購買任何伺服器來執行應用程式。

開源即託管服務

第三種方法是使用雲供應商提供的託管服務在雲中執行開源軟體。例如,你可以透過AWS EKS或Azure AKS執行Kubernetes。或者,你可以使用AWS OpenSearch,而不是自己設定Elasticsearch(及相關軟體)。

開源作為公共雲中的託管服務的好處在於它簡單方便。你不必自己配置基礎設施或安裝開源軟體。

另一方面,你失去了開源帶來的所有靈活性。你只能以雲供應商支援的方式使用軟體,修改軟體配置的能力通常是有限的。當然,你不能修改軟體的原始碼。換句話說,你最終會遇到“軟體作為服務替代品”的情況。

從好的方面來看,有人可能會說,在公共雲中使用開源作為託管服務可能是以授予使用者更多自由的方式使用相同開源平臺的墊腳石。例如,如果你執行EKS,可能最終會決定自己部署Kubernetes,而不是依賴託管服務。或者有一天你可能會從OpenSearch轉向一個自我管理的ELK棧。

結論

無論你如何劃分,在雲中執行開源,而不是在你自己的私有基礎設施上,都有一些缺點。它可能需要比其他基於雲的部署選項付出更多的努力,而且你對軟體和資料的控制可能會減少。

但是,考慮到不同的部署方法,通常可以在雲中以一種讓你實現大部分目標的方式執行開源,同時最小化缺點。你只需要選擇正確的策略。

來自 “ 開源雲中文社群 ”, 原文作者:開源雲中文社群;原文連結:https://www.itprotoday.com/performance-management/3-ways-leverage-open-source-cl,如有侵權,請聯絡管理員刪除。

相關文章