云技術越來越便利,開源已經過時了?
開發人員之所以采用云,是因為他們最初采用開源的許多原因。這是否意味著開源已經過時?
據筆者個人經歷來看,在所有條件相同的情況下,開發人員會更喜歡開放而不是封閉。但在云時代,軟件屬于開源純度范圍的地方并不是開發人員最關心的問題。Microsoft Office 擁有數億用戶是有原因的。為什么甲骨文幾十年來一直在數據庫排行榜上名列前茅(盡管這種情況正在發生變化)。開源是軟件領域的一場巨大運動,它極大地改變了人們對軟件的看法。
MongoDB公司的首席財務官/首席運營官邁克爾·戈登(Michael Gordon)針對分析師提出Community(MongoDB 的免費和開放版本)用戶如何轉變為 Atlas(完全托管的云服務)的付費客戶的疑問,表示:“Atlas 自助服務,無論是免費分層還是付費,它都是下載社區服務器并自行管理的現代、更現代的版本。”
換句話說,開發人員正在轉向免費使用的托管云服務,就像他們曾經下載免費使用的開源軟件一樣。但值得留意的是,大多數開發人員關注的焦點不是許多自由和開源 (FOSS) 倡導者想象的那種意義上的自由。開發人員只想要使用該軟件的便利,而無需獲得財務、法律等部門的批準。他們有工作要做,并試圖以盡可能少的障礙來完成工作。
換句話說,他們想要“自由”就像“以最方便的方式建造的自由”。
越來越多的“最方便的方式”是云。那么,如何以開發人員真正關心的方式將開源便利性轉化為云時代?
讓開源在云端更方便
越來越引起共鳴的一種方式是開源和多云之間的相互作用。Crunchy Data 的產品負責人Craig Kerstiens認為,要讓多云發揮作用,開發人員需要“使用 PostgreSQL、MongoDB 或 Redis 等一流但開放的技術”進行構建。關鍵不在于哪些技術,而在于這些技術可以在開發人員可能希望的所有不同云、數據中心或筆記本電腦環境中運行的想法。
它們本身甚至不需要是開源的,但開發人員必須能夠以最普通的格式運行它們,以便使應用程序可以跨云移植。由 vanilla Kerstiens 暗指 PostgreSQL 之類的東西:您可以下載的版本與某些云提供商運行的托管 PostgreSQL 服務相似但失去了保真度(因為他們添加了補丁和其他性能改進,但它們對上游 PostgreSQL 沒有貢獻)。
Kerstiens估計這種方法適用于 90% 以上的企業工作負載。
開源應用的另一個重要方式與第一點有關。考慮到每個云有多么不同——即使在存儲、計算等所謂的商品領域也是如此——開源提供了一種“通用語言”,開發人員可以在云之間隨身攜帶。正如我所寫的,雖然云在實現 PostgreSQL 的方式上可能有所不同,例如,了解 PostgreSQL 的開發人員可以使用 AWS、Google Cloud 或 Microsoft Azure 來提高工作效率。 Kerstiens 說:“對于開發人員而言,了解特定云供應商的復雜性可能很重要,但許多開源技術(Kubernetes、Linux、PostgreSQL 等)為開發人員提供了在云之間轉移的技能。”