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