0
本文作者: 張馳 | 2017-04-17 17:48 |
上周,雷鋒網(wǎng)曾報道微軟宣布收購軟件容器提供商Deis。大公司的介入也再一次讓容器領(lǐng)域走入公眾的視野。自2013年剛剛誕生到今年,容器Docker鏡像的下載量超20億,容器行業(yè)發(fā)展可謂如火如荼。
本次雷鋒網(wǎng)硬創(chuàng)公開課,我們邀請到了企業(yè)級私有容器服務(wù)平臺提供商Rancher Labs大中華區(qū)總經(jīng)理George Qin秦小康,講解Deis是一家怎么樣的公司,微軟為何會收購它,并談?wù)勅萜骷夹g(shù)在傳統(tǒng)企業(yè)IT環(huán)境的落地實踐,及行業(yè)落地需求本身對容器技術(shù)發(fā)展的要求方面。
George Qin秦小康,Rancher Labs大中華區(qū)總經(jīng)理,在開源和云計算領(lǐng)域擁有十多年的豐富經(jīng)驗。在此之前,曾負責(zé)Citrix云平臺事業(yè)部在大中華地區(qū)的業(yè)務(wù),Oracle Linux/VM在大中華區(qū)業(yè)務(wù)發(fā)展,以及在RedHat 負責(zé)JBoss、KVM業(yè)務(wù)在中國地區(qū)的產(chǎn)品團隊。
以下是雷鋒網(wǎng)整理的公開課主要內(nèi)容:
首先是為什么Deis的消息會引起業(yè)內(nèi)人士的關(guān)注?Deis是一家開源軟件公司,主要業(yè)務(wù)是讓容器集群管理系統(tǒng)kubernetes容易使用。它與容器相關(guān),也是今天的主題。
在2015年的4月Engine Yard就收購了Deis,如今又將它轉(zhuǎn)手賣給了微軟。根據(jù)外界的分析, 這次收購最主要的意義是,讓微軟在云計算的領(lǐng)域追趕亞馬遜的步伐加快了,對其云計算有莫大的幫助。
我們要看到的是它的背后有三個關(guān)鍵詞,一是云計算,二是容器,三是Kubernetes。
Kubernetes是容器的編排調(diào)試技術(shù),由Google在2014年正式發(fā)布。現(xiàn)在容器編排工具的競爭有兩個主要玩家,一個是Docker,一個是Google。Docker公司的CTO曾放言,準(zhǔn)備把Kubernetes殺掉。
一個Deis公司就能讓微軟的云計算帶來這么大的收益。其實在關(guān)注這場收購之前,還要了解容器技術(shù)對于云計算行業(yè)帶來的改變。
首先要了解容器和云計算的趨勢。從下面的圖中可以看出,在這一波浪潮里,傳統(tǒng)的IT技術(shù)商都要靠邊站,增長受到了很大挑戰(zhàn),唯有AWS的增長達到近50%。微軟和Google等公司也都發(fā)布了公有容器服務(wù)。
在容器領(lǐng)域里面,最搶眼的三個玩家是:Docker,Mesosphere(兩年前比較有名),以及CoreOS。兩年前,這幾個公司在容器里都很流行。
反觀Docker的增長,則可以用恐怖來形容。它在2015年初的下載量是1億次,到了2015年底就是10億次了,而去年中就達到40億次。
Docker還做過一個調(diào)查,問用戶是否想把自己的產(chǎn)品當(dāng)作云戰(zhàn)略的一部分,結(jié)果80%的人已經(jīng)決定這么做了。而41%的人表示,要把應(yīng)用在各種環(huán)境中遷移,不想公有云上all in。還有60%的人想用Docker把應(yīng)用遷到云上。而與最近的新聞最有關(guān)系的,是那41%的需求。
Kubernetes從2016年的下半年開始,其關(guān)注也有很大增長。這可以解釋為什么Deis會被業(yè)界關(guān)注。
容器行業(yè)有哪些主要玩家,可以從下圖中看出來。
別看這張圖這么復(fù)雜,但在編排調(diào)度這里,從2015年到現(xiàn)在就是剛才提到的三家的競爭。總的來說,看著這么熱門,在核心領(lǐng)域貢獻的不多。不過到了去年,Mesos就不見了,不再被認為是主流的對手。
容器市場經(jīng)過兩年多的標(biāo)準(zhǔn)化,也出現(xiàn)了兩大陣營:OCI和CNCF。前者是Docker主導(dǎo),也有傳統(tǒng)大的IT廠商參與,它們是2015年6月成立,主要是把Docker引擎標(biāo)準(zhǔn)化。后者也想有自己的生態(tài),上周還召開了全球大會。兩邊的成員重復(fù)很多,這也說明容器的火熱,所有人都不愿意在浪潮中把自己落下。
Docker作為容器引擎的事實標(biāo)準(zhǔn),很多人將它與容器對等??聪聢D,左邊是過去的IT工作模式,要么在一個物理機上,要么在虛擬機上,先裝操作系統(tǒng),比如選擇Linux,再上面選擇中間件與數(shù)據(jù)庫,再到上面做應(yīng)用。
而Docker則不管什么,都打包成一個格式,多個Docker放在一個操作系統(tǒng)里。打包好了成為鏡像,供開發(fā)者去復(fù)制分發(fā)。
之所以如此重要,一是Docker打包方式快速高效。
二是有更高的資源利用率。與VM作對比,如果已經(jīng)有了一個應(yīng)用,在有另外一個應(yīng)用時就需要跑另一個VM。這里的問題是,無論應(yīng)用大小,VM的規(guī)格是固定的。容器就不一樣,同樣的情形,兩個應(yīng)用可以放在同一個VM里,其中一個不運行時,另一個可以充分利用資源。
不過這還不是最主要的,容器的流行還有第三點,即打包方式可以讓開發(fā)測試環(huán)境和生產(chǎn)環(huán)境,保持運行環(huán)境的一致性。這對應(yīng)用本身不會發(fā)生影響,這一點十分重要。
在研發(fā)環(huán)境和生產(chǎn)環(huán)境中,沒有一個環(huán)境部署,只要IT環(huán)境支持Docker,里面打包的應(yīng)用就不需要作修改了。有一個研發(fā)測試?yán)碚摲Q,測試?yán)锍霈F(xiàn)的80%的bug是由運行環(huán)境導(dǎo)致的,這也被一些大企業(yè)證明了。高盛用Docker的原因,就主要是為了這一點。
無論容器有多少應(yīng)用,第三點都是最根本的好處,對研發(fā)人員和運維及測試,都帶來了好處,提高了效率。
隨著打包功能的拓展,又產(chǎn)生了一個新想法,即下一代云計算技術(shù):Caas/容器云。在容器云上把應(yīng)用在不同的架構(gòu)間做遷移,或者同時在不同的架構(gòu)上做布署,包括AWS和自己的數(shù)據(jù)中心等。
新一代的云平臺,把所有的云都當(dāng)作一種資源來使用,在其上跑應(yīng)用,用Docker打包。只要資源都支持容器,應(yīng)用可以布署在任何地方。這特別適合業(yè)務(wù)爆炸式增長的公司,或想專注于業(yè)務(wù)的公司。不過目前好用的容器云還沒做出來,Google和微軟等公司也都在發(fā)力。
那容器帶來了什么樣的變革,以至這么多大公司都在關(guān)注?
這可以對比瀏覽器對桌面操作系統(tǒng)的影響。十年前,上網(wǎng)用Windows還是Linux還是很大的差異,而主要的改變來自瀏覽器,現(xiàn)在已經(jīng)沒多少人在乎操作系統(tǒng)了。以此類比,容器云可以讓IaaS被隨意切換,讓AWS或華為云或阿里云都沒有區(qū)別,讓開發(fā)者主要關(guān)注云的應(yīng)用。這就是容器帶來了可能性。
不過現(xiàn)在的情況是,很多公司一部分業(yè)務(wù)在公有云上,一部分在企業(yè)的私有環(huán)境中。這時就更復(fù)雜了,怎么在企業(yè)生產(chǎn)環(huán)境中落地Docker和容器云呢?
根據(jù)一項調(diào)查,其中最主要的三個困難在于:存儲,網(wǎng)絡(luò)與安全。這也是IT領(lǐng)域的老問題??梢钥吹剑@里沒有出現(xiàn)編排調(diào)度的問題,在企業(yè)眼中這不是一個重要問題。但結(jié)果卻是,編排調(diào)度的公司在國內(nèi)有20多家創(chuàng)業(yè)公司之多。
要滿足企業(yè)的需求,要解決很多問題。企業(yè)要的是這樣一個容器云:要解決資源、容器操作系統(tǒng),存儲,網(wǎng)絡(luò),分布式數(shù)據(jù)庫,訪問控制,監(jiān)控,編排調(diào)度,應(yīng)用市場等各種模塊。這需要一個全?;募夹g(shù)。
容器還有進階,即更進一步需要Cloud Native,即原生云。它有三個特點:一是容器化,二是可動態(tài)編排調(diào)度,三是面向微服務(wù)。
總結(jié)來說,我們的觀察是,容器技術(shù)主要在美國,歐洲與中國(三年前日本還處于領(lǐng)先地位)。另外,開發(fā)人員及在生產(chǎn)環(huán)境中使用容器技術(shù)仍舊十分困難。
一是將遠期愿景分解,讓它變得實用。細分為,一是應(yīng)用從桌面到服務(wù)器端的遷移,二是從傳統(tǒng)數(shù)據(jù)中心到公有云的遷移,三是開發(fā)測試環(huán)境到生產(chǎn)環(huán)境的遷移。
這就要讓應(yīng)用在公有云、私有云環(huán)境中都沒問題。而相應(yīng)的解決方案,要把存儲、網(wǎng)絡(luò)、安全、DNS、負載均衡(再加防火墻)等問題解決。
第二,容器落地要從簡單場景到復(fù)雜環(huán)境轉(zhuǎn)化。簡單場景往往只有一個簡單的三層架構(gòu),負載均衡,加外圍應(yīng)用和數(shù)據(jù)庫。但企業(yè)里會有監(jiān)控、日志,數(shù)據(jù)庫等問題,部分公司會因此往前延伸一步,不過這三個也有些簡易的解決方案。
稍微復(fù)雜的場景是如下圖:
有自己的IaaS,有不同的資源池;容器網(wǎng)絡(luò)也不一樣;基礎(chǔ)服務(wù)等也有服務(wù)發(fā)現(xiàn),健康檢測,負載均衡等;存儲上要支持NFS、CEPH等;還有應(yīng)用服務(wù)商店和API等等。
但這其實也只是一個比較簡單的場景,還有更復(fù)雜的??梢哉f,容器在企業(yè)的應(yīng)用,從簡單場景到復(fù)雜場景,有很多問題要解決。
三是,容器要從數(shù)據(jù)中心領(lǐng)域向移動領(lǐng)域遷移。
這是因為如今手機的使用量大于PC,其上的應(yīng)用也會更多,而容器正好是為應(yīng)用而生的。當(dāng)前的容器編排調(diào)度工具基本沒有考慮移動設(shè)備,只為數(shù)據(jù)中心設(shè)計。好消息是,Docker已經(jīng)運行在ARM上。
另外,當(dāng)把一個企業(yè)IT作綜合管理考慮時,容器平臺還要與諸多周邊系統(tǒng)對接。企業(yè)有很多東西沒有容器化,比如防火墻,數(shù)據(jù)庫,分布式存儲等,這些都需要兼容。這就需要一個好的框架。
結(jié)合上面說到的問題,總體來看,我們認為容器技術(shù)在未來會有下面的幾個主要趨勢。
一是互聯(lián)網(wǎng)客戶對容器的使用已經(jīng)很廣泛,而傳統(tǒng)的大中型企業(yè)在加快容器的使用,這也促進Docker等產(chǎn)品的成熟,只是目前成熟度還不夠。
第二是隨著Kubernetes和Docker Swarm的進步,以及各大公有云公司如微軟Azure、Google云和AWS提供對這兩者的支持,開發(fā)和定制Kubernetes分發(fā)版的提供商要找到真正的增值。
三是簡單易用的公有容器服務(wù)會變得流行。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。