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