這樣一套系統(tǒng)的購(gòu)買成本,少則上千萬(wàn),多則上億。核心技術(shù)也掌握在對(duì)方手里,出現(xiàn)疑難雜癥了,自己人束手無(wú)策,依然得付出高昂的人工費(fèi)用請(qǐng)對(duì)方工程師蒞臨解決。另一邊,以阿里為代表的互聯(lián)網(wǎng)企業(yè)普遍采用了IBM的x86式服務(wù)器、Linux操作系統(tǒng)、MySQL開源數(shù)據(jù)庫(kù)以及自研存儲(chǔ)系統(tǒng),我們簡(jiǎn)稱之為“分布式+開源”架構(gòu)。那么,傳統(tǒng)企業(yè)能否學(xué)著互聯(lián)網(wǎng)公司“去IOE”化呢?要回答這個(gè)問(wèn)題,首先得來(lái)看看互聯(lián)網(wǎng)企業(yè)為什么要逐步“去IOE”。

傳統(tǒng)企業(yè)去IOE,是一場(chǎng)昂貴的煙花秀嗎?

首先,集中式部署很難適應(yīng)互聯(lián)網(wǎng)企業(yè)對(duì)應(yīng)用的高可擴(kuò)展性(High Scalability)要求。任何一家互聯(lián)網(wǎng)公司的產(chǎn)品,在設(shè)計(jì)之初,都只是一個(gè)雛形,基礎(chǔ)產(chǎn)品發(fā)布完畢之后又會(huì)衍生、優(yōu)化、部署出多少需求,是無(wú)法預(yù)知的。例如,淘寶網(wǎng)的后臺(tái)模塊包括分布式文件系統(tǒng)(TFS,Taobao File System)、HFS數(shù)據(jù)通信中間件、TimeTunnel實(shí)時(shí)數(shù)據(jù)傳輸系統(tǒng)等。假如依然采用單點(diǎn)集中式的數(shù)據(jù)庫(kù)部署模式,不同團(tuán)隊(duì)新發(fā)布一個(gè)系統(tǒng),就必須和單點(diǎn)集中的核心系統(tǒng)不斷磨合和測(cè)試,才能確保新系統(tǒng)不會(huì)影響原有工作系統(tǒng)的性能。低可擴(kuò)展性大大降低工作效率,以至于無(wú)法容忍。另一方面,假如單一系統(tǒng)出現(xiàn)了宕機(jī),必須保證其他的業(yè)務(wù)系統(tǒng)能夠“有損”工作,將系統(tǒng)災(zāi)難局限在局部而不影響用戶體驗(yàn),在集中式封閉系統(tǒng)下,單點(diǎn)出現(xiàn)了故障就意味著全系統(tǒng)無(wú)法工作了。

第二,互聯(lián)網(wǎng)系統(tǒng)正在經(jīng)歷的訪問(wèn)壓力,是前所未有的,超越了上述3家產(chǎn)品所能模擬的最大訪問(wèn)壓力。2013年雙11當(dāng)天,同時(shí)在線人數(shù)超千萬(wàn),網(wǎng)站PV過(guò)百億,天貓和淘寶的單日成交金額為350.19億,支付寶成功支付1.88億筆,最高每分鐘支付79萬(wàn)筆。由于當(dāng)時(shí)阿里巴巴已經(jīng)基本完成了“去IOE”的項(xiàng)目而完全采用了“分布式+開源”的系統(tǒng)架構(gòu),因此我們無(wú)法設(shè)想假如當(dāng)時(shí)依然維持“集中式+封閉”系統(tǒng),阿里巴巴是否依然能夠呈現(xiàn)這一壯舉。盡管如此,我們依然可以猜想得到,小型機(jī)、Oracle數(shù)據(jù)庫(kù)和EMC存儲(chǔ)系統(tǒng)在發(fā)布之時(shí),是很難模擬如此復(fù)雜場(chǎng)景和高并發(fā)訪問(wèn)壓力的。既然存在著隱患,為何要將自己的業(yè)務(wù)發(fā)展空間,受限于基礎(chǔ)產(chǎn)品廠商呢?

第三,由于“IOE”產(chǎn)品并不開源,工程師們針對(duì)特殊業(yè)務(wù)需求,難以針對(duì)具體情況進(jìn)行定制化的優(yōu)化。例如,淘寶網(wǎng)和天貓的用戶需要“高頻度讀、低頻度寫”訪問(wèn)海量的小圖片文件,這些文件的組織、索引、更新,是Oracle數(shù)據(jù)庫(kù)和傳統(tǒng)存儲(chǔ)方案解決不了的。阿里的工程師們被迫研發(fā)出獨(dú)有的TFS分布式文件系統(tǒng)來(lái)解決這個(gè)問(wèn)題。當(dāng)然,Google的GFS系統(tǒng)和騰訊的TFS系統(tǒng)也先后問(wèn)世了。

第四,“集中式+封閉”商用系統(tǒng)的成本,和業(yè)務(wù)規(guī)模的增長(zhǎng),成指數(shù)級(jí)關(guān)系。“分布式+開源”系統(tǒng)的成本,和業(yè)務(wù)規(guī)模的增長(zhǎng),成線性關(guān)系。后者高度可控。

傳統(tǒng)企業(yè)去IOE,是一場(chǎng)昂貴的煙花秀嗎?

從這里可以看出,谷歌、阿里、騰訊等公司的“分布式”架構(gòu),是由其爆發(fā)式的業(yè)務(wù)需求所推動(dòng)的,它們的業(yè)務(wù)和技術(shù)需求,已經(jīng)大大超越了傳統(tǒng)的“集中式”架構(gòu)的范疇,必須另起爐灶,自成體系。那么,國(guó)內(nèi)的金融、電信等傳統(tǒng)行業(yè),是否能學(xué)著互聯(lián)網(wǎng)企業(yè),走上一條“去IOE”的分布式發(fā)展道路呢?在我看來(lái),在10年之內(nèi)這幾乎是不可能完成的任務(wù)。

首先,互聯(lián)網(wǎng)企業(yè)之所以能夠逐步地替換掉“IOE”產(chǎn)品,首要條件是它們的技術(shù)團(tuán)隊(duì)在高壓力的業(yè)務(wù)場(chǎng)景下,以不斷試錯(cuò)勇于創(chuàng)新的精神,摸索多年才具備了成熟的條件。阿里巴巴的1.7萬(wàn)名工程師,耗時(shí)3年多,才逐步完成了這件“風(fēng)險(xiǎn)極大、收益極高”的項(xiàng)目。在傳統(tǒng)行業(yè)的IT部門,工程師在以穩(wěn)定為先的工作氛圍下,創(chuàng)新試錯(cuò)思維難以得到鼓勵(lì),技術(shù)能力無(wú)法滿足“去IOE”的要求。

其次,傳統(tǒng)企業(yè)的行業(yè)發(fā)展,幾乎沒有非要“去IOE”不可的動(dòng)機(jī)。在目前“IOE”系統(tǒng)完全可以支持業(yè)務(wù)發(fā)展的宏觀背景下,要企業(yè)花費(fèi)巨資投入去完成一件“風(fēng)險(xiǎn)極大、收益極低”的挑戰(zhàn)性項(xiàng)目,對(duì)決策層和執(zhí)行團(tuán)隊(duì)來(lái)說(shuō),是一件很難理解的事情??蛻魧?duì)系統(tǒng)和數(shù)據(jù)穩(wěn)定性的要求,要遠(yuǎn)遠(yuǎn)高于互聯(lián)網(wǎng)用戶,在推進(jìn)過(guò)程中經(jīng)常要出現(xiàn)短期難以定位、無(wú)法解決的系統(tǒng)問(wèn)題,那么誰(shuí)來(lái)承擔(dān)責(zé)任?近10年來(lái),上海證券交易所雖然一直在研究將核心交易系統(tǒng)遷移至Linux系統(tǒng)上的可能性,但是線上運(yùn)行的依然是小型機(jī)系統(tǒng),并且10年之內(nèi)無(wú)法更改。我相信,奮戰(zhàn)在研發(fā)一線的團(tuán)隊(duì),出于自身實(shí)際情況的決策,往往是比較明智的。

第三,既然阿里的“去IOE”分布式方案難以推廣,能否沿用“集中式+封閉”架構(gòu),但是采用國(guó)內(nèi)自主研發(fā)的數(shù)據(jù)庫(kù)產(chǎn)品和服務(wù)器(聯(lián)想、浪潮系列)呢?在我看來(lái),這依然是所謂的“愛國(guó)主義者”的一廂情愿。國(guó)內(nèi)的數(shù)據(jù)庫(kù)產(chǎn)品和Oracle、MySQL比較起來(lái),就如同三歲孩子和大學(xué)教授在比拼智商。在服務(wù)器方面,浪潮的產(chǎn)品,在低利潤(rùn)的PC服務(wù)器領(lǐng)域,正在逐步接近聯(lián)想的產(chǎn)品(x系列),但是金融、電信行業(yè)采用的小型機(jī)、大型機(jī)產(chǎn)品上,IBM優(yōu)勢(shì)巨大,難以動(dòng)搖。

轉(zhuǎn)自雪球

分享到

dajun

相關(guān)推薦