在常人眼中,數據中心不過(guò)是一座擺放了成(chéng)千上萬台設備的普通建築,隻要有資金,有人力,誰都(dōu)可以建造上幾座。而實際上,一個數據中心的複雜度遠超人們想象,是“貧窮限制了想象力”。
數據中心幾乎將(jiāng)世界上最先進(jìn)的信息技術都(dōu)集成(chéng)了起(qǐ)來,在這(zhè)裡(lǐ)涉及到動力、制冷、通風、建築、網絡、計算、存儲、布線、消防、監控等等十幾個技術門類,覆蓋到數十項學(xué)科的先進(jìn)技術。現在很多的雲計算、大數據、人工智能(néng)、軟件定義也都(dōu)是在數據中心裡(lǐ)大放異彩,數據中心是這(zhè)些先進(jìn)技術的實踐土壤,都(dōu)要到數據中心來走一遭,隻有經(jīng)過(guò)數據中心考驗的技術才是真正的技術,能(néng)夠得到業界認可的技術。
關于數據中心,維基百科給出的定義是“數據中心是一整套複雜的設施。它不僅僅包括計算機系統和其它與之配套的設備,還(hái)包含冗餘的數據通信連接、環境控制設備、監控設備以及各種(zhǒng)安全裝置”。這(zhè)個定義還(hái)不夠全面(miàn),幾乎沒(méi)有哪個定義能(néng)夠將(jiāng)數據中心概括清楚,因爲數據中心實在是太複雜了,并非用幾個詞語或者幾句話就(jiù)能(néng)概括清楚。當然,并不是一開(kāi)始數據中心就(jiù)很複雜,在最開(kāi)始我們甚至可以將(jiāng)擁有幾台PC的機房也可以叫(jiào)做數據中心,但數據中心規模和技術都(dōu)發(fā)展太快,複雜性呈幾何性增長(cháng),我們讨論數據中心的複雜性都(dōu)是基于當前現狀來讨論的。
首先,數據中心規模增長(cháng)迅速,原來占地幾千平米的大型數據中心,放到現在也就(jiù)屬于中小型數據中心,現在的數據中心動辄10萬服務器,要將(jiāng)這(zhè)些服務器都(dōu)放滿就(jiù)得多大的建築空間,這(zhè)還(hái)不包括網絡、通風和制冷等其它不可缺少的系統。一旦規模上來,所有的系統都(dōu)需要适配,這(zhè)個複雜不是簡單地累加,而是幾何倍數的增長(cháng)。比如建造大樓,建設一座50層的大樓和120層的大樓成(chéng)本可不是增長(cháng)兩(liǎng)倍的關系,假如建設50層大樓,平均下來3000元一平,10萬平米就(jiù)是3億。120層的話,造價應該是50層樓的10倍,3萬元一平,如果是30萬平方米,那就(jiù)是90億,整整差了87億。
其次,數據中心是一個多功能(néng)的建築物,并不僅僅是一些服務器的集合,要將(jiāng)這(zhè)些服務器互聯互通起(qǐ)來,并且讓運行的應用軟件平穩運行,需要做大量系統設計工作,每個設備裡(lǐ)跑的每一條指令都(dōu)有其特定的意義。我們知道(dào)僅僅以太網的RFC就(jiù)有八千多篇了,沒(méi)有人能(néng)將(jiāng)所有網絡協議都(dōu)搞懂,但卻要在數據中心裡(lǐ)部署很多網絡協議,複雜度可想而知。登錄到任意一台網絡設備,都(dōu)能(néng)看出至少上百行的網絡配置,多的有上萬行,這(zhè)裡(lǐ)的每一條配置指令都(dōu)是爲整個數據中心運行服務的,不可缺少,任何一個局部微小的操作都(dōu)可能(néng)導緻全局業務受損,爲何要建設自動化運行的數據中心,其實有一個重要的原因就(jiù)是靠人的經(jīng)驗去管理數據中心已經(jīng)不可能(néng)了,隻能(néng)靠機器自動管理。
第三,新技術演進(jìn)太快,雲計算也不過(guò)才十年之久,就(jiù)已經(jīng)遍地開(kāi)花了,大數據、人工智能(néng)甚至區塊鏈都(dōu)來了,這(zhè)些技術的寄托都(dōu)是在海量數據上,哪裡(lǐ)有海量數據,就(jiù)是數據中心。還(hái)有5G、移動互聯網、物聯網等等,哪個能(néng)離開(kāi)數據中心?數據中心真是一專多能(néng),海納百川,無所不能(néng),這(zhè)些應用都(dōu)給數據中心提出了新的挑戰,數據中心的基礎設施要能(néng)滿足這(zhè)些應用,隻能(néng)不斷變化調整,系統愈發(fā)複雜。
第四,人們對(duì)數據中心要求越來越高,現在的數據中心全年都(dōu)不能(néng)中斷,每中斷一分鍾都(dōu)會(huì)影響業務,因爲很多互聯網業務是24小時(shí)的都(dōu)有人訪問,前幾天阿裡(lǐ)雲中斷一個小時(shí),全網一片嘩然,阿裡(lǐ)雲也及時(shí)坦誠不公地進(jìn)行了道(dào)歉。這(zhè)種(zhǒng)事(shì)情再一再二可以,不能(néng)再三再四了,反複多次的故障很容易導緻大量用戶流失,最終隻能(néng)關門大吉,所以數據中心提供持續無中斷的能(néng)力看得比命都(dōu)重要,如此必然要在數據中心的各個系統中做冗餘備份設計。
冗餘備份設計給數據中心帶來的就(jiù)是增加複雜性,冗餘做的越多,複雜性越高,看似安全,實則危險重重。過(guò)于複雜的系統運行起(qǐ)來不僅效率低,甚至在故障出現時(shí),根本無法快速準确定位,所以要在冗餘和複雜性之間做取舍,選擇上做好(hǎo)平衡。
所以,數據中心不僅包含很多系統,每個系統還(hái)都(dōu)很複雜,越來越複雜,真是“貧窮限制了想象力”。現在哪個大型數據中心不是要靠幾十人的運維團隊才能(néng)支撐,這(zhè)是一項龐大的費用支出,而且還(hái)并不能(néng)保證支持好(hǎo),數據中心涉及那麼(me)多學(xué)科技術,一個人完全掌握一項都(dōu)不得了,怎麼(me)可能(néng)都(dōu)掌握到。數據中心每天要疲于處理各種(zhǒng)各樣(yàng)的問題:應用需求、擴容、變更、升級等等,複雜性增加了這(zhè)裡(lǐ)的每一項工作,要想一點錯不出很困難,這(zhè)也就(jiù)不難想象一個數據中心百分之八十的故障都(dōu)來自人爲。
這(zhè)麼(me)複雜的系統,沒(méi)有誰能(néng)夠有百分之百的把握操作能(néng)達到預期效果,不出意外。如果我們再一味這(zhè)樣(yàng),將(jiāng)數據中心按如此的方式,不斷建造下去,數據中心複雜性遲早會(huì)達到人們無法想象,無法管控的階段,讓數據中心陷入無序,這(zhè)樣(yàng)再好(hǎo)的技術也是白搭。數據中心複雜性已經(jīng)引起(qǐ)了更多人的關注,很多專家和學(xué)者也在出謀劃策,給出了一些超融合解決方案,試圖減輕數據中心負擔。現在的數據中心必須做減法,要化繁而簡,不能(néng)再去一味追求規模,新技術的引入也不能(néng)增加系統複雜性,控制好(hǎo)數據中心複雜度,以免失控。