作為Docker社區的核心成員,同時也是IBM開源,雲計算專家Doug Davis一直致力於領導IBM團隊為Docker項目作出開源貢獻,還代表公司參與了Linux基金會新設立的OCI和CNCF項目。在IBM Linux on Power生態聯盟開發者大會召開前夕,Doug Davis接受了CSDN記者的專訪。在專訪中,他為我們介紹了Docker社區目前的情況,以及Docker和Linux on Power的結合會給開發者帶來哪些好處,最後他還為Docker社區貢獻代碼的開發者給出了建議。
以下是採訪實錄:
CSDN:首先介紹下自己,您是什麼時候開始關注 Docker 的?
Doug Davis:我是 Doug Davis,在IBM 雲計算部門從事多年的技術支持,主要是開源與標準方面的事務。我一直為一些組織比如:W3C、OASIS和 Apache 開展開源與標準方面的工作,至今已經有15年的歷史了。大概一年前,我開始著手研究 Docker,是IBM 首批選出的該項目維護人員。從那以後,我一直領導 IBM 相關團隊為Docker 項目作出開源貢獻,還代表公司參與了 Linux 基金會新設立的OCI 和 CNCF 項目。
CSDN:Docker 最吸引您的地方有哪些?
Doug Davis:易用性。容器已經存在很長一段時間了,但直到 Docker 問世,容器才真正變得容易被普通人獲取。Docker 社區花了很多時間,確保其易安裝、易使用。一條命令即可完成安裝,一個命令即可實現「hello world」示例。也正是這種易用性,將其整合進我現有的持續集成管線中是一件輕而易舉的事性,並很容易與其它 Linux 標準命令相匹配。
CSDN:目前的 Docker 社區情況如何,能和大家詳細談談嗎?
Doug Davis:Docker社區是我所參與的開源社會中比較開放並熱情的開源社區。在很多項目中,除非你是資深開發人員,否則你所提議的更改或問題很難得到理會。而在 Docker,他們專門提攜新人,解決社區提出的問題與建議。和一開始由一家公司控制的很多開源項目一樣,外界也會對此產生一定程度的擔心,但是 Docker 將更多的工作開放給新設立的 OCI 和 CNCF 基金會,我認為這種更開放的管理模式會減輕一部分擔心。
CSDN:您認為Docker的核心到底是什麼?
Doug Davis:容器管理使得事半功倍。Docker 的核心就是要讓用戶花最少的力氣創建、管理容器。另外,他們還注重性能,因此能更好的利用託管環境中的資源,允許運行更多容器,並迅速啟動。
CSDN:您認為企業在使用Docker過程中,最大的困難是什麼?
Doug Davis:可能更多是對安全的擔心。同任何新技術一樣,都會存在不確定性,導致人們擔心不安全——直到其安全性得到證明。因此,Docker 存在一些安全問題,這些問題也正在得到解決,不過真正的挑戰是要讓人們從安全角度順理成章地接受這種技術。
CSDN:從您的角度出發,認為Docker目前最需要解決的挑戰有哪些?有好的解決辦法嗎?
Doug Davis:首先一點就是我剛才提到的安全問題,不過社區正在解決。有些工作應該很快就會完成,到時會對此有所幫助。其次,也是我剛才提到過的,就是管理模式。今天,Docker 很大程度上還是由一家公司控制,希望隨著時間推移,更多 Docker 特性加入新項目/基金會,未來會看到社區在決定 Docker 事務方面起到更大作用。
CSDN:談談您在這次IBM大會上分享的主題吧?
Doug Davis:我所講的主題有關於 Docker 歷史、Docker為何如此特別、為何如此受歡迎、在將 Docker 帶到Power 平臺過程中我們做了哪些工作。
CSDN:您覺得Docker和Linuxon Power的結合,會給開發者帶來哪些好處?
Doug Davis:首先,需要說明的是,從用戶交互角度講,Docker 在Power 平臺和在其它任何平臺運行沒有分別。客戶應該能夠利用現有工具使用 Docker,而無需因為平臺特殊而要作出改變。其次,從性能方面來講,這也意味著使用 Docker on Power 的優勢。IBM為優化 Docker on Power 做了大量工作,容量增加(更多容器/主機),提升速度/性能,因為有了比其它平臺更多的存儲帶寬及更大緩存。
CSDN:對於IBM Linux on Power生態聯盟的成立,您覺得會給開源社區和開源技術帶來哪些改變?
Doug Davis:我認為一旦 OCI 和CNCF 項目真正開始樹立起自身地位,未來會看到更開放的管理模式。這也使得項目更安全、可具有長期穩定性,因為這不再僅僅是一家公司的計劃或成功。
CSDN:在為Docker社區貢獻代碼等方面,您有什麼經驗分享給大家?
Doug Davis:一年前我開始為社區貢獻代碼。IBM 在加入開源項目時不會大張旗鼓。按照IBM的規模,它加入某一項目的想法會嚇到一些人—— 如果我們一大群人猛然出現在一個項目中,並提出大量建議,很可能不會受到積極對待。相反,我們希望默默地加入,解決積壓的未決問題。查看社區其他人的痛點。基本上是顯示我們而不是IBM在為社區服務。隨著時間推移,我們肯定會按 IBM 的需要對代碼更改作出提議,因為我們會在產品方案中整合代碼,不過在此之前,我們會學習社區如何運轉、喜好/反感什麼、採用某些特性的指導、最重要的是我們成為整個團隊中的一分子,贏得他們的信任。以 Docker 為例,社區對我們持歡迎態度,我們目前有兩名核心貢獻者及一個開發小組,專門從事 Docker 方面的工作。
CSDN:給希望從事開源學習以及Docker開發的工程師們一些建議吧?
Doug Davis:正如我在之前問題中提到的一樣,從小做起。先從簡單問題入手。文件更改是了解一個項目、為社區作貢獻的好辦法,因為這將使新人更容易入門。然後看一下社區積壓的問題。幫助他們解決這些問題,這樣社區才有時間精力開發新特性、修正錯誤,使社區成員開心。最後,當你確實想要建議新特性時,尋求以增循序漸進的方式進行。小的變化更容易得到接受。