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