摘要:年我們開始專注于開源云計算技術(shù),當(dāng)時開源的力量正在逐漸浮現(xiàn)。問你現(xiàn)在在實驗室的工作是什么我主要負責(zé)實驗室云計算團隊的技術(shù)工作,以及與技術(shù)相關(guān)的其他事宜,包括開源以及一些商業(yè)上的技術(shù)合作。
非商業(yè)轉(zhuǎn)載請注明作譯者、出處,并保留本文的原始鏈接:http://www.ituring.com.cn/article/203520
張磊,浙江大學(xué)計算機學(xué)院博士生,科研人員,VLIS實驗室云計算組技術(shù)負責(zé)人、策劃人。Kubernetes項目貢獻者和維護者,Docker項目貢獻者。前Cloud Foundry中國團隊和百度私有云項目組成員。InfoQ、CSDN、《程序員》雜志等多篇浙大系技術(shù)文章的貢獻者和策劃人,他還是《Docker——容器與容器云》一書的主要作者之一。
問:你現(xiàn)在的目標是成為一位計算機科學(xué)家嗎?
是。
問:你是從什么時候開始想成為一位計算機科學(xué)家的?
大概是由于中學(xué)時候就開始玩電腦,然后自然而然就進入了計算機專業(yè)。由于我的興趣主要在云計算以及Linux操作系統(tǒng)上,所以我的導(dǎo)師跟課題都是跟這些相關(guān)的。
2011年我們開始專注于開源云計算技術(shù),當(dāng)時開源的力量正在逐漸浮現(xiàn)。后來事實證明我們對趨勢的判斷是對的,因為從那個時候開始,軟件的開發(fā)和發(fā)布以及整個生命周期就發(fā)生了改變。從此以后,可以說開源技術(shù)掌握了云計算行業(yè),甚至是整個計算機行業(yè)的主流發(fā)展態(tài)勢。于是,我們開始更深入地鉆研Cloud Foundry, Docker, Kubernetes這樣的技術(shù),并且作為這些項目的貢獻者成為了社區(qū)中的重要成員。
問:你認為在云計算領(lǐng)域,學(xué)術(shù)跟產(chǎn)業(yè)之間有沒有明確的界限?
首先,云計算這個領(lǐng)域本身就比較特殊,它其實沒有很多基礎(chǔ)性研究,所以這個領(lǐng)域的學(xué)術(shù)跟工業(yè)是分不開的,中間沒有一個明顯的界限。比如,伯克利的AMP實驗室做的一套高性能數(shù)據(jù)分析系統(tǒng),最終開源出去就變成現(xiàn)在的明星項目Spark,成為工業(yè)界大數(shù)據(jù)的事實標準。在這些領(lǐng)域中,沒有任何一個界限能夠劃定哪些技術(shù)是學(xué)術(shù)的,而工業(yè)界不能用。因為云計算本來就是“站在巨人肩膀上”的一種技術(shù),它基于已有的分布式系統(tǒng)來做進一步的創(chuàng)新和整合。
問:你現(xiàn)在在SEL實驗室的工作是什么?
我主要負責(zé)實驗室云計算團隊的技術(shù)工作 ,以及與技術(shù)相關(guān)的其他事宜,包括開源以及一些商業(yè)上的技術(shù)合作。
問:SEL實驗室的前身是VLIS實驗室,當(dāng)初建立VLIS實驗室的目的是什么?現(xiàn)在SEL實驗室的關(guān)注點有沒有變化?
我們實驗室最開始的研究方向就是軟件工程以及計算機軟件。實驗室一開始就注重從學(xué)校的角度跟知名企業(yè)建立強強聯(lián)合的關(guān)系,致力于為工業(yè)界提供最好的大規(guī)模信息系統(tǒng)的開發(fā)技術(shù)和能力。在那個時候,我們的主要關(guān)注點是金融信息系統(tǒng)的開發(fā),并且同全球最大的資金托管機構(gòu)美國道富銀行建立了緊密的合作研發(fā)關(guān)系。從這個時候開始,我們向工業(yè)界輸出了大量的技術(shù)能力,整個北美市場的股票交易系統(tǒng)的后臺都是我們實驗室?guī)熒鷧⑴c重新開發(fā)的。而軟件技術(shù)發(fā)展到現(xiàn)在,新一代的大規(guī)模分布式系統(tǒng)開始更多地以知名開源項目作為表現(xiàn)形式,這些技術(shù)也就自然成為我們新的關(guān)注點。其中最重要的還是云計算技術(shù),但是我們略有側(cè)重,更關(guān)注輕量化的云計算技術(shù),我們認為這將是一個新的變革。
問:你們實驗室跟Cloud Foundry還有百度、思科等知名企業(yè)都是以什么形式合作的?
首先肯定有人才上的合作,因為學(xué)校本來是人才,我們會選擇一些從事這個方向的優(yōu)秀的學(xué)生,聯(lián)合工業(yè)界的公司,比如去道富,VMware,思科總部或者百度等等,完成一個以技術(shù)研究為核心,以實際開發(fā)為途徑的長期合作學(xué)習(xí)的過程。學(xué)生不是實習(xí)幾個月然后回來,而是從開始到畢業(yè),從研究的方向到最后的畢業(yè)論文都跟這些公司的真實技術(shù)場景緊密相關(guān),并且專注于這些IT巨頭的核心技術(shù)以及云計算平臺的開發(fā)和研究工作。
問:你們實驗室為什么在Docker還不太完善的時候就敢去嘗試這種技術(shù)?
容器技術(shù)不是一種新技術(shù),它其實很早就存在了。在此之前,我們搞Linux內(nèi)核的時候已經(jīng)用過類似的技術(shù),而且做PaaS用到的技術(shù)也是基于Linux容器的,所以我們團隊很久以前就對這種技術(shù)有過很多接觸和研究。2013年的時候,我們同學(xué)主要在從事的是VMware的Warden容器的研發(fā),緊接著Docker就出現(xiàn)了,并且比前一代容器技術(shù)要完善很多,所以我們就自然而然地轉(zhuǎn)到了Docker上。這就是為什么Docker一出現(xiàn)就會引起我們的關(guān)注。輕量化的云計算技術(shù)一定會以這樣的方式實現(xiàn),只不過實現(xiàn)不同,而我們肯定會選擇更好的實現(xiàn)。
問:你本人是怎么成為Kubernetes和Docker項目的貢獻者的?
我是從Cloud Foundry團隊出來的,而Cloud Foundry是一個純粹的開源項目,它沒有市場人員和項目經(jīng)理這樣的角色來干擾工程師的工作,所有貢獻者都是通過遠程協(xié)作和結(jié)對編程來貢獻代碼的。我,以及我們實驗室的大多數(shù)同學(xué)從一開始就是這樣一種工作模式,所以對于我們來說,參與開源項目是很自然的,而且我們也不像其他公司那樣尋求互等的商業(yè)利益。
我們認為開源項目是一定要參與的,不僅要參與,還要學(xué)會主導(dǎo)項目的方向,成為維護者和更重要的核心代碼貢獻者。我剛才講過,我們的愿景就是要基于開源軟件做事情,做研究也好,做進一步的商業(yè)活動也好,一定要進入到社區(qū)里面,而不僅僅是一個使用者。
問:Docker一直存在安全方面的問題,在這方面你有哪些經(jīng)驗可以和大家分享?
我也在《Docker——容器和容器云》里提到過,Docker本身確實有安全問題,但是一定要分場景討論。比如,什么樣的場景下我會在一臺裸機上部署Docker;什么樣的場景下我會讓Docker容器跑在虛擬機里面。在目前這種情況下,如果你是一個公有云提供商,我認為你還是要把容器拷在你的虛擬機里面,防止出現(xiàn)逃逸狀況。
我們在書里講過,你的Docker容器和整個Docker Daemon環(huán)境最好做安全加固,在操作系統(tǒng)層面做很多加固,設(shè)置權(quán)限,并且在整個系統(tǒng)的設(shè)計上把權(quán)限設(shè)計和授權(quán)設(shè)計擺在第一位,逐層來把不正確的行為過濾掉。另外,一定要區(qū)分場景。對于私有云的話,安全要求滿足第一點就可以了。但是對于公有云來說,一定要做最高等級的安全預(yù)案。
以上是從業(yè)務(wù)方面講,但是從技術(shù)方面講,容器本身的安全問題是很難解決的,但是有一些努力的方向非常值得我們關(guān)注。比如最新的Rocket集成了英特爾在CPU上的一些虛擬化技術(shù)來做到硬件加固,這就是等級很高的安全技術(shù)。另外還有像國內(nèi)趙鵬他們做的Hyper,是一個基于虛擬化技術(shù)的容器,它跟虛擬機的安全系數(shù)幾乎是一樣的。所以我覺得從另一方面說,這些技術(shù)應(yīng)該得到大家的重視,并且集成到我們現(xiàn)有的解決方案里面。
問:現(xiàn)在在生產(chǎn)環(huán)境中使用Docker的人還是不太多,其背后的原因多種多樣,你認為現(xiàn)在Docker面臨的最大的阻礙是什么?
第一個問題在于Docker所屬公司本身的強勢,以及他們自己想做一攬子事情的態(tài)度。這個問題使得Docker現(xiàn)在變得非常臃腫,而且導(dǎo)致本來應(yīng)該專注解決的問題沒有解決掉。如果他們投入主要力量來解決容器的安全問題,我覺得反而要比現(xiàn)在的態(tài)勢好。
第二,我們使用Docker也好,對它做二次開發(fā)也好,其實我們不要把自己的眼光局限在Docker上面。讓Docker只做容器的事情其實是最好的選擇,其余的事情交給更專業(yè)的人。我們不要過分相信來自某些商業(yè)化的宣傳,比如一個人或者一個團隊就能完成從開發(fā)到部署到運維的所有流程。哪怕你一開始可以,但是隨著業(yè)務(wù)的正常增長,技術(shù)發(fā)展到一定程度之后你一定是做不到的。所以一定是專業(yè)的人做專業(yè)的事。
問:Docker和CoreOS一起創(chuàng)立了一個開放容器計劃(OCP)。你認為OCP的成立對于軟件開發(fā)行業(yè)會造成什么影響?
容器鏡像不單指Docker鏡像,它很久之前就已經(jīng)存在了。容器鏡像作為一種軟件的發(fā)布方式,現(xiàn)在已經(jīng)得到了大家的認可,成為了行業(yè)的事實標準。并且由于容器鏡像本身已經(jīng)存在了很久,所以它本身標準的普及是比較容易的。所以O(shè)CP的成立其實是為這種鏡像發(fā)布的方式提供了一個技術(shù)上的標準。
以前,這一套東西雖然可以做標準,但是沒有技術(shù)來支撐它,現(xiàn)在有了。我們通過標準容器來支撐標準鏡像。所以,這兩個標準如果能夠在OCP里面得到統(tǒng)一,我相信它對整個軟件工程將來的發(fā)展都是有很大影響的。我們現(xiàn)在學(xué)校的課程里就已經(jīng)引入了完全基于容器的軟件工程設(shè)計模式,谷歌也提出了基于容器的編程模型,將來的軟件工程一定會向這方向發(fā)展。
問:你有一篇文章叫做《從Borg到Kubernetes》。你覺得Kubernetes今后的發(fā)展會怎么樣?它和Mesos分別會向什么方向發(fā)展?
我們最近也跟谷歌的人一起交流了很久,首先,Kubernetes確實背負了很多Borg之前的優(yōu)秀的設(shè)計理念,其中包括Borg在谷歌內(nèi)部大規(guī)模集群業(yè)務(wù)的應(yīng)用。雖然現(xiàn)在還有一些應(yīng)用我們看不到,但是Kubernetes將來的發(fā)展目標一定是用來解決這些問題。
Mesos和Kubernetes在一開始發(fā)展時其實是非常直接的競爭對手,因為這兩者關(guān)注的事情有很多是一致的。但是隨著這兩個項目的繼續(xù)發(fā)展,它們已經(jīng)形成了合作關(guān)系。比如,Mesos本來就是一個優(yōu)秀的調(diào)度器,那么接下來Mesos會更關(guān)注這個業(yè)務(wù)。并且Mesos可以被更方便地集成到Kubernetes里,作為Kubernetes的一個核心調(diào)度器來工作。
這兩個項目現(xiàn)在的關(guān)注點其實是不一樣的,使用的場景也不一樣。在今后的發(fā)展中,它們會逐漸融合對方的優(yōu)點。互相之間的集成會越來越多,互相之間的重合會越來越少。
問:學(xué)術(shù)跟產(chǎn)業(yè)之間的脫軌問題一直以來經(jīng)常被人們所詬病,浙大在這方面做得很不錯,有沒有什么經(jīng)驗可以分享?
首先,作為一所學(xué)校,要學(xué)會如何在我們國家的體制下,在不影響正常的教學(xué)、科研的前提下,獲得企業(yè)的支持。學(xué)校需要鼓勵學(xué)生在看似枯燥的學(xué)業(yè)中找到真正的個人興趣點。比如我們實驗室就涌現(xiàn)出了非常多的代碼貢獻者、作者、領(lǐng)域內(nèi)的小專家。因為我們實驗室從一開始就鼓勵個人發(fā)展自己的興趣,并且鼓勵同學(xué)向大家分享你的工作成果。這樣,工業(yè)界會自然而然地關(guān)注過來,合作也接踵而至。
另一方面,如果學(xué)校自身的硬件條件很強,技術(shù)水平很高的話,學(xué)校就可以為工業(yè)界做出很多貢獻,無論是開源貢獻,還是參與到工業(yè)的開發(fā)。并且還有一點很重要,就是學(xué)校要想辦法把實驗室的技術(shù)和研究經(jīng)驗轉(zhuǎn)化成工程上可以應(yīng)用到增值需求里的東西,而不只是埋頭寫論文。所以,我們實驗室在碩士生階段,不會提出苛刻的論文要求。我們更希望你的論文是對一個開源項目的貢獻,或者是我們和產(chǎn)業(yè)界合作的課題的相關(guān)實際工程經(jīng)驗。
同時,我們也在浙大試點了一個學(xué)院,整個軟件學(xué)院在以更加工程的方式推動科研的走向。我們課題組從十年前開始做這樣的事情,所以學(xué)術(shù)跟產(chǎn)業(yè)之間的脫軌問題我們這邊幾乎是沒有的。
問:浙大有這么好的環(huán)境,但是很多其他大學(xué)沒有能力提供這樣的環(huán)境。你建議在一般大學(xué)學(xué)習(xí)的學(xué)生怎樣來豐富自己的專業(yè)知識?
首先對于一個學(xué)生,尤其是CS專業(yè)的學(xué)生,我認為實習(xí)是最重要的。你一定要想辦法在跟導(dǎo)師融洽相處的前提下,尋求到與自己專業(yè)相關(guān)的實習(xí)機會,并且珍惜這些機會,因為實習(xí)能夠使你的專業(yè)技能得到鍛煉。并且你應(yīng)該想辦法把實習(xí)轉(zhuǎn)化成畢業(yè)論文,或者是學(xué)校要求的課程設(shè)計。這樣的經(jīng)歷會對你在工業(yè)界的影響力也好,工作也好,起到很大的積極作用。
問:你認為學(xué)習(xí)Docker需要幾個階段?
我們在書的后記里面講過,不止是Docker,對于任何一個開源項目來說,都有這樣的三個或四個階段。
首先,你要去用,而且不只要用,還要變成一個優(yōu)秀的玩家。對于開源項目的所有指令、所有設(shè)計,你應(yīng)該有一個感性認識。
在這個基礎(chǔ)之上就是源碼,要讀源碼。讀源碼是一件非常有意思的事,但是在這個過程中,你要學(xué)會提問,帶著問題去讀源碼,才會有收獲。
然后就是轉(zhuǎn)化,轉(zhuǎn)化包括幾種情況。比如,你可以將容器技術(shù)轉(zhuǎn)化成你們實驗室的某個項目的基礎(chǔ)或者工作中的整個項目。另外,你要學(xué)會對項目做貢獻。從最開始的找bug、解決bug、修改文檔,到最后提出自己的特性、融入到社區(qū)里,只有這樣你才能夠獲得最多的知識,以最快的速度提高自己在這個領(lǐng)域中的能力。
這三步之后,如果你在這個方面做得更多,可以考慮一些商業(yè)化的事情。比如你可以做一些相關(guān)的買賣,或者在你的公司里推廣這些開源技術(shù)。
問:你覺得讀者應(yīng)該怎樣使用《Docker——容器和容器云》這本書,讀者在哪個階段需要用到這本書?
這本書應(yīng)該更適合在第二或第三階段閱讀。
這本書的一個特點就是它傾向于把原理幫你從源碼中抽象出來,而不僅僅帶你走讀代碼。因為代碼很快會過時,所以我們特別注重抽象原理。在第三階段的時候,你要去做開發(fā),所以你對技術(shù)的熟悉程度和原理必然要有一個深刻的認識。而這本書的很多實踐章節(jié),包括我們對代碼的整個框架結(jié)構(gòu)的分析,會對你有很大的幫助。
問:《Docker——容器和容器云》的關(guān)注點和其他類似的書有什么不同?
首先,我們不認為容器就是Docker,我們認為它只是容器技術(shù)一種優(yōu)秀的實現(xiàn)。所以我們的書叫《Docker——容器與容器云》,我們更關(guān)注所有基于容器的云平臺的實現(xiàn)方式。你可以把容器理解為我們現(xiàn)在的虛擬機,把容器云理解為OpenStack,所以我們這本書肯定要先講虛擬機原理,以此為基礎(chǔ)我們才能講清楚容器云,也就是容器的大規(guī)模管理方式。
很多目前市面上的書只關(guān)注于Docker本身,而我們更關(guān)注Docker背后的libcontainer也就是runc的工作原理,于此同時,我們還非常關(guān)注所謂的容器技術(shù)與大規(guī)模容器集群管理的結(jié)合方式。我們非常想為大家解決的一個問題就是,真正的大規(guī)模容器集群管理應(yīng)該是什么樣的。我們認為Kubernetes現(xiàn)在的方向是非常好的,所以在書中我們對它做了一個非常詳細深入的解讀,這在國內(nèi)外應(yīng)該是首次,而且從谷歌和CoreOS工程師的反饋來看,甚至在國外可能也是第一次。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/25141.html
摘要:年我們開始專注于開源云計算技術(shù),當(dāng)時開源的力量正在逐漸浮現(xiàn)。問你現(xiàn)在在實驗室的工作是什么我主要負責(zé)實驗室云計算團隊的技術(shù)工作,以及與技術(shù)相關(guān)的其他事宜,包括開源以及一些商業(yè)上的技術(shù)合作。 非商業(yè)轉(zhuǎn)載請注明作譯者、出處,并保留本文的原始鏈接:http://www.ituring.com.cn/article/203520 張磊,浙江大學(xué)計算機學(xué)院博士生,科研人員,VLIS實驗室云計算組技...
摘要:年我們開始專注于開源云計算技術(shù),當(dāng)時開源的力量正在逐漸浮現(xiàn)。問你現(xiàn)在在實驗室的工作是什么我主要負責(zé)實驗室云計算團隊的技術(shù)工作,以及與技術(shù)相關(guān)的其他事宜,包括開源以及一些商業(yè)上的技術(shù)合作。 非商業(yè)轉(zhuǎn)載請注明作譯者、出處,并保留本文的原始鏈接:http://www.ituring.com.cn/article/203520 張磊,浙江大學(xué)計算機學(xué)院博士生,科研人員,VLIS實驗室云計算組技...
摘要:在浙江大學(xué)實驗室項目組負責(zé)的架構(gòu)研究,以及做與技術(shù)結(jié)合的實踐。耿輝的最新動態(tài),在的大會發(fā)布了等新特性,耿輝為大家?guī)砬把氐淖钚聞討B(tài)。介紹耿輝,華為開源軟件戰(zhàn)略專家。 showImg(https://segmentfault.com/img/bVkqvv); Docker 愛好者們,本周六 12.27 的 Docker Meetup #3 約么? 本次的杭州 Docker Meetu...
摘要:今天小數(shù)給大家?guī)硪黄夹g(shù)正能量滿滿的分享來自社區(qū)線上群分享的實錄,分享嘉賓是數(shù)人云肖德時。第二級調(diào)度由被稱作的組件組成。它們是最小的部署單元,由統(tǒng)一創(chuàng)建調(diào)度管理。 今天小數(shù)給大家?guī)硪黄夹g(shù)正能量滿滿的分享——來自KVM社區(qū)線上群分享的實錄,分享嘉賓是數(shù)人云CTO肖德時。 嘉賓介紹: 肖德時,數(shù)人云CTO 十五年計算機行業(yè)從業(yè)經(jīng)驗,曾為紅帽 Engineering Service ...
摘要:相關(guān)基于項目和項目,并遵循應(yīng)用的十二因素風(fēng)格。相關(guān)在設(shè)計上,項目盡量保持驅(qū)動和模塊化,以便模塊支持不同的實現(xiàn)方案。相關(guān)不僅可以管理眾多虛擬機,其計算服務(wù)還支持對的驅(qū)動,管理引擎的子項目還可用于通過模板管理容器。現(xiàn)已整合公司所支持的項目。 整理自《Docker技術(shù)入門與實踐》 PaaS(Platform as a Service) PaaS 是希望提供一個統(tǒng)一的可供所有軟件直接運行而無需...
閱讀 2443·2021-11-19 09:59
閱讀 1970·2019-08-30 15:55
閱讀 929·2019-08-29 13:30
閱讀 1330·2019-08-26 10:18
閱讀 3081·2019-08-23 18:36
閱讀 2382·2019-08-23 18:25
閱讀 1155·2019-08-23 18:07
閱讀 430·2019-08-23 17:15