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

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

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

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

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

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

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

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

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

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

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

轉(zhuǎn)自雪球

分享到

dajun

相關(guān)推薦