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