布魯爾表示,谷歌數(shù)據(jù)中心已經(jīng)發(fā)展多年,Docker可以模擬谷歌數(shù)據(jù)中心技術(shù),大量機器可以像一臺計算機一樣運行。Docker代表網(wǎng)絡(luò)軟件開發(fā)的未來。
超級集裝箱
Docker是一家舊金山小型初創(chuàng)開發(fā)的開源軟件。乍看起來,它顯得微不足道,但在硅谷工程師圈子里,它非常流行。eBay開發(fā)人員特德·德茲巴(Ted Dziuba)表示:“如果你認為簡化開發(fā)者生活是發(fā)展方向,那么Docker便是發(fā)展方向。”
Docker表示,超過1.4萬款應(yīng)用已經(jīng)采用其技術(shù)。布魯爾表示,自從數(shù)年前Ruby on Rails開發(fā)框架興起之后,沒有哪種技術(shù)像Docker一樣起步如此迅速,普及如此廣泛。
Docker依賴的技術(shù)已經(jīng)問世多年。開源Linux系統(tǒng)早已提供“容器”方案,該方案可以隔離服務(wù)器上的不同任務(wù)。防止任務(wù)相互干擾。谷歌便基于這種理念提供眾多網(wǎng)絡(luò)服務(wù),谷歌還花費多年時間優(yōu)化服務(wù)的工作方式。但Docker可以將一臺機器的“容器”方便地轉(zhuǎn)移到另一臺機器。
布魯爾表示:“在便捷打包軟件和標準化部署軟件方面,Docker做得非常出色。Docker讓容器方案變得更加高效。”
Docker可以為開發(fā)者提供多種幫助。例如,開發(fā)者擁有一款桌面軟件,他無需加以改進,便可以讓軟件成為一款云服務(wù)。未來,Docker有望讓開發(fā)者更加方便地轉(zhuǎn)換應(yīng)用,無需考慮應(yīng)用運行環(huán)境,也無需考慮應(yīng)用采用的云計算平臺。
Docker首席技術(shù)官所羅門·?怂梗⊿olomon Hykes)表示:“Docker技術(shù)可以讓機器互換。”云計算一直承諾,我們可以將互聯(lián)網(wǎng)當作一臺巨型計算機。但是,夢想從未照進現(xiàn)實。由于不同系統(tǒng)和不同云服務(wù)存在差異,轉(zhuǎn)移軟件其實非常困難。
更大的影響力
誠然,Docker無法在一夜之間改變這種狀況。首先,如果要運行Docker容器,每臺機器必須裝備一款附加軟件。盡管這款軟件旨在各版本Linux系統(tǒng)上具備相同的運行方式,但實際情況并非如此。
布魯爾表示:“軟件還不夠完美。谷歌和開發(fā)社區(qū)都在這方面加以改進。容器不一定可以在所有系統(tǒng)中運行。”
如果大型操作系統(tǒng)開發(fā)商和大型云服務(wù)也可以支持這項技術(shù),我們就可以進跨入全新的云計算世界——所有云服務(wù)都有一致的部署方式。幸運的是,谷歌不是唯一支持Docker技術(shù)的科技公司。雖然規(guī)模尚小,但亞馬遜、Rackspace和Digtial Ocean的云服務(wù)都已經(jīng)支持Docker。
從表面上看,Docker技術(shù)可以會影響谷歌云計算業(yè)務(wù)。理論上,Docker可以方便開發(fā)者從谷歌云計算平臺轉(zhuǎn)移應(yīng)用。但谷歌意識到,Docker可以吸引更多的開發(fā)者使用谷歌云服務(wù)。
?怂贡硎荆“Docker技術(shù)對谷歌有利無弊,開發(fā)者可以輕松脫離谷歌云計算平臺,但谷歌因此吸引的客戶量會多于流失的客戶量。”
布魯爾表示:“對于開發(fā)而言,容器只是一個應(yīng)用級視角,而不是機器級視角。顯然,應(yīng)用級視角更加自然,而且可以贏得未來。”