天天看點

專訪技術達人Patrick Chanezon:如沖浪一般随時代而行,容器創造了截然不同的軟體構件模式

2013年Docker公司開源的容器項目令技術人們眼前一亮,在GitHub開源項目排行榜中迅速竄升;四年後,容器技術生态不斷發展壯大,雖然如何在企業生産環境使用還是一個挑戰,但是技術人始終堅信着容器會帶來的變革和産生的影響。

在Patrick Chanezon的杭州之行中,我們非常榮幸對他進行了采訪。

專訪技術達人Patrick Chanezon:如沖浪一般随時代而行,容器創造了截然不同的軟體構件模式

Q1:在加入Docker公司之前,您曾經在先後在Accenture、Netscape、AOL、Sun、Google、Microsoft等很多公司工作過,為什麼這樣選擇您的職業路線?似乎您每一次選擇的都是當時的IT熱門趨勢?

Patrick: 我很喜歡沖浪運動,沖浪時你需要預知下一個浪的到來;在網際網路領域中沖浪也是如此。在Accenture的時候,我感受到web的浪潮,于是我加入了NetScape,因為那裡可以建立web應用;後來加入Sun,是因為Java越來越普及也很強大,它的應用可以跑在任何地方;再後來,我看到Google的搜尋和廣告API很好,我就加入了Google先後做了搜尋、社交和雲計算方面的内容。

當我接觸到Docker的時候,我發現這是一個截然不同的軟體建構方式,在和Solomon溝通之後,我就決定開啟這個巧妙的旅程。

Docker是一項可以讓開發者們效率更高的新技術;在我看來,我們不應該過度沉浸于工作細節和具體操作中,而是要站在更高層去抽象化思考,這一點很重要并且令人受益,而Docker恰恰是可以幫助我們做到這一點的一項技術。

Q2:2015年加入Docker時,比起應用軟體,您說您感興趣的是基礎設施軟體?請問這兩種軟體有什麼不同?在提供企業級服務的過程中,有哪些困難?

Patrick: 在企業場景使用,你需要考慮角色控制,需要考慮安全,需要深入了解企業不同架構的詳情。2015年,我們開始做企業版,我們在中國和阿裡巴巴一同售賣Docker企業版。

Docker屬于基礎設施軟體的範疇,你需要用一個工具搭建起來一個平台,這個平台是要給開發人員和運維人員共同使用的,為了實作這一點,我們公司進行了相當大量的工作,并提供了Docker for mac和Docker for windows,Docker for mac深度定制并綁定了網絡等插件。接下來,還會有更多的功能置入。

那麼企業級平台都要考慮哪些呢?從開發角度來看,要考慮是否可以支援代碼的快速更疊、測試是否可以簡捷高效。由于企業級平台涉及軟體的生産化,這就需要考慮整個的軟體供應鍊,即從開發角度到運維角度。企業級基礎設施軟體需要可将公司整個的軟體生産流程自動化。

那麼容器的作用是什麼呢?首先從開發角度可以将應用鏡像打包,并使用簽名加簽之後放入鏡像倉庫。而對于運維而言,則涉及到很多不同的架構(大型機、windows系、Linux系等),這些Docker都考慮到了,會搜尋後端架構然後進行配套支援,使用者需要在這之上加入一個控制層,讓團隊成員看到需要的資訊,然後共同協作,即開發和運維在一起。同時,根據開發組、測試組、運維組的不同工作内容,可以看到不同的鏡像。

Q3: 2015年的時候Mesos勢頭很強,但是現在卻沒有那麼頻繁地被提及了,您怎麼看待呢?

Patrick: Docker要比Mesos範圍更大,Mesos是專門用來做大資料、流處理的編排系統。

Docker是從容器技術開始,然後添加更多的功能以實作DevOps。最重要的是與使用者的需求共進,比如我們的一個舉措就是将Docker子產品化、分散化。

Docker發展的前兩年,我們增加的是功能;最近兩年,我們是Moby化,我們重構了docker項目,然後把containerd捐贈給CNCF。Moby現在就有很多分散的子產品,可以用小的子產品化去拼接。這對于使用不同系統(different type of system)的使用者而言很重要,除了需要建構雲原生架構的,比如IoT可以直接用元件,containerd、LinuxKit去以他們自己的方式內建。期望Moby可以越來越好,可以幫助大家用Moby的工具元件去創造将來他們需要的工具。

Q4: 但是您怎樣看待Moby釋出之後,社群中的誤解和抱怨?

Patrick: Moby面向的是完全不同的群體——系統的建構者,他們可以選用Moby元件按照各自特定的需求去建設不同容器平台。社群之是以會有抱怨,在我看來,可能是因為大家當時都是期望聽到都是Docker項目的新功能新特性,也就是Docker CE和Docker EE的相關平台類的内容。

雖然目前Docker大多數的開發者都是使用Docker EE或者Docker CE,可能他們不是很關心Moby項目;但是對于開源項目而言,這是一個重大的變革,我們必須把這個消息在DockerCon上釋出。

Q5: Kubernetes最近發展迅速,從Kubernetes身上我們能學到什麼?

Patrick: Kubernetes是一個非常優秀的項目,由Google開發并捐贈給了CNCF基金會。值得一提的是Docker也是CNCF的創始成員,Kubernetes實際上是在DockerCon2014釋出的。

我們雙方已經在很多領域都進行合作:一個例子是containerd,最小化的runtime,這是已經贈給OCI的标準,已經被Kubernetes、Swarm采用;另外一個例子是大家都知道Docker的網絡規範是CNM,而Kubernetes則是CNI,但是在剛剛結束的北美Moby Summit,我們示範了一個CNI插件的使用。

在10月17日的丹麥DockerCon上,Docker公司宣布Docker平台可以支援Kubernetes、Swarm雙編排系統。Docker認為使用者們有選擇編排系統的自由,Swarm是我們專門為企業設計的産品,而早期的Kubernetes并不滿足企業級别的安全需求(不過現在情況有所好轉)。

Q6:Docker公司的特色是什麼?你們怎麼樣能做到與衆不同呢?

Patrick: Docker可以适用所有的環境,大型機、windows、linux系列,實體機、虛機、各種編排系統和雲等,這是目前唯一一個可以做到這點的容器平台。

Docker的另外一個特點是Modernize Traditional Apps(MTA),除了微服務架構之外,Docker還适用于傳統型架構的容器化改造。

Q7:你怎麼展望未來呢?二年、五年和十年?

Patrick: 未來兩年,我希望Docker在更多的企業中被應用,幫助他們現代化。

未來五年,在雲原生和企業架構之外,我希望可以看到Docker累積更多的客戶實踐用例。尤其是IoT、無人機、機器人。自改造成Moby項目,我們和很多的有特定需求的IoT廠商、開發者進行了密切的溝通,不過現在還尚不能公開的使用案例。

至于未來十年,這對于IT領域,真的很難猜測。