極客接管世界:開(kāi)發(fā)者定義基礎(chǔ)設(shè)施
本文英文標(biāo)題為「The geek shall inherit the earth, the age of developer defined infrastructure」。
作者 Jerry Chen 是硅谷著名風(fēng)險(xiǎn)投資機(jī)構(gòu) Greylock Partners 的合伙人,Docker 董事會(huì)成員。他曾在 VMware 擔(dān)任副總裁,負(fù)責(zé)云和應(yīng)用服務(wù)。
Jerry 在文章中提出了「Developer Defined Infrastructure,DDI」這一嶄新概念,并結(jié)合 Docker 的特性,大膽預(yù)言了未來(lái) 15 年的 IT 基礎(chǔ)架構(gòu)發(fā)展趨勢(shì)。
DaoCloud 曾在6月末舉辦的企業(yè)級(jí)容器技術(shù)研討會(huì)上,與來(lái)賓分享討論開(kāi)發(fā)者定義基礎(chǔ)設(shè)施這一前沿話題,現(xiàn)在我們把 Jerry 的文章翻譯成中文,與更廣泛的讀者分享。
以下為譯文:
如果說(shuō)「軟件正在吞食世界」,那奉上這場(chǎng)盛宴的,必然是開(kāi)發(fā)者無(wú)疑。
在過(guò)去數(shù)年中,關(guān)于軟件工程師地位的文章層出不窮。這些文章列舉了以下事實(shí):技術(shù)專業(yè)的畢業(yè)生比他們的同學(xué)賺得更多,開(kāi)發(fā)者的平均薪水大幅增長(zhǎng)。在我看來(lái),開(kāi)發(fā)者將成為各種公司薪酬最高的人,而不僅僅局限在硅谷的公司。
我們正在進(jìn)入開(kāi)發(fā)者定義基礎(chǔ)設(shè)施 (developer-definedinfrastructure , DDI) 的時(shí)代。歷史上,開(kāi)發(fā)者在許多應(yīng)用技術(shù)的選擇中鮮有發(fā)聲。在 20 世紀(jì) 90 年代,我們經(jīng)歷 Microsoft.NET vs Java 的戰(zhàn)爭(zhēng),不情愿地使用 Oracle 作為數(shù)據(jù)庫(kù)。
在過(guò)去幾年間,我們看到了開(kāi)發(fā)技術(shù)和應(yīng)用基礎(chǔ)設(shè)施的復(fù)興和繁榮,語(yǔ)言和框架(如 Go 、 Scala 、Python 、 Swift )和數(shù)據(jù)技術(shù)設(shè)施(如 Hadoop 、 Mongo 、 Kafka 等)層出不限。感謝開(kāi)源的力量,開(kāi)發(fā)者們現(xiàn)在可以選擇語(yǔ)言、運(yùn)行時(shí)和數(shù)據(jù)庫(kù)。然而,開(kāi)發(fā)者們不僅僅決定軟件的基礎(chǔ)設(shè)施,他們還需要決定更底層的云端基礎(chǔ)設(shè)施。他們不僅決定自己的應(yīng)用跑在哪里(私有云還是公有云),還要決定如何管理存儲(chǔ)、網(wǎng)絡(luò)、計(jì)算和安全。這將是 DDI 的時(shí)代的開(kāi)端,IT 架構(gòu)的圖景將徹底改變。
過(guò)去,開(kāi)發(fā)者和系統(tǒng)管理員的角色被分別定義:開(kāi)發(fā)者對(duì)于開(kāi)發(fā)工具做決定,而系統(tǒng)管理員則管理生產(chǎn)和基礎(chǔ)設(shè)施標(biāo)準(zhǔn)。開(kāi)發(fā)工具包括源碼管理和問(wèn)題追蹤,如 Git 和 Jira ;系統(tǒng)管理包括服務(wù)器管理、存儲(chǔ)管理、網(wǎng)絡(luò)管理等。然而,隨著 AWS 等云服務(wù)的興起,開(kāi)發(fā)者們開(kāi)始有權(quán)選擇使用何種基礎(chǔ)設(shè)施。
這一切又是從何而來(lái)?讓我們簡(jiǎn)要回顧一下數(shù)據(jù)中心的進(jìn)化。
物理設(shè)備定義基礎(chǔ)設(shè)施 (1985 to 1999)
圖 1:物理設(shè)備定義基礎(chǔ)設(shè)施
在客戶端/服務(wù)器興起的年代,公司將他們的大型機(jī)轉(zhuǎn)移到小型機(jī),繼而轉(zhuǎn)變?yōu)橐慌_(tái)服務(wù)器搭配數(shù)臺(tái)個(gè)人電腦。在那個(gè)時(shí)代,硬件為王,硬件廠商驅(qū)動(dòng) IT 戰(zhàn)略。工程師們?yōu)镃PU 架構(gòu)( RISC vs CISC )、Power vs X86vs SPARC 爭(zhēng)論不休,而 SunMicrosystems 、 IBM 和 HP 則成為那個(gè)年代的戰(zhàn)略廠商。
軟件定義基礎(chǔ)設(shè)施 (2000 to 2014)
圖 2:軟件定義基礎(chǔ)設(shè)施
在物理設(shè)備定義基礎(chǔ)設(shè)施的時(shí)代,軟件需要迎合硬件。在21 世紀(jì)初,我們看到英特爾X86 在 CPU 層面的全面勝利,帶來(lái)了er服務(wù)器和系統(tǒng)的標(biāo)準(zhǔn)化。一旦硬件標(biāo)準(zhǔn)化,軟件生態(tài)系統(tǒng)就圍繞著這些服務(wù)器發(fā)展,斷開(kāi)了與物理機(jī)的邏輯耦合。操作系統(tǒng)( Windows 和 Linux )成為軟件與硬件的交互層。
最終, VMware 提出了軟件虛擬化的概念,使得 IT 管理員能夠以軟件的方式來(lái)管理虛擬機(jī)、磁盤(pán)和網(wǎng)絡(luò)。基于摩爾定律, VMware 將物理設(shè)備定義基礎(chǔ)設(shè)施推進(jìn)到軟件定義基礎(chǔ)設(shè)施。通過(guò)一窺利潤(rùn)從系統(tǒng)廠商(譬如 Sun )流向到軟件定義基礎(chǔ)設(shè)施年代的霸主們(譬如 VMware 、微軟、紅帽,和 CPU 的標(biāo)準(zhǔn)制訂者英特爾),我們也可以回溯從物理機(jī)到虛擬化的進(jìn)化。
如果說(shuō) VMware 只是軟件定義基礎(chǔ)設(shè)施概念的先行者,那網(wǎng)絡(luò)巨頭 Google 和 Facebook 則將其完善。他們看到了使用商業(yè)服務(wù)器(Commodity Server)和軟件的價(jià)值,將不穩(wěn)定的硬件變得可靠穩(wěn)定,鮮活地證明了「軟件終將勝利,硬件必然失敗」的格言。
從物理設(shè)備定義基礎(chǔ)設(shè)施年代的霸主們的命運(yùn)中,我們可以看到軟件定義基礎(chǔ)設(shè)施概念的影響:戴爾私有化、 IBM 將其 X86 服務(wù)器線出售給了聯(lián)想, HP 正經(jīng)歷著痛苦的身份危機(jī)。
#p#
開(kāi)發(fā)者定義基礎(chǔ)設(shè)施 (2015 to ????)
圖 3:開(kāi)發(fā)者定義基礎(chǔ)設(shè)施
歡迎來(lái)到開(kāi)發(fā)者定義基礎(chǔ)設(shè)施的時(shí)代!
開(kāi)發(fā)者們正在決定他們的應(yīng)用將如何運(yùn)行,以及在哪里運(yùn)行。開(kāi)發(fā)者定義基礎(chǔ)設(shè)施是軟件定義基礎(chǔ)設(shè)施的自然進(jìn)化結(jié)果。從硬件向軟件轉(zhuǎn)變,部分是由于從物理機(jī)到軟件的邏輯分離,更主要的原因在于,一旦硬件可以通過(guò)軟件展示,那么你就可以將硬件與其它代碼一視同仁。你可以移動(dòng)或者編碼,也可以為它編寫(xiě)程序。例如,AWS 上,存儲(chǔ)、計(jì)算、網(wǎng)絡(luò)和安全都有 API 且可被編程。
如今,開(kāi)發(fā)者需要像 IT 和運(yùn)營(yíng)人員那樣思考,而 IT 管理員則必須不加限制地給開(kāi)發(fā)者選擇基礎(chǔ)設(shè)施的權(quán)利。隨著開(kāi)發(fā)運(yùn)維一體化和云的興起,人們開(kāi)始尋求能夠支撐開(kāi)發(fā)者定義基礎(chǔ)設(shè)施的技術(shù),去建構(gòu)、運(yùn)行和管理他們的應(yīng)用。如果 VMware 是過(guò)去 15 年的平臺(tái),那 Docker 這樣的公司則是未來(lái) 15 年的平臺(tái)。具體而言,Docker 將支持:
– 可編程與可移植性:基礎(chǔ)設(shè)施應(yīng)當(dāng)與軟件的其它部分一視同仁。 Docker 容器能夠輕松遷移,無(wú)論是咖啡館里的筆記本電腦還是云,不受物理位置束縛。更重要的是像 Docker 這樣的開(kāi)發(fā)者定義基礎(chǔ)設(shè)施,能夠通過(guò)自帶 API 編程。
– 集中化:這是 Docker 的貢獻(xiàn),也因此贏得了 IT 和系統(tǒng)管理員的青睞。通過(guò)把 10 臺(tái)物理服務(wù)器轉(zhuǎn)變?yōu)橐慌_(tái)機(jī)器上的 10 臺(tái)虛擬服務(wù)器,虛擬化取代了物理基礎(chǔ)設(shè)施。Docker 能夠進(jìn)一步提升服務(wù)器工作負(fù)載的集中化,同時(shí)提高速度和性能。
– 邁向微服務(wù):Twitter 、 Google 、 Facebook 這樣但公司已經(jīng)使用微服務(wù)來(lái)構(gòu)建他們的下一代應(yīng)用。工程師團(tuán)隊(duì)通過(guò)使用微服務(wù),在即使大規(guī)模研發(fā)團(tuán)隊(duì)協(xié)作的情況下,也能夠輕松實(shí)現(xiàn)擴(kuò)展、更新和開(kāi)發(fā)。
極客接管世界
開(kāi)發(fā)者定義基礎(chǔ)設(shè)施時(shí)代對(duì)于廠商、開(kāi)發(fā)者和 IT 專家意味著什么?不能理解和擁抱開(kāi)發(fā)者的軟件廠商將會(huì)失敗。原本面對(duì) IT 系統(tǒng)管理(如虛擬化、存儲(chǔ)、網(wǎng)絡(luò)、安全管理)的銷售代表需要學(xué)習(xí)如何與開(kāi)發(fā)者打交道。
IT 專家們需要思考如何給開(kāi)發(fā)者授權(quán)而不是約束。最后,開(kāi)發(fā)者需要擴(kuò)展應(yīng)用這一概念的定義。代碼不僅僅只是一段程序、或者智能手機(jī)上的一個(gè)應(yīng)用,代碼無(wú)處不在,從物理機(jī)到管理,到成品的每一像素。
原文鏈接:http://blog.daocloud.io/the-geek-shall-inherit-the-earth/