“老京,聽說你們在容器技術(shù)實踐上走在了行業(yè)前列,能不能安排我們?nèi)⒂^、學(xué)習(xí)下,也讓我們?nèi)∪〗?jīng)!集團(tuán)已經(jīng)要求我們的云架構(gòu)必須盡快向容器上靠攏……”
“京總,下月的行業(yè)交流會上,想請您代表貴單位做下經(jīng)驗分享,重點談下應(yīng)用容器技術(shù)帶來的好處,貴單位可是我們的標(biāo)桿用戶啊!”
……
這都是怎么了?怎么一下子,“容器”就突然成熱點了呢?真有點“萬人迷”的感覺!可是,他們?nèi)绻肋@當(dāng)中的“坑”有多少,估計就不會這么熱心追求了!
做為先行嘗鮮者,京主任確實挺有發(fā)言權(quán)的,畢竟做為行業(yè)內(nèi)最擅長挖、填坑的信息化老兵,每當(dāng)一個新技術(shù)出現(xiàn)后,就會去主動研究,如果感覺有點意思,就會著手進(jìn)行嘗試,只是沒有想到“容器”這個“她”會這么快就從“村婦”成長為“萬人迷”,本以為還要再調(diào)教好多年呢!
既然,“她”已經(jīng)被普遍關(guān)注了,那就索性揭揭“她”的老底,也給這些吃瓜群眾普及下她的另一面,潑點涼水散散熱。
先說個嚴(yán)重的,這是京主任單位剛上線容器架構(gòu)沒多久,一天快下班時:
“京主任,不好了,咱們的分布式存儲系統(tǒng)崩潰了!廠商怎么都查不出問題,應(yīng)用系統(tǒng)都無法訪問數(shù)據(jù)庫了……”
事后分析,原來是容器架構(gòu)闖的禍!因為容器只解決靈活部署問題,但不解決應(yīng)用質(zhì)量問題,而容器又共用了許多內(nèi)核資源,所以如果容器中部署的應(yīng)用有BUG,出現(xiàn)資源占用問題,而整個架構(gòu)又使用了軟件定義存儲技術(shù),計算池與存儲池共存,那就會進(jìn)行傳染,讓所有主控點失效,最后由計算池引起,導(dǎo)致存儲池全部失聯(lián),雖然存儲的數(shù)據(jù)并沒有丟失,修復(fù)重啟后可以找回來,但這樣不知何時何應(yīng)用會有BUG,從而引發(fā)系統(tǒng)崩潰卻成了懸在頭上的達(dá)摩克利斯之劍!
那么怎么才能用好“容器”呢?
首先,要知道“容器”是干啥用的。為了應(yīng)對硬件資源利用率不高的問題,通過計算、網(wǎng)絡(luò)、存儲等硬件資源池化,即硬件虛擬化技術(shù)很好地解決,但仍不足的是由其構(gòu)建出的虛擬機(jī)依然很重,因為每個虛擬機(jī)都需完整地裝入需要的操作系統(tǒng)和應(yīng)用環(huán)境,不管實際需不需要那些組件和模塊,這依然會造成資源的浪費,還不方便部署和靈活遷移。
正是為了解決操作系統(tǒng)層的虛擬化問題,就出現(xiàn)了從分時操作系統(tǒng)UNIX分化出來的容器技術(shù),讓所有業(yè)務(wù)應(yīng)用可以直接運行在物理主機(jī)的操作系統(tǒng)之上,可以直接讀寫磁盤,應(yīng)用之間通過計算、存儲和網(wǎng)絡(luò)資源的命名空間進(jìn)行隔離,為每個應(yīng)用形成一個邏輯上獨立的“容器操作系統(tǒng)”。容器技術(shù)還有以下優(yōu)點:簡化部署、多環(huán)境支持、快速啟動、服務(wù)編排、易于遷移。這樣,作為操作系統(tǒng)虛擬化技術(shù)的“容器”就與硬件虛擬化技術(shù)的“虛擬機(jī)”開始分庭抗禮。
其次,要知道“容器”的局限在哪。一是復(fù)雜性增加。隨著容器及應(yīng)用數(shù)量的增加,同時也伴隨著復(fù)雜性的增加。在生產(chǎn)環(huán)境中管理如此之多的容器是一個極具挑戰(zhàn)性的任務(wù)。(注:可以使用Kubernetes和Mesos等工具管理具有一定規(guī)模數(shù)量的容器。)
二是支持受限。大多數(shù)容器技術(shù)都來源于Linux,比如Docker,基于Linux容器(LXC),相比于在原生Linux中運行容器,在Microsoft 環(huán)境中運行容器并不順暢,并且日常使用也會帶來復(fù)雜性。
三是不成熟。相比硬件虛擬化技術(shù),容器技術(shù)在市場上是相對新的技術(shù),需要時間來完善?,F(xiàn)在實踐部署的“容器”大多基于開源,其支持者的資源也是有限的,如果在部署和使用環(huán)節(jié)遇到問題,可能需要花很長時間才能解決。
最后,要知道“容器”的應(yīng)用路徑。從先行嘗鮮者的經(jīng)驗來看,要追上這個“萬人迷”還是需要一些技巧的。一是要把應(yīng)用打散,俗稱解耦,也有叫微服務(wù)化;二是要把計算和存儲分離,尤其是軟件定義計算和軟件定義存儲要分開,避免故障相互傳染;三是要打破應(yīng)用研發(fā)和運維隔閡,建立起DevOps式的保障體系,實現(xiàn)全方位的敏捷性。至此,萬事俱備,只欠你的勇氣了。
IT語錄:挖坑、填坑、再挖坑、再填坑……周而復(fù)始!
“當(dāng)家的,快來看,當(dāng)年演“萬人迷”的那個女星又曝新照片了,好像富態(tài)了不少!想當(dāng)初,可是把你迷的天天追劇……說,這么多年了,是不是還把她當(dāng)成夢中情人呢?”
唉,又來了,咱這媳婦哪都好,就是愛吃醋,總是哪壺不開提哪壺!這都啥時候的事了,誰沒年輕過?咱現(xiàn)在有了新目標(biāo),“她”也是“萬人迷”,工作上的!
下期預(yù)告:又到了打造“鐵腰”的時候!
征稿啟示
發(fā)現(xiàn)欄目旨在針對信息化建設(shè)中的技術(shù)、產(chǎn)品、解決方案和發(fā)展趨勢。欄目評論的內(nèi)容涉及網(wǎng)絡(luò)、存儲、計算、云、系統(tǒng)、安全、運維和管理等方面內(nèi)容,為了更好地實現(xiàn)這個目標(biāo),使發(fā)現(xiàn)欄目的文章更加精彩、充實、實用,特向廣大讀者朋友征集稿件,字?jǐn)?shù)在3000字左右,要求必須原創(chuàng)。希望廣大讀者朋友踴躍投稿。
投稿須知:
1.歡迎采用電子郵件形式投稿,稿件、郵件可直接發(fā)給投稿信箱:zhangjigang@ccidmedia.com。以電子郵件投稿的讀者,請在郵件主題中注明“投稿”字樣。
2.來稿請以TXT文本格式保存。文章中需要插入圖片者,請將清晰圖片另存為BMP/JPEG/TIF格式。
3.所有來稿本刊會在五個工作日內(nèi)回信確認(rèn)是否收到,一個月內(nèi)確認(rèn)是否發(fā)表。作者請在來信中注明自己的姓名、工作單位、聯(lián)系地址、身份證號碼等信息,以便本刊隨時與您聯(lián)系。如未得到回復(fù),請您確定一下郵件是否正常發(fā)出,若重發(fā)后仍未得到回復(fù),可以打電話查詢,編輯部電話:010-88558043。