開源技術Docker已經成為云計算領域的熱門理念,谷歌將大力支持Docker技術。
Docker就像裝運互聯網內容的集裝箱。Docker可以讓網絡軟件開發商整齊地打包開發內容,以便在機器間快速傳輸內容。在現代互聯網環境中,軟件往往需要在成百上千臺機器上運行,實現起來并非易事。
谷歌認為,Docker便于所有人 快速調用大量計算能力,它可以改變軟件開發方式。換句話說,谷歌認為Docker可以讓所有人從事谷歌多年經營的事業。
谷歌工程師埃里克·布魯爾(Eric Brewer)表示:“谷歌和Docker可謂天生一對。在如何開發軟件方面,我們擁有相同的愿景。”
本周,在一場會議的主題演講中,布魯爾將公布谷歌云計算服務與Docker的全新整合方式,涉及的云服務包括Google App Engine和Google Compute Engine。在蓬勃發展的云計算市場,谷歌正努力追趕領軍者亞馬遜,新技術將推動谷歌云服務的發展。眾所周知,谷歌擁有谷歌搜索、Gmail等知名網絡應用,布魯爾的演講還將對Docker的發展起到巨大的推動作用。
鑒于布魯爾的身份,這則消息將產生特別的影響力。事實上,布魯爾就像是現代互聯網架構守護神。從谷歌和亞馬遜到Facebook和Twitter,當今的科技巨頭都在眾多廉價服務器上運行網絡服務,它們用各種軟件工具將大量小型機器轉變成一個龐大的整體。這似乎像打造倉庫那么大的計算機。面對不斷增加的現代網絡服務需求,這已經成為唯一的可行方法。一切的締造者正是埃里克·布魯爾。
上世紀90年代中期,作為加州大學伯克利分校計算機科學系教授,布魯爾開發了網絡搜索引擎Inktomi,Inktomi是首款運行于大規模廉價機器網絡的網絡搜索引擎。在接下來的20年里,谷歌、亞馬遜和Facebook將此理念發展到新的高度,它們都基于布魯爾提出的最為知名的觀點:CAP原理。該原理為此類大型系統提供了開發指導。
谷歌云服務產品經理克雷格·麥魯奇(Craig Mcluckie)表示:“追根溯源,他(布魯爾)是所有谷歌技術的鼻祖。”
如今,布魯爾還是谷歌內部的關鍵開發人員,為谷歌精英工程師團隊的一員。這意味著,在第一次重塑互聯網之后,布魯爾將為網絡架構領域帶來新一波技術革命。
實際上,布魯爾不會僅僅改進谷歌的全球數據中心。與亞馬遜、微軟等科技公司一樣,谷歌現在正在向軟件開發商提供云計算服務。如今,云計算服務為開發者帶來了極大的便捷,他們無需在數據中心調試自己的硬件,而在Docker的支持下,布魯爾希望為開發者帶來更多的便捷。
布魯爾表示,谷歌數據中心已經發展多年,Docker可以模擬谷歌數據中心技術,大量機器可以像一臺計算機一樣運行。Docker代表網絡軟件開發的未來。
超級集裝箱
Docker是一家舊金山小型初創開發的開源軟件。乍看起來,它顯得微不足道,但在硅谷工程師圈子里,它非常流行。eBay開發人員特德·德茲巴(Ted Dziuba)表示:“如果你認為簡化開發者生活是發展方向,那么Docker便是發展方向。”
Docker表示,超過1.4萬款應用已經采用其技術。布魯爾表示,自從數年前Ruby on Rails開發框架興起之后,沒有哪種技術像Docker一樣起步如此迅速,普及如此廣泛。
Docker依賴的技術已經問世多年。開源Linux系統早已提供“容器”方案,該方案可以隔離服務器上的不同任務。防止任務相互干擾。谷歌便基于這種理念提供眾多網絡服務,谷歌還花費多年時間優化服務的工作方式。但Docker可以將一臺機器的“容器”方便地轉移到另一臺機器。
布魯爾表示:“在便捷打包軟件和標準化部署軟件方面,Docker做得非常出色。Docker讓容器方案變得更加高效。”
Docker可以為開發者提供多種幫助。例如,開發者擁有一款桌面軟件,他無需加以改進,便可以讓軟件成為一款云服務。未來,Docker有望讓開發者更加方便地轉換應用,無需考慮應用運行環境,也無需考慮應用采用的云計算平臺。
Docker首席技術官所羅門·希克斯(Solomon Hykes)表示:“Docker技術可以讓機器互換。”云計算一直承諾,我們可以將互聯網當作一臺巨型計算機。但是,夢想從未照進現實。由于不同系統和不同云服務存在差異,轉移軟件其實非常困難。
更大的影響力
誠然,Docker無法在一夜之間改變這種狀況。首先,如果要運行Docker容器,每臺機器必須裝備一款附加軟件。盡管這款軟件旨在各版本Linux系統上具備相同的運行方式,但實際情況并非如此。
布魯爾表示:“軟件還不夠完美。谷歌和開發社區都在這方面加以改進。容器不一定可以在所有系統中運行。”
如果大型操作系統開發商和大型云服務也可以支持這項技術,我們就可以進跨入全新的云計算世界——所有云服務都有一致的部署方式。幸運的是,谷歌不是唯一支持Docker技術的科技公司。雖然規模尚小,但亞馬遜、Rackspace和Digtial Ocean的云服務都已經支持Docker。
從表面上看,Docker技術可以會影響谷歌云計算業務。理論上,Docker可以方便開發者從谷歌云計算平臺轉移應用。但谷歌意識到,Docker可以吸引更多的開發者使用谷歌云服務。
希克斯表示:“Docker技術對谷歌有利無弊,開發者可以輕松脫離谷歌云計算平臺,但谷歌因此吸引的客戶量會多于流失的客戶量。”
布魯爾表示:“對于開發而言,容器只是一個應用級視角,而不是機器級視角。顯然,應用級視角更加自然,而且可以贏得未來。”