摘要:新一代也有輕量的特性,介紹谷歌的輕量特性,應(yīng)用要具有彈性要分布發(fā)布,再一個容錯性強易于維護,也要對計算資源故障進行容錯。
容器VS虛擬化5月18日,第八屆中國云計算大會在北京國家會議中心召開。作為領(lǐng)先的云計算創(chuàng)新技術(shù)實踐者,數(shù)人云CEO王璞博士應(yīng)邀出席并在全體大會上進行主題為“中美容器之融合與變革”的分享,以下是演講實錄:
首先我科普一點什么是容器技術(shù)。容器技術(shù)其實本身并不是什么嶄新的技術(shù),大家經(jīng)常拿容器技術(shù)跟虛擬化技術(shù)比較。有一個通俗的說法,容器是極度輕量的虛擬機。怎么理解大家看這個圖,左邊圖展示的是虛擬機,物理服務(wù)器里裝操作系統(tǒng),再裝上虛擬機管理軟件,生成很多虛擬機,然后虛擬機再裝操作系統(tǒng)再裝各種各樣的應(yīng)用。右邊圖展示的是容器,物理服務(wù)器里裝操作系統(tǒng),絕大多數(shù)情況下,容器基于的操作系統(tǒng)是Linux操作系統(tǒng),然后Linux里裝一個容器軟件,最常見的是Docker,用Docker運行各種各樣的容器,容器里面不需要再裝一次操作系統(tǒng)里,容器里面只裝各種各樣的應(yīng)用就好了。這兩張圖對比大家看出來容器跟虛擬機比最大的優(yōu)勢就是輕量很多,容器里面不需要再裝一遍操作系統(tǒng)。容器里面的應(yīng)用重用容器外面的操作系統(tǒng),特別是Linux內(nèi)核這些操作系統(tǒng)核心組件。再一點,容器是用于對應(yīng)用進行封裝,容器里面是各種各樣的應(yīng)用程序。用容器封裝應(yīng)用時,會把程序本身和依賴庫都打包在一起,這樣容器應(yīng)用具有可移植性,在不同的Linux環(huán)境下都可以運行,而不需要再安裝依賴庫。容器本身的理念是非常非常簡單的。
容器技術(shù)本身并不是嶄新的,倒推到2000年Free BSD的Jail,2005年出現(xiàn)的Solaris Containers這些都是容器技術(shù)的早期實現(xiàn)。Docker屬于容器技術(shù)的一種。Docker有鏡像的概念,Docker鏡像和虛擬機鏡像不一樣的特點就是Docker的鏡像是分層的,最下面是基礎(chǔ)的鏡像,是基礎(chǔ)Linux環(huán)境,上面每一層鏡像裝不同應(yīng)用。Docker鏡像分層最大的好處就是應(yīng)用分發(fā)很方便,每次分發(fā)Docker應(yīng)用的時候,只需要下載更新部分的鏡像,而不用重新下載整個鏡像,實現(xiàn)應(yīng)用增量分發(fā)更新。容器本身用于封裝各種應(yīng)用,容器之外還有各種管理需求。
這是容器的技術(shù)棧,中間部分是兩個容器的示例,還是服務(wù)器上面裝操作系統(tǒng),再裝上Docker運行各種Docker應(yīng)用,應(yīng)用在運行時還有其他各種需求,比如網(wǎng)絡(luò)、服務(wù)發(fā)現(xiàn)、負載均衡、任務(wù)調(diào)度等需求,這些需求本身是Docker技術(shù)無法滿足的,還需要各種相應(yīng)的周邊技術(shù)。這樣,容器技術(shù)棧慢慢演化成一個PaaS的環(huán)境了。
這是美國的容器技術(shù)相關(guān)的生態(tài)圈,大家看到各種各樣的廠商,估計近百家,都在美國的容器生態(tài)圈。我特別想畫出一張Docker技術(shù)中國生態(tài)圈,很遺憾現(xiàn)在還畫不出像美國一樣豐富的Docker生態(tài)圈,但是我相信未來兩三年時間內(nèi)我們也能畫出非常豐富的Docker關(guān)于中國的生態(tài)圈。
云計算分為三層,SaaS、PaaS、IaaS,這三層隨著云計算發(fā)展得到不同程度的發(fā)展,比如說SaaS的發(fā)展,由于各行各業(yè)的互聯(lián)網(wǎng)相關(guān)業(yè)務(wù)發(fā)展,SaaS以服務(wù)為中心,SaaS提供各種各樣的服務(wù),各種互聯(lián)網(wǎng)業(yè)務(wù)型的,HR、財務(wù)、CRM等等,這些不同的服務(wù),企業(yè)應(yīng)用的服務(wù)都可以以SaaS方式交付這些都有彈性特征。另外一方面云計算發(fā)展以后對于大規(guī)模數(shù)據(jù)中心的需求越來越旺盛,數(shù)據(jù)中心規(guī)模越來越大,數(shù)據(jù)中心相對管理負責(zé)度也增加很多,跟數(shù)據(jù)中心相關(guān)就是IaaS和PaaS,數(shù)據(jù)中心是云計算云端真正計算的載體。比如說IaaS以資源為中心,IaaS要提供資源彈性,數(shù)據(jù)中心里面IaaS管理整個數(shù)據(jù)中心資源,讓整個資源以彈性方式提供出來。PaaS在數(shù)據(jù)中心以應(yīng)用為中心,PaaS提供應(yīng)用的彈性,這是云計算的三層,都得到不同程度的發(fā)展。但是跟IaaS和SaaS相比PaaS發(fā)展其實是相對滯后的。比如說上一代PaaS沒有解決好本身復(fù)雜度的問題,后面我簡單介紹一下。
Docker催生的新一代PaaS2014年前后上一代PaaS基本上是市場的最低點,我2014年回國跟國內(nèi)同行討論我們?nèi)绾巫鲆粋€PaaS,PaaS有沒有前景,2014年國內(nèi)同行都對PaaS持懷疑的態(tài)度,Docker2013年在美國誕生的,Docker出來以后催生新一代的PaaS,很重要一點Docker出來以后形成事實上應(yīng)用交付的標準,未來大家普遍這樣認為,未來企業(yè)級應(yīng)用都會以容器Docker的形式進行交付。這樣很好的一點Docker定義了企業(yè)級客戶和PaaS之間的一個邊界,這個邊界怎么理解?就是企業(yè)只需要關(guān)心自己的業(yè)務(wù)應(yīng)用、業(yè)務(wù)程序,企業(yè)業(yè)務(wù)程序分裝在容器里面,PaaS只需要提供標準的容器運行環(huán)境,有了清晰邊界以后PaaS復(fù)雜度大大降低,PaaS作為一個標準,之前沒有容器的時候PaaS和企業(yè)客戶之間邊界在哪里?邊界在于程序編程語言這個層面,比如說Heroku等需要支持各樣的開發(fā)語言,上一代的PaaS復(fù)雜度非常高,新一代的PaaS由于Docker定義一個標準,新一代PaaS可以不用管業(yè)務(wù)應(yīng)用拿java還是其他語言寫的,解決Docker運行所需要的CPU、網(wǎng)絡(luò)、負載均衡、報警等常見的企業(yè)內(nèi)部的需求,這樣新一代PaaS復(fù)雜度大大降低,這個也就是我說為什么Docker出現(xiàn)催生了新一代的PaaS。
很重要一點中國和美國在新一代PaaS發(fā)展方向是齊頭并進的。
新一代PaaS平臺在中美落地情況這張圖我列一下新一代PaaS在中美兩國落地的情況,左上角是新一代PaaS在美國落地的情況,右下角是新一代PaaS在國內(nèi)落地的情況?;旧洗蠹铱梢钥闯鰜硇乱淮鶳aaS落地從互聯(lián)網(wǎng)公司到IT巨頭到傳統(tǒng)行業(yè)都有各種各樣的落地。落地的這些企業(yè)并不是所有我只是挑一些有代表性的,從有代表性落地企業(yè)來看國內(nèi)和美國其實幾乎處在同一個起跑線上。
Google 的 PaaS講到PaaS不得不講一下谷歌的PaaS,其中一個原因有很大影響力,尤其是谷歌內(nèi)部的PaaS非常復(fù)雜、功能無比的強大,我之前在谷歌工作過,我見過谷歌的PaaS是怎么運作的。首先幾個特點,谷歌內(nèi)部的PaaS分層的,PaaS管理東西很多,PaaS只管理應(yīng)用,跟應(yīng)用相關(guān)還有很多東西,資源分配,任務(wù)調(diào)動等等,谷歌PaaS以一種容器方式分裝分發(fā),谷歌有著名的分布式文件系統(tǒng),還有各種各樣數(shù)據(jù)管理的數(shù)據(jù),還有Big Table、 MapReduce,這是谷歌分布式應(yīng)用編程的范式,這是PaaS提供的能力。
谷歌PaaS的特點是什么?就是輕量,輕量怎么理解?PaaS支撐應(yīng)用快速迭代快速上線,大家提的持續(xù)交付持續(xù)集成的概念。谷歌PaaS是以應(yīng)用為中心的,PaaS平臺一定提供應(yīng)用彈性能力,讓各種各樣應(yīng)用按需使用資源,PaaS平臺提供容錯能力把開發(fā)運維復(fù)雜度降低,這三點我稱之為應(yīng)用PaaS平臺的輕量特性。
再一點谷歌內(nèi)部的PaaS非常強大,谷歌資源管理和任務(wù)調(diào)動數(shù)據(jù),可以管理谷歌兩百多臺服務(wù)器統(tǒng)一進行管理。為了讓大家更深刻的理解,我找了一張谷歌數(shù)據(jù)的照片,這是谷歌數(shù)據(jù)中心照片的一角,很多機柜,每個機柜里面有差不多20臺服務(wù)器左右。這張照片我想強調(diào)一點是什么?這么大規(guī)模的數(shù)據(jù)中心其實硬件故障頻率很高的,這張圖是我從谷歌一個數(shù)據(jù)中心的PPT報告上摘下來的,就是說一個谷歌新建的數(shù)據(jù)中心平均下來一年要發(fā)生這么多各種各樣的故障。舉個例子第一個故障一年大概有半次左右過熱,一年有一次的供電單元有故障。一年至少有一個機架做挪動,至少有一次機架進行排線,一年可能有12次路由器重啟,3次路由器故障,每年大概有上千次服務(wù)器宕機,由硬件故障造成的宕機,一年有數(shù)千次的硬盤損壞。目前大規(guī)模數(shù)據(jù)中心基本都是用X86服務(wù)器,都不是像大型機或小型機這樣的高可靠硬件。基于X86服務(wù)器的數(shù)據(jù)中心怎么應(yīng)對這些硬件故障,保障應(yīng)用服務(wù)高可靠,這是PaaS和IaaS一起要做的工作。
基于Docker的新一代PaaS這里面我主要把新一代PaaS的特性給它勾勒了出來,跟谷歌的PaaS有相似的地方,新一代PaaS基于微服務(wù)理念打造的,特別是像谷歌的PaaS分層管理。新一代PaaS也有輕量的特性,介紹谷歌PaaS的輕量特性,應(yīng)用要具有彈性要分布發(fā)布,再一個容錯性強、易于維護,PaaS也要對計算資源故障進行容錯。這里面特別強調(diào)一點大規(guī)模數(shù)據(jù)中心或者現(xiàn)在這種數(shù)據(jù)中心對于硬件管理方式有兩種,一種上一代的寵物型管理方式,另外是放養(yǎng)型的。對于寵物型的數(shù)據(jù)中心管理方式其實是很常見的,比如說對于數(shù)據(jù)庫服務(wù)器,一般企業(yè)里面數(shù)據(jù)庫服務(wù)器絕對不允許宕機,數(shù)據(jù)庫宕機所有應(yīng)用全部宕了,所以要有人為維護,DBA,人圍機器去轉(zhuǎn),這是寵物型對數(shù)據(jù)中心的管理,一旦數(shù)據(jù)庫宕機人馬上去修。另外是放養(yǎng)型跟寵物型相反,放養(yǎng)型什么意思?比如說谷歌這樣的量級中心,兩百萬臺服務(wù)器不可能保證每一臺服務(wù)器都是處于工作狀態(tài),一定有一些服務(wù)器處于故障狀態(tài),要通過軟件PaaS平臺保證上面應(yīng)用服務(wù)不宕機,PaaS對于軟硬件都要有很強的容錯能力,放養(yǎng)型的工作管理必然極大降低對數(shù)據(jù)中心維護,包括PaaS本身,維護成本運維成本都會大大降低,這是新一代PaaS很重要的特性主要就是輕量。
數(shù)人云的新一代PaaS實現(xiàn)接下來簡單講一點點我們數(shù)人云對于新一代PaaS是怎么實現(xiàn)的?其實最主要就是分層的實現(xiàn),分層實現(xiàn)這是谷歌提出來的理念。大規(guī)模數(shù)據(jù)中心是云端計算的載體,大規(guī)模數(shù)據(jù)中心的軟硬件系統(tǒng)是IT行業(yè)最高科技的結(jié)晶。這么多復(fù)雜系統(tǒng)拼在一起組成大規(guī)模的數(shù)據(jù)中心,對外提供云計算服務(wù)能力,不是一套系統(tǒng)能夠全部做下來的,一定是分層實現(xiàn)的。
我們實現(xiàn)新一代云計算平臺首先有一個是核心模塊,核心模塊本身也是分好幾個層面的,核心模塊基本上圍繞運行時的基本管理提供比如說容器運行的標準環(huán)境,這個核心模塊包括幾個層面,首先應(yīng)用的封裝用到的是Docker的技術(shù),這是很火的容器技術(shù)。光有應(yīng)用封裝不夠的,應(yīng)用封裝完應(yīng)用運行還有別的需求,需要CPU、內(nèi)存需求等等,資源分配核心模塊里面功能我們基于Apache來做的,應(yīng)用不是運行在一臺服務(wù)器,大規(guī)模數(shù)據(jù)中心有成百上千臺服務(wù)器,對于大規(guī)模的集群里面應(yīng)用該怎么調(diào)度這是很關(guān)鍵的模塊,我們用的是任務(wù)調(diào)度模塊做的。比如說應(yīng)用分發(fā),涉及到應(yīng)用的更新上線等等,比如說老版本的應(yīng)用已經(jīng)運行了,新版本應(yīng)用程序我要分發(fā)下去,新版本應(yīng)用我要有一個分發(fā)的倉庫存在什么地方,這時Docker的鏡像倉庫用于應(yīng)用分發(fā)。
核心模塊還要管理網(wǎng)絡(luò),我們很多客戶提出來不同應(yīng)用之間的網(wǎng)絡(luò)要進行應(yīng)用隔離,有些應(yīng)用可達有些應(yīng)用不可達,這都需要對容器之間網(wǎng)絡(luò)進行有效管理。我們通過Calico來實現(xiàn)網(wǎng)絡(luò)管理。
還有服務(wù)發(fā)現(xiàn),容器運行環(huán)境在大規(guī)模數(shù)據(jù)中心里面,對于容器調(diào)度不是靜態(tài)調(diào)度,不是一個容器應(yīng)用就跑到一臺服務(wù)器上,它是動態(tài)調(diào)度的,不同應(yīng)用之間我有通信需求,我應(yīng)用A怎么找到應(yīng)用B就需要有應(yīng)用發(fā)現(xiàn)的需求,這是核心模塊的基本功能。
周邊模塊支撐應(yīng)用運行方便應(yīng)用運維,周邊模塊體現(xiàn)出新一代PaaS平臺的應(yīng)用度。
周邊模塊很重要一塊就是持續(xù)集成,這是企業(yè)客戶對于PaaS平臺很強需求的一點,因為這些業(yè)務(wù)應(yīng)用大家需要快速迭代,這是互聯(lián)網(wǎng)給大家?guī)淼钠髽I(yè)級IT最大的沖擊,應(yīng)用怎么做到快速上線需要持續(xù)的集成,開發(fā)人員做的新的代碼怎么持續(xù)集成各種各樣的應(yīng)用而且發(fā)布出去。
再一個彈性伸縮這也是互聯(lián)網(wǎng)帶來新業(yè)務(wù)的特點,互聯(lián)網(wǎng)業(yè)務(wù)最大特點就是集中爆發(fā),很經(jīng)典例子就是淘寶雙十一,12306大家訂票,彈性伸縮是PaaS平臺必須提供的性能,沒有彈性面對集中爆發(fā)的業(yè)務(wù)需求這個后臺支撐不了,彈性伸縮我們用API實現(xiàn)的。再一個監(jiān)控報警,任何企業(yè)生產(chǎn)環(huán)境系統(tǒng)不是孤立存在的,一定有各種各樣的監(jiān)控報警,生產(chǎn)系統(tǒng)誰也不能保證100%的正常。
再一個日志的處理,這是企業(yè)很強的需求,生產(chǎn)環(huán)境里面各種各樣的業(yè)務(wù)都有,生產(chǎn)環(huán)境都是比較大規(guī)模的集群環(huán)境,不同應(yīng)用產(chǎn)生的日志留在不同的服務(wù)器上,怎么把這些日志在分布式環(huán)境下進行統(tǒng)一收集查詢統(tǒng)一處理,需要有日志統(tǒng)一管理,我們主要用的是ELK這個模式。
再一點就是文件存儲,企業(yè)生產(chǎn)環(huán)境數(shù)據(jù)中心里面業(yè)務(wù)應(yīng)用必然有一些數(shù)據(jù)存下來,就要存在文件系統(tǒng)上,文件存儲我們用的是Hadoop的文件系統(tǒng)。再有對于數(shù)據(jù)的管理,多個應(yīng)用要對數(shù)據(jù)同時進行讀寫操作,對于數(shù)據(jù)訪問管理等等這些我們用的是HDFS。還有我們用Kafka消息隊列來處理不同應(yīng)用之間的異步通訊需求,未來Kafka可以替代企業(yè)服務(wù)總線。還有數(shù)據(jù)處理,現(xiàn)在企業(yè)對于大數(shù)據(jù)處理有很強的需求,大家用Hadoop還有Spark這些,我們主要用Spark做大數(shù)據(jù)處理更快。
前面介紹一下我們做的新一代PaaS平臺的核心模塊和周邊模塊,我簡單給大家演示一下我們的程序,這是我們對于應(yīng)用管理做的,我們做到應(yīng)用統(tǒng)一管理,各種各樣的應(yīng)用通過這個平臺統(tǒng)一的分發(fā)部署。再一個集群管理,它的PaaS也要向下管理各個集群的資源。中間有一個紅點代表某一臺集群主機是異常的,異常沒有關(guān)系,上面應(yīng)用把這個平臺容錯自動遷走遷移到其他地方,一兩臺主機宕機不影響整個的應(yīng)用使用。再一個應(yīng)用管理,散落在不同集群上。跟日志相關(guān)的數(shù)據(jù)統(tǒng)一收集起來方便后臺運維人員管理。軟件定義世界,這是我們所有做軟件的人非常喜歡的一句話,現(xiàn)在大家日常工作生活都跟各種各樣的軟件在打交道,之前有大家提的隨著云計算發(fā)展提出的軟件定義存儲、軟件定義計算、軟件定義網(wǎng)絡(luò)等等。再進一步的提法軟件定義數(shù)據(jù)中心。我剛才講PaaS講到很多數(shù)據(jù)中心的概念,說到底我喜歡軟件定義世界這句話。
這個背景圖其實就是黑客帝國電影的主題圖。黑客帝國里邊講的是未來人類生活在虛擬軟件定義世界里面。這個軟件定義世界正在發(fā)生,每個人現(xiàn)在每天都要大量跟各種各樣的軟件打交道。隨著云計算新一代PaaS平臺普及,隨著容器技術(shù)如火如荼的發(fā)展和推廣,下一步就是不僅僅是軟件定義世界了,我們最后會達到容器定義的世界,所有的軟件都是以容器形式交付運行的,歡迎大家來到容器定義的世界。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/26579.html
摘要:嶄露頭角在發(fā)布之后,眾多及廠商爭相入市,,阿里云函數(shù)計算,短短數(shù)年時間產(chǎn)品已遍地開花。目前知名的平臺有,,,等。統(tǒng)一的容器調(diào)度模型從當前及容器生態(tài)的發(fā)展來看,容器基本都是運行在云主機之上比如的,阿里云的。 說起當前最火的技術(shù),除了最新的區(qū)塊鏈,AI,還有一個不得不提的概念是Serverless。Serverless作為一種新型的互聯(lián)網(wǎng)架構(gòu)直接或間接推動了云計算的發(fā)展,從AWS Lamb...
摘要:嶄露頭角在發(fā)布之后,眾多及廠商爭相入市,,阿里云函數(shù)計算,短短數(shù)年時間產(chǎn)品已遍地開花。目前知名的平臺有,,,等。統(tǒng)一的容器調(diào)度模型從當前及容器生態(tài)的發(fā)展來看,容器基本都是運行在云主機之上比如的,阿里云的。 說起當前最火的技術(shù),除了最新的區(qū)塊鏈,AI,還有一個不得不提的概念是Serverless。Serverless作為一種新型的互聯(lián)網(wǎng)架構(gòu)直接或間接推動了云計算的發(fā)展,從AWS Lamb...
摘要:云計算在企業(yè)級市場的戰(zhàn)役已經(jīng)打響等新興云服務(wù)提供商已經(jīng)動了傳統(tǒng)巨頭在企業(yè)級市場的奶酪,傳統(tǒng)巨頭們也已開始奮力反擊。新浪的版本發(fā)布是一個出現(xiàn)在圖中的國內(nèi)事件。改名成發(fā)布微軟上臺后即將改名為,這標志著云已經(jīng)成為微軟的優(yōu)先戰(zhàn)略方向。 云計算在企業(yè)級市場的戰(zhàn)役已經(jīng)打響:AWS等新興云服務(wù)提供商已經(jīng)動了傳統(tǒng)IT巨頭在企業(yè)級市場的奶酪,傳統(tǒng)巨頭們也已開始奮力反擊。隨著傳統(tǒng)IT 巨頭的加入,PaaS市場變...
摘要:容器跟虛擬化是解決不同問題的,從這一點來看與有相似之處,我認為虛擬化解決的一個重大問題是隔離和安全的問題,而容器則解決的是快速交付的問題。同時也可以應(yīng)用一些虛擬化比較成熟的技術(shù),包括容器的容器的熱遷移,現(xiàn)在也都具備一些初步的方案。 5月26日,數(shù)人云產(chǎn)品戰(zhàn)略發(fā)布會在北京萬達索菲特酒店舉行,發(fā)布會最后一個環(huán)節(jié)圓桌論壇可謂大咖云集,小數(shù)為大家在第一時間帶來了實錄分享,快來感受下容器生態(tài)圈的...
摘要:騰訊云在年底決定開發(fā)容器產(chǎn)品隨后組建容器技術(shù)團隊并進行技術(shù)選型通過對不同編排工具的分析對比最終選擇作為容器編排引擎并且迅速在年初推出容器解決方案為用戶提供托管的一站式服務(wù)。但是騰訊云最終選擇了現(xiàn)在看來這個選擇無比正確。Kubernetes 很火,一大批互聯(lián)網(wǎng)公司早已領(lǐng)先一步,搭建起專有的 PaaS平臺,傳統(tǒng)企業(yè)們看到的 Kubernetes的趨勢,亦不甘落后,在試水的道上一路狂奔。雖然,Ku...
閱讀 1059·2021-11-25 09:43
閱讀 1426·2021-11-18 10:02
閱讀 1872·2021-11-02 14:41
閱讀 2387·2019-08-30 15:55
閱讀 1084·2019-08-29 16:18
閱讀 2567·2019-08-29 14:15
閱讀 1401·2019-08-26 18:13
閱讀 750·2019-08-26 10:27