大家好我是來自新華三集團的云計算部門的計光。今天我給大家介紹一下新華三集團在容器云方面的一些應用的實踐,今天非常高興我們新華三集團以及其他四家參評單位通過了這一次可信容器云的認證。這其中我們現在參與評本次的可信云,這也是感謝大會支持。
今天我所講的容器的實踐,實際上是比較干貨的,是偏技術的。首先就是說我們還是從容器技術開始談起。為什么是有現在這一些包括云技術的產生,我們從頭開始講起,在最原始的時候,我們世紀類似一個動物園我們有各種各樣的不同應用,不同的異構的系統,有的體積很龐大,有的很小,有的相互之間是有共生或者是一些依賴,或者是互斥,在這種情況下我們如何把這一套系統很好的布置起來,讓它能夠為我們提供服務。在最原始的時候實際上煙筒式的方法,我們各自建各自的系統,各自的利用率,有的負載很高、有的負載很低,有的可能在使用上完全是一個很粗放的方式。而且在之后我們就進入了所謂的虛擬化時代,是幫助我們解決了一些問題,主要是幫助我們把這一些所謂的應用,做一定的封裝,實現了它的一個類似高可用,或者是一種資源的合理調配。但是為什么現在我們又進入了一個容器的時代呢?容器實際上是做到了一個更加精細的管控,我們相當于給每一個動物,我們給每一個它自己的應用做了一個圍欄,把它跟它所需要的資源綁定在一起,這實際上類似于一個集裝箱,我們可以把這一些各自的應用完全獨立的打包,而且體量很小。
這也是我們為什么現在所謂容器越來越火的一個原因。首先對于容器來說它相當于虛擬化是少了其中的一個一層次,我不知道采用虛擬化的時候,每一個應用要跑起來,它首先是需要有一層操作系統的。這可能是各式各樣的大家各不相同,有的比如說Windows的,我們通過虛擬化的技術能做到比較好的封裝,而在容器的時候實際上是我們通過一個容器引擎,就能夠做到一個更加底層、更加貼近于我們的硬件資源的封裝。對于現在比較火的Docker的技術,它都是利用原生的Caroup的打包以及實現一個隔離,在這種情況下實際上是能夠實現我的應用在這種類似于一個裸機上一個直接的運行,所以它的包括運行的效率、以及對資源的使用能夠達到一個很高的程度。這也是為什么現在我們越來越推崇使用容器的技術這一些封裝的原因。
這里實現了作為一個容器跟現在虛擬化的對比。我們可以看出來就是說在這種使用容器技術的時候,在相同的物理資源下,容器能夠承載更多的容量,我們可以知道一個傳統的機我們跑虛擬機,頂多是十來臺,而對于容器來說它實際上一個更大量級的這么一種能力。另外在使用容器的時候,實際上是可以擁有更快的啟動速度。因為我們知道在使用虛擬化的時候,我要想把自己的應用跑起來,首先是需要啟動我的這虛擬機鏡項的操作系統,在這操作系統運行起來之后我們才可以把容器內的應用拉起來。所以這其間是存在一個時間差,我們知道一個操作系統它啟動再快也得消耗大概10到20秒,有的比如說Windows那肯定是更長。在這種情況下,我們在使用這種容器技術的時候,實際上就是類似于在我們的操作系統上直接將應用所運行起來,這也是容器對比虛擬化技術它應有更快的一個啟動速度,以及更高的一種性能。但是容器說白了也不是萬能,它本身也是有一定的約束條件、我們知道就是說對于虛擬化來說,我們可以實現一種完全的隔離,從技術上。因為它實際上依賴于像CTO里頭基于硬件的隔離的指令,而對于容器來說它是完全基于Windows操作系統里的技術,進行一些隔離。所以它在安全性上是相對于虛擬化來說是存在一定的缺陷。因為它畢竟達不到基于硬件層面的安全性。另外就是說一個兼容性的問題,我們知道就是說在使用虛擬化或者是傳統的部署的時候,我們可以兼容各式各樣的應用。包括我們的Windows應用或者是一些傳統的應用,這一些東西它實際上無法在容器中進行部署的,這也是我們講到的,一個微服務架構的采用。為什么現在比較推微服務的架構呢?實際上微服務架構的一個來源,我們可能現在比較流行的一個來源,就是所謂CNCF,我不知道有一個組織叫CNCF,屬于基金會底下的組織。它的目的就是說來推動如何把這一些傳統應用做容器化的部署,以及微服務架構的調整,它所倡導之前提出的12要素,就是說我們的什么樣應用可以在容器化的場景下可以去部署和運營,首先是要滿足12要素,這12要素實際上是定義了,我們能夠在云化的條件下運行所需要的技術能力,以及它的一些標準化的支持的方式。