2年前,3月16日在Pycon一場5分多鐘的閃電秀中,穿著doccloud黑色T恤的Solomon Hykes,他首度向世界介紹這個名為Docker的Linux Container技術,沒想到Linux Containers未來的5分鐘演講,卻掀起了全球IT架構顛覆性的變革。短短兩年間來,Docker技術席捲全球IT界,各大IT廠商紛紛靠攏、Google、Red Hat、Amazon、VMware、甚至連微軟都要再下一版Windows Server作業系統中內建。

想瞧瞧兩年前這場顛覆未來IT世界的5分鐘閃電秀,請看

 

為了慶祝Docker滿2週年生日,Docker也舉辦了一系列的開源松活動(open-source-a-thon),這是一系列的開源開發者聚會。另外也發起募款給海洋協會,作為保護Docker Logo上的吉祥物Moby Dock的物種,也就是藍鯨的棲息地,甚至準備認養一頭真的母藍鯨,命名為Molly Dock來作為Moby Dock的伴侶。

Docker技術長Solomon Hykes也以自問自答的Q&A方式,揭露了他對Docker未來的期許。

你對Docker的生日願望是什麼?

我的願望是希望繼續實現社群給我們的機會。我們的初衷是打造創新工具,而現在我們正在履行這個承諾。Docker目前有數百萬的使用者、成千上萬的工具開發者,及許多人直接貢獻他們的程式庫(Code Base)。看到社群中這麼多使用者投注心力使用並且改善Docker,我們有義務持續解決程式碼碎片化(Fragmentation)問題,並努力打造工具給使用者進行分散式應用程式開發。我們會繼續履行我們的承諾,並不因滿足現況而停止進步。

Docker目前正解決哪些問題?

目前我們碰到的問題是開發者缺乏工具來開發新的分散式應用。分散式應用並不單獨存在於特定一部電腦中運作,反之,這些應用程式由許多不同類型的元件所組成,必須透過網路把它們串連起來,才能發揮效用。目前我們還沒有恰當的工具來打造、派送及執行這類程式。Docker想打造如樂高般的基本元件,來解決這些問題。透過Container技術,將軟體元件從硬體中解放出來,使軟體變成可移動的、可攜的形式。除此之外,Docker也會提供所需的工具及介面,讓使用者能將這些元件拼成自己想要的分散式應用程式。

回想兩年前你在Pycon上發表Docker至今,你覺得Docker成功的關鍵是什麼?

在一個想法成功及獲得採用前,要花一些時間建立、培養核心社群。我想Docker會在短時間內獲得如此迴響,是因為Docker提出的概念及想解決的問題已經存在許久。每個開發者都覺得似乎哪邊不對勁,卻無法清楚地點出問題所在,但其實解答已經擺在他們眼前:早已存在的Container技術及開發者使用Container技術開發相關的工具。Docker的不同之處在於,提出了一套能夠實現可攜性的作法,並提供開發者易於使用的經驗。我們能如此成功,是因為這套解決方案一直在社群中被提出、討論,Docker只是剛好成為使用一套新方法去處理分散式應用程式的催化劑。

這兩年來,什麼事情最讓你驚訝?

最讓我驚訝的是,在我們不斷向前進的同時,我們也提出了解決開發社群內常見程式版本碎片化問題的願景。我們都了解使用者並不樂見碎片化的情況,而唯一缺乏的是大家對於由開發者創造工具給開發者是否有共識。萬事具備,只欠我們何時下定決心,讓開發者去打造開發工具。後來一個接著一個工程師決定不再單打獨鬥,選擇加入我們,並傾注心力及技術打造標準化的工具/形式,徹底解決使用者及碎片化的問題。

你會怎麼描述Docker生態系中的協作關係?

當我們談論生態系、使用者及兩者的關係時,其實兩者的關係並非是黑白分明的。因為使用者開發應用程式的同時,也需要適當的開發工具,要不是找到一個符合你需求的工具,要不就得修改現有的工具。因為我們需要工具才能開發軟體。在這個過程中,開發者會了解到自己修改後的工具對於其他人也非常有用,因為大家都會碰到類似的特殊需求。許多軟體工具由軟體專案開始,透過開源的方式散布及重複利用。分散式應用的設計可以將軟體打散成許多元件,元件與元件之間能彼此連結,來創造更多重複利用的機會。當你使用Docker打造你的架構,就像是用標準的樂高積木來建置架構,可以很輕易地重複利用某些特定的樂高積木。這樣一來,你可以更輕鬆地分享你打造出來的新工具,其他人也能重複使用這些工具。這是一股熱潮,我們對Docker的目標就是持續加溫這股熱潮。而什麼樣的人才能成為Docker生態系一員呢?其實不難,只要你不論是基於無償或有償的原因來開發工具,並決定把它分享給其他Docker使用者,那你就是了。總而言之,如果你是Docker生態系中的工具開發者,即便一開始只有開發自己的軟體,你與其他開發者都有個共同之處,那就是某種程度上你正在使用Docker開發並且回饋成果給Docker。不論是貢獻修補程式或是使用者經驗等,你都可以算是Docker的使用者並樂於分享自己的成果。我們希望盡量幫助我們的使用者。

為何開源與分散式應用程式很登對?

開源如此特別的地方在於,它可以被其他開發者取得,並讓使用者針對自己的需求去修改。我可以把修改的部份分享給其他人,這對於其他開發者的生產是非常有幫助的。現在我們能提供更適當的工具給開發者進行分散式應用開發。當你開發分散式應用時能利用開源上的自由度,來放大自己的影響力。每一個分散式應用都是可組裝、可分解的程式,等待著新開源工具或服務,讓它變得更加強大。

 

熱門新聞

Advertisement