云提供商與開源之間的復雜關系

原始虛擬機和承載重要Web服務所需的完全分布式架構之間仍存在重大技術差距。隨著時間的推移,AWS意識到它需要另一層來確保其用戶的成功,主要圍繞著數據庫、隊列和作業(yè)編排器等復雜軟件的供應和生命周期管理。

本文來自微信公眾號“開源云中文社區(qū)”。

AWS、谷歌云平臺(GCP)和微軟Azure等云提供商長期以來一直與開源社區(qū)保持著友好的關系。

一方面,云提供商的平臺即服務(PaaS)層成功地將大部分價值從軟件維護者重定向到了他們自己身上。然而,大型科技公司也為開源生態(tài)系統(tǒng)做出了重大貢獻。

一個值得關注的例子是Kubernetes項目,它起源于谷歌。其他例子包括領英的Apache Kafka、臉書的Presto以及愛彼迎的Apache Airflow和Superset。

云提供商和開源維護者之間的緊張關系即將發(fā)生巨大變化,我們需要關注目前正在發(fā)生的事情。

平臺即服務模型

最明顯的緊張來源于PaaS作為云提供商的主要收入模式的建立。在AWS的早期,其核心業(yè)務是計算和存儲。

盡管如此,原始虛擬機和承載重要Web服務所需的完全分布式架構之間仍存在重大技術差距。隨著時間的推移,AWS意識到它需要另一層來確保其用戶的成功,主要圍繞著數據庫、隊列和作業(yè)編排器等復雜軟件的供應和生命周期管理。

云依靠開源來實現該軟件的久經考驗的實現,并利用其許可在之上創(chuàng)建了利潤豐厚的業(yè)務線。這似乎赤裸裸地剝削了開源開發(fā)人員的努力,但不妨理解為什么會這樣。

云PaaS解決了兩個主要痛點:規(guī)模經營經濟、服務的分發(fā)。

作為一名工程師,筆者可以立即看到規(guī)模經營經濟的必要性。筆者親眼目睹了操作這些系統(tǒng)的難度。它需要對工程基礎和軟件本身的特性有豐富的經驗才能可靠地提供和維護它們。

大多數組織將沒有內部專業(yè)知識,必須向擁有該專業(yè)知識的人支付費用。

理論上,像亞馬遜或谷歌這樣的組織并不是唯一可以提供這類服務的組織,事實證明,許多開源社區(qū)已經通過創(chuàng)建自己的PaaS產品將其產品商業(yè)化,比如ElasticSearch的Elastic、Kafka的Confluent、MongoDB等。這種商業(yè)模式為這些開源項目提供了至關重要的持續(xù)資本,也是它們取得成功的重要原因。

分發(fā)是云相對于任何其他軟件來源的第二大競爭優(yōu)勢。大多數企業(yè)的嚴酷現實是,幾乎所有的行動都受到嚴重的官僚主義限制,任何供應商或開源軟件包都必須經過繁瑣的審查才能開始使用。

云提供商的優(yōu)勢在于與地球上幾乎每一家大型企業(yè)都建立了商業(yè)關系,因此通過一家公司試用新服務的摩擦要小幾個數量級,從而創(chuàng)造了一臺強大的銷售機器。事實證明,這種競爭風險如此之大,以至于一些開源項目認為這是存在的,并完全改變了許可以應對威脅,尤其是Elastic和MongoDB。

強調這種商業(yè)模式的另一個有趣的副作用是代碼庫本身。AWS和ElasticSearch之間的爭吵導致該項目出現分歧,AWS維護OpenSearch,Elastic維護對遺留ElasticSearch代碼庫的控制。

這種情況也發(fā)生在更深層次的層面上,AWS RDS等服務有效地為其Aurora服務重寫了Postgres等主要關系數據庫(這是數據庫設計的一個重大進步),但沒有為開源社區(qū)貢獻這種創(chuàng)新。這是因為軟件永遠不會離開托管服務的圍墻花園,但最終會忽略更廣泛的開源生態(tài)系統(tǒng)。

云提供商向前邁出一步

當你分解這個問題時,云提供商和開源關系之間有兩個主要問題在起作用。

首先,存在著在基礎設施提供商和開源維護者之間找到更公平的價值分配的問題,這種分配不會過度補償克服企業(yè)官僚效率低下的能力,并使軟件生態(tài)系統(tǒng)更加自我維持。

在承認這一問題方面取得了進展,AWS再次領先,與Grafana建立了合作伙伴關系,以分發(fā)具有明確收入共享協議的軟件。這是一場雙贏;Grafana為其產品獲得了適當的補償,企業(yè)可以減少繁瑣的手續(xù),AWS在其目錄中獲得了另一項服務。

但是,這一切的根源還在于一個技術挑戰(zhàn):開源軟件往往非常復雜,需要第三方基礎設施提供商來提供良好的用戶體驗。如果情況不再如此,這個問題將發(fā)生重大變化。

組織不需要仔細分析他們將基礎設施外包給誰,就可以利用標準的開源組件,從而獲得分發(fā)優(yōu)勢,而不是破壞游戲規(guī)則。

開發(fā)人員可以將軟件本身的價值貨幣化,而不是將其“管理”貨幣化。而且,用戶不必為了依賴最好的開源生態(tài)系統(tǒng)而在數據租賃方面做出妥協。

現在有一個強大的工具生態(tài)系統(tǒng),如Kubernetes和Terraform,可以幾乎自動化分布式系統(tǒng)管理的所有題,但根本沒有充分發(fā)揮它們的潛力。因此有一些公司打包主要的開源解決方案,如Airbyte、Airflow、Prefect、ElasticSearch、Kafka、PostHog、Grafana和Argo CD,使開發(fā)人員能夠在Kubernetes之上使用DevOps最佳實踐進行部署。這樣的平臺為工程師提供了他們在托管產品中獲得的所有操作工具,以及經過驗證的升級流,所有這些都部署在自己的云中,以實現最大的控制和安全性。

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論