不可復(fù)制的“去IOE”
核心觀點:
“IOE”并不當(dāng)代表IBM、Oracle和EMC三家國際品牌的IT廠商,而是特指:“I”是IBM的縮寫,指的是IBM小型機;“O”是Oracle的縮寫,指的是Oracle數(shù)據(jù)庫;“E”是EMC的縮寫,指的是EMC存儲設(shè)備。這里的“IOE”架構(gòu)為針對傳統(tǒng)行業(yè)企業(yè)關(guān)鍵應(yīng)用而設(shè)計,基于向上擴展(Scale-up)技術(shù)高端設(shè)備以及圍繞著它們開發(fā)的大型數(shù)據(jù)庫和商業(yè)中間件。
對于絕大多數(shù)企業(yè)來說,不僅要了解自身的技術(shù)需求是否合適采用“去IOE”技術(shù),還需要擁有龐大的技術(shù)團隊,并具有自我試驗的精神和決心,但這只是效仿阿里巴巴“去IOE”的必要不充分條件。
一旦企業(yè)用戶效仿阿里巴巴選擇分布式+自行開發(fā)開源系統(tǒng),就意味著它將從此邁入孤獨之旅,軟件的開發(fā)將沒有可以借鑒的經(jīng)驗,也沒有戰(zhàn)略合作伙伴。此外,貌似通過開源社區(qū)討論對技術(shù)可控,但軟件的可控性實際上要低于硬件的可控性,一旦開發(fā)核心人員發(fā)生變故,整套系統(tǒng)的開發(fā)成果都將有付諸東流的風(fēng)險。
“去IOE”到底是節(jié)省成本的命題還是成本轉(zhuǎn)移的命題,也是值得企業(yè)用戶推敲的?! ?/p>
最近,“去IOE”風(fēng)聲正勁。
阿里巴巴集團高調(diào)宣布今年“去IOE”成功,引發(fā)互聯(lián)網(wǎng)行業(yè)甚至傳統(tǒng)行業(yè)企業(yè)的熱議:一、現(xiàn)在已經(jīng)采用的IOE系統(tǒng)是否要效仿阿里巴巴進(jìn)行替換?二、未來采用的系統(tǒng)是否不再優(yōu)先考慮“IOE”架構(gòu)?
企業(yè)用戶要想獲得這兩大問題的個性化答案,其實還需要對這背后隱藏的若干潛在問題進(jìn)行思路梳理。問題無外乎集中在如下幾點:“去IOE”到底指的是什么?阿里巴巴為什么要“去IOE”?“去IOE”對于企業(yè)用戶尤其是具有一定規(guī)模的企業(yè)來講是否普遍適用?未來系統(tǒng)的選擇是集中式還是分布式,商用系統(tǒng)還是開源系統(tǒng)?IOE系統(tǒng)的成本是否就高于非IOE系統(tǒng),可控性是否就劣于后者?IBM、Oracle和EMC企業(yè)的產(chǎn)品是否代表的就是專有昂貴的集中式系統(tǒng)?
什么是“去IOE”
當(dāng)業(yè)界熱議“去IOE”時,首先需要給“IOE”一個相對明確的定義。實際上,“IOE”并不當(dāng)代表IBM、Oracle和EMC三家國際品牌的IT廠商,而是特指:“I”是代表IBM的縮寫,指的是IBM小型機;“O”是Oracle的縮寫,指的是Oracle數(shù)據(jù)庫;“E”是EMC的縮寫,指的是EMC存儲設(shè)備。這里的“IOE”架構(gòu)是針對傳統(tǒng)行業(yè)企業(yè)關(guān)鍵應(yīng)用而設(shè)計的,基于向上擴展(Scale-up)技術(shù)高端設(shè)備以及圍繞著它們開發(fā)的大型數(shù)據(jù)庫和商業(yè)中間件。
因此,如果將“去IOE”簡單地理解成去掉三家國際品牌IT 廠商無疑是誤讀。這三家企業(yè)作為商用產(chǎn)品提供商,在互聯(lián)網(wǎng)普遍推崇分布式與向外擴展(Scale-out)技術(shù)、開源軟件、云服務(wù)中也一直處于活躍的態(tài)勢。比如EMC的VMware是x86架構(gòu)服務(wù)器云計算的基礎(chǔ),其公有云存儲服務(wù)也開展得風(fēng)生水起;開源分布式數(shù)據(jù)庫MySQL實際上隸屬于Oracle;IBM一直是開源軟件的重要支持者與貢獻(xiàn)者,其Power服務(wù)器也不再僅僅是擁有強大Scale-up能力的專有小型機的代名詞。PowerLinux開始強調(diào)Scale-out分布式能力和對開放的系統(tǒng)的支持,而近期成立的OpenPOWER聯(lián)盟更是開放了POWER內(nèi)核IP授權(quán),Google的加盟也使得Power未來在互聯(lián)網(wǎng)行業(yè)的迅速推進(jìn)成為可能。明年P(guān)OWER8芯片的問世或?qū)⑹沟脴I(yè)界對Power服務(wù)器的變身刮目相看。
“去IOE”的試驗精神
阿里巴巴集團從2010年開始的“去IOE”運動耗時3年,經(jīng)過1.7萬名內(nèi)部技術(shù)人員的努力,在今年高調(diào)宣布“去IOE”成功。據(jù)悉,除了支付寶完成了“去IE”目前依舊采用Oracle數(shù)據(jù)平臺,阿里巴巴最大的現(xiàn)金流結(jié)算系統(tǒng)也完成了“去O”的工作,基本實現(xiàn)了“去IOE”的既定目標(biāo)。
這里的一組數(shù)字值得關(guān)注,即耗時3年和1.7萬名人員,阿里巴巴無疑將自身作為風(fēng)險極高的“去IOE”創(chuàng)新試驗品,下定決心才有了現(xiàn)在的成果。眾所周知,在國外,Google、亞馬遜等代表性互聯(lián)網(wǎng)企業(yè)根本就不存在“去IOE”問題,因為它們構(gòu)建系統(tǒng)之初從小規(guī)模起步日漸發(fā)展到超大規(guī)模,采用Scale-out的分布式系統(tǒng)是其“路徑依賴”的結(jié)果。而“IOE”的系統(tǒng)架構(gòu)則依據(jù)傳統(tǒng)企業(yè)對IT的需求,基于Scale-up技術(shù)的高端設(shè)備以及圍繞著它們開發(fā)的大型數(shù)據(jù)庫和商業(yè)中間件。
阿里巴巴后來總結(jié)“去IOE”是“技術(shù)門檻很高、技術(shù)風(fēng)險很大、水很深”的技術(shù)改革,敢冒如此風(fēng)險的首要原因就是,考慮成本可控、技術(shù)可控等因素,不愿繼續(xù)增加成熟商用系統(tǒng)以滿足阿里巴巴特別是淘寶爆炸式業(yè)務(wù)增長的架構(gòu)需求。由于其中的特殊性和特定性,這一過程雖然具有示范效應(yīng),但卻有著太多不可復(fù)制的底層技術(shù)細(xì)節(jié)。比如互聯(lián)網(wǎng)交易系統(tǒng)對數(shù)據(jù)一致性要求低于傳統(tǒng)銀行,但任何交易都存在數(shù)據(jù)復(fù)雜性與一致性的協(xié)調(diào)問題。因而雖然阿里巴巴采用分布式架構(gòu)處理部分交易系統(tǒng),但也需要對分布式開源數(shù)據(jù)庫進(jìn)行大量定制化改造。
一些具有一定技術(shù)規(guī)模的大型企業(yè)也曾經(jīng)嘗試“去IOE”,但在實施過程中出現(xiàn)技術(shù)反復(fù),這其中甚至包括技術(shù)實力雄厚的電信運營商。因此絕大多數(shù)企業(yè)不僅要了解自身的技術(shù)需求是否合適采用“去IOE”技術(shù),還需要擁有龐大的技術(shù)團隊,并具有自我試驗的精神和決心,但這只是“去IOE”的必要不充分條件。單憑這幾點,企業(yè)效仿阿里巴巴將現(xiàn)在已經(jīng)采用的“IOE”系統(tǒng)進(jìn)行替換,就是風(fēng)險極高的事。換句話說,阿里巴巴的“去IOE”運動是不可復(fù)制的。為此,多數(shù)企業(yè)對阿里巴巴“去IOE”運動思考落腳點開始集中在,未來將要采用的新系統(tǒng)是否不再優(yōu)先考慮“IOE”系統(tǒng)?
“去IOE”的實質(zhì)
阿里巴巴為什么要“去IOE”?因為集中式部署很難適應(yīng)互聯(lián)網(wǎng)大規(guī)模應(yīng)用對擴展性的要求,與其說是“去IOE”,更不如說其實質(zhì)是分布式架構(gòu)+開源系統(tǒng)替代了集中式架構(gòu)+商用系統(tǒng)。
眾所周知,IOE架構(gòu)有效地支撐著絕大多數(shù)非互聯(lián)網(wǎng)企業(yè)的關(guān)鍵業(yè)務(wù)。但大型企業(yè)自身技術(shù)的逐漸成熟,尤其是技術(shù)團隊自主開發(fā)能力的增強,使得部分企業(yè)認(rèn)為對大型IT廠商依賴過多,成本偏高,技術(shù)上逐漸產(chǎn)生依賴感,如何在未來新系統(tǒng)中實現(xiàn)技術(shù)可控與成本可控成為“去IOE”思想產(chǎn)生的重要原因。
分布式架構(gòu)+開源系統(tǒng)是否就意味著技術(shù)可控值得推敲。原來的軟件設(shè)計使得早期的IT系統(tǒng)強調(diào)單機可靠性和單機性能,但隨著云計算的崛起,軟件層面的可靠性、可擴展性設(shè)計降低了業(yè)務(wù)對底層服務(wù)器單機的可靠性和性能的要求。為此,IBM Power服務(wù)器也在不斷變化。在擁有強大Scale-up技術(shù)的基礎(chǔ)上,Power開始逐步淡化小型機形象,強調(diào)其在Scale-out上的分布式能力。實際上,IBM引以為傲的“Wston”系統(tǒng)就是由90臺Power 750服務(wù)器構(gòu)建的處理平臺。而在最新一期HPC500強排行榜,就有16套Power系統(tǒng)上榜,其集群能力與x86服務(wù)器相比并無伯仲之分。
在開源系統(tǒng)和商用系統(tǒng)的博弈之中,企業(yè)需要考慮方法論問題,即需要考慮一個系統(tǒng)的功能性需求和非功能性需求。在企業(yè)新業(yè)務(wù)新系統(tǒng)的創(chuàng)新中容易首先考慮功能性需求,即創(chuàng)新的系統(tǒng)是否能夠解決當(dāng)下的問題。但當(dāng)其滿足需求之后,企業(yè)將很快面臨非功能性需求的壓力,即如何構(gòu)建一套穩(wěn)定的系統(tǒng)。有多少人員能夠維護(hù)好開源系統(tǒng),不斷進(jìn)行開源中的Bug修改,按照系統(tǒng)的新要求加入新的功能并不斷優(yōu)化。
這恰恰就是商用系統(tǒng)存在的價值,畢竟系統(tǒng)從特定條件下的“可用”到能夠向其他企業(yè)推廣商用,這其中的門檻很高,商用軟件用戶可以通過與商用系統(tǒng)廠商的戰(zhàn)略合作,了解其他類似用戶的做法,獲取經(jīng)驗防患未然。因此,一旦企業(yè)用戶效仿阿里巴巴選擇分布式+自行開發(fā)開源系統(tǒng),就意味著它將從此邁入孤獨之旅,軟件的開發(fā)將沒有可以借鑒的經(jīng)驗,也沒有戰(zhàn)略合作伙伴。而且,貌似通過開源社區(qū)討論對技術(shù)可控,但軟件的可控性實際上要低于硬件的可控性,一旦開發(fā)核心人員發(fā)生變故,整套系統(tǒng)的開發(fā)成果都將有付諸東流的風(fēng)險。
成本可控是“去IOE”的另一重要原因,但實際發(fā)生的也許只是成本的遷移。企業(yè)投資購置成熟高端設(shè)備和商用中間件,可以只關(guān)注業(yè)務(wù)的創(chuàng)新,而功能的實現(xiàn)、擴展、優(yōu)化、安全的保障等都由商用系統(tǒng)廠商交付。如果企業(yè)采用低端分布式設(shè)備和自行開發(fā)開源軟件,確實降低了初始投資,但卻轉(zhuǎn)移了成本。
阿里巴巴在“去IOE”中就談到,原來只需要幾十臺小型機,現(xiàn)在卻要面臨數(shù)千臺x86服務(wù)器,必須重新架構(gòu)全新的運維體系把這種復(fù)雜性對上層進(jìn)行“封裝”。 如果企業(yè)此時又選擇了自行開發(fā)開源軟件,固然再次節(jié)省了軟件投資,但實際成本又將轉(zhuǎn)移到自身技術(shù)人員隊伍的建設(shè)上,比如阿里巴巴就擁有1.7萬人的龐大技術(shù)團隊。因此,“去IOE”到底是節(jié)省成本還是成本轉(zhuǎn)移,也是值得企業(yè)用戶推敲的。