以阿里雲去IOE

在上市故事中,阿里巴巴集團一再強調的核心業務之一是“雲”和大數據,業務戰略是“雲+端”。這個基於“雲”的宏大敘事,始於六年前的內部技術革命,善造概念的阿里,稱之為“去IOE”——這已經成為一個新的短語。

2008年,王堅從微軟亞洲技術研究院空降阿里,擔任首席架構師。這個在阿里內部尊稱為“博士”的首席架構師並非程序員出身,是一個不會寫代碼的架構師,卻甫一到任就提出了讓阿里一眾“技術男”震驚的“去IOE”,即在阿里的IT建設過程中,去除IBM小型機、Oracle數據庫及EMC存儲設備。

去IOE的替代方案浮出水面:以廉價的PC服務器替代小型機,以基於開源的自研數據庫替代Oracle數據庫,不用高端存儲設備則成為了阿里雲的雛形。

基於開源協議和軟件構建IT基礎架構,這在國外互聯網公司裡並不鮮見,包括亞馬遜、谷歌和Facebook都採用這一路線。但是,阿里當時IT基礎架構基於最普遍使用的IOE,技術人員多為學IOE架構出身,其中很多人本就是IOE跳槽而來的人員。

王堅的技術路線,首先就是要拿下這些來自IOE的技術大牛。他的幸運是碰上馬雲這樣一個不懂技術的老闆。馬雲力挺王堅,逼著技術人員從頭學起,給預算,招兵買馬,整合團隊。

王堅和團隊花了五年時間,終於在2013年5月從支付寶下線了最後一臺IBM的小型機,7月把Oracle的數據庫“趕出”了淘寶核心的廣告系統,並稱將在兩年內用自研數據庫完全取代目前存量的部分Oracle數據庫。在此期間,王堅利用一切機會為阿里雲傳道,公開疾呼去IOE。

阿里的自我革命並未全部完成,但去IOE概念已引發廣泛的技術爭論。阿里在已經形成壁壘的IT基礎架構市場殺出血路,剛探索出的基於“雲”的新方案逐步商用,已接入最保守的金融機構、高保密需求的政府部門,甚至開始用於司法取證系統。

2013年4月,馬雲在北大演講中提到阿里雲。當著已經晉升阿里CTO的王堅的面,他說:“網上都說我被王堅忽悠⋯⋯百度李彥宏懂技術、騰訊馬化騰學技術,只有馬雲不懂技術。很多人就一直認為阿里巴巴的技術很差。其實正因為我不懂技術,但我們尊重技術,我們公司的技術才最好。”

“你要寫上:淘寶2010年起不再購買小型機了”

阿里去IOE一開始是迫於無奈。

阿里巴巴研發院業務發展專家孫黎明回憶,從2006年和2007年開始,業務快速增長的阿里開始面臨世界級難題——數據庫太大。

2008年,阿里的數據庫已經成為全亞洲最大的數據庫用戶。以當時的技術能力,如此大的數據庫已經幾乎不具備擴展可能。

“我們把全中國最知名的頂尖的DBA(數據庫管理員)請到公司,一個晚上一張報表都做不出來,沒有任何一家公司包括IBM、微軟,能夠為我們提供一整套的技術服務。”孫黎明說。

IOE架構也無法滿足阿里電商平臺秒殺類營銷推廣,“為了準備一次秒殺營銷,從社會採購到安裝部署至少需要半年的時間,才能完成IT系統寬容量的過程,但半年以後,這項業務幾乎已經不存在了。”

對於“雙十一”這樣的業務暴增時點,IOE架構最讓人頭痛的則是需要估算交易量,到底需要多大的服務器和數據庫才能保證不宕機?一次性上馬太大服務器和數據庫等於浪費,但若買小了又無法保證業務。

此外,眾所周知,IOE投入、運維之成本,但是“阿里巴巴不願意IBM的鐵架子(服務器)躺著拿走淘寶利潤”。

王堅告訴所有人:“不掌握核心技術就沒有公司發展。”

阿里巴巴副總裁、去IOE項目負責人劉振飛,向財新記者回憶了王堅對去IOE的迫切。

2009年底,當時負責淘寶技術預算的劉振飛向王堅彙報,提出淘寶“2010年不會購買IBM小型機”,沒想到被王堅挑戰:“既然2010年可以不買小型機了,為什麼還要給自己留後路以後還可能購買呢?你要在給董事會看的PPT上明確寫一句:淘寶2010年起不再購買小型機了。”

劉振飛只好“攢出”一條去IOE的技術路線:“低成本、線性可控、去中心化(分佈式):去IBM,PC Sever替代小型機;去Oracle,用MySQL替代;去EMC,用中低端存儲”。他最後以驚歎號結尾,粗體寫上一句:“淘寶2010年起不再購買小型機了!”第二年,劉振飛進一步提出用MySQL+自研數據庫(OceanBase)替代Oracle,並不再使用高端存儲。

但最初劉振飛實際上心裡沒底。去IOE無先例可循,分佈式和集中相比,在數據統一性上是否可以保證?開源數據庫是否夠穩定?這些問題後來在探索中都得到了解決。

和技術相比,讓王堅和劉振飛更頭痛的是人:“質疑的聲音五花八門,有人懷疑去IOE的必要性,有人主張做幾個試點具備能力就可以了,不需要徹底去IOE,還有人認為只要去掉IE就行,保留Oracle也無妨。”

但在劉振飛看來,阿里的痛點已經到了去IOE勢在必行的地步:業務幾乎每年翻番,系統擴展跟不上業務:“如果遇到機房電力或空調檢修,需要將近30分鐘才能完成數據轉移。”

最終,一群“技術男”被心理學教授王堅“逼上絕路”,然後殺出了另一條路。

2012年,阿里所有的技術後臺運維和運營部門集中整合,成立了全集團統一的技術保障部。阿里雲形成了部門1200人全集團8000人的技術團隊。

劉振飛總結,阿里巴巴去IOE的過程其實是阿里技術演進的縮影:一開始依賴商業軟件,逐步形成自身的MySQL分支,成為開發使用開源軟件MySQL最好的企業之一,然後是研發支持海量數據的分佈式數據庫系統OceanBase並用在多個關鍵業務。從用Oracle處理數據,到用Hadoop集群,到發展成業內單個機群節點數最多的Hadoop機群,再到用自主研發的飛天平臺上的ODPS(Open Data Processing Service,開放數據處理服務)。“阿里實現了真正的雲計算。”

淘寶當“小白鼠”

阿里的去IOE其實在兩個層面展開,存量的重點是淘寶和支付寶,而新增業務,比如餘額寶、眾安保險則完全基於“雲”來搭建。

當時淘寶在數據庫方面需求最大,痛點最多,劉振飛希望可以從淘寶開刀。整個集團內部當時對去IOE充滿焦慮,而淘寶團隊居然站出來同意當“小白鼠”,劉振飛至今對此心存感激。

機緣巧合,淘寶在技術層面的一次更新也讓去IOE更容易。2009年,淘寶因為自身業務需求,核心系統進行過一次服務改造,即在數據庫和應用層之間增加了一個服務層,屏蔽了數據層的複雜性。

淘寶項目得以成功推進後,示範效應出現,阿里巴巴的B2B和支付寶陸續進入。2012年底,淘寶系去IOE完成。2013年5月17日,阿里集團最後一臺IBM小型機在支付寶下線。而EMC存儲設備在2013年中全部下線。劉振飛向財新記者強調,Oracle數據庫並非完全下線,還有較少存量,計劃兩年內全部替換。

和存量相比,阿里新增業務使用“雲”似乎理所當然,但是也並非一帆風順。

天弘基金創新支持部總經理樊振華回憶了餘額寶轉“雲”的歷程。

餘額寶2013年6月13日上線,從3月開始,樊振華團隊和支付寶技術方進行整體架構溝通。

這是傳統金融行業IT思路與互聯網技術路線的第一次衝突,雙方在閉關室足足討論了四天,確定下來一期系統的建設目標和要解決的問題。

一期推出時,天弘基金的IT技術架構仍然基於IOE,天弘為了餘額寶立項從軟件和硬件準備了三個月,然而上線當天,基金網站系統癱瘓了。

馬雲的新要求是餘額寶要參加更瘋狂的“雙十一”大促。這一次,樊振華沒有選擇,只能用阿里雲,又用了三個月,天弘基金把餘額寶“搬上了”阿里雲。

樊振華在回憶中形容這個過程“非常艱辛”,但結果驚人。原有的IOE系統設計併入是400臺服務器,清算時間8小時,交易筆數是3億筆賬戶達到1000萬,對於一個在業界處於中下游的基金公司而言,這樣的設計已經非常大膽。9月26日,使用雲之後,支持併入到5000臺服務器,清算時間30分鐘以內,處理筆數在“雙十一”之前為7億多,賬戶有效用戶數1億。天弘終於敢參加“雙十一”了。

2013年“雙十一”當天,整個餘額寶系統發生了1679萬筆交易,資金規模超過1000億元,用戶數3000萬。“對於天弘基金乃至整個基金行業,這都是不可想象的。” 樊振華說。

技術問題還是信任問題

在業界對阿里能否完全去掉Oracle數據庫的質疑聲中,阿里已經邁上商用道路,並擠入了金融機構和政府的IT系統採購名單。

劉振飛說,阿里內部去IOE成功後,來交流的機構非常多,其中金融機構比例很大:“數據庫技術團隊有次和我開玩笑說,他們都快變成專業接待部門了。”

金融機構對阿里的訴求很簡單,安全和穩定。為了更有說服力,阿里手裡拿著各類安全認證,但在交流中,阿里更願意講自己的案例。支付寶在去IOE的過程中,為了滿足金融行業的應用場景做了許多針對性開發,其核心交易系統已經切換到阿里自研的OceanBase數據庫上。

眾安保險的基礎架構即基於阿里雲,在開業前花了五個月的時間完成兩地三中心的部署。系統上線五天就被拖進“雙十一”,當天產生160萬筆保單,系統處理保單花了2個小時。這樣的處理能力,成為阿里雲對外業務介紹時的案例。

技術界至今仍有聲音認為,IOE比開源技術更安全。但阿里上下對此眾口一詞稱是誤解,並解釋開源軟件的優勢在於開放透明,大家都可以來發現和糾正安全隱患。

“安全憂慮的本質是信任問題,信任問題惟一可以解決的方法是靠透明。”在劉振飛看來,企業、機構或政府要做的是信任選擇,選擇信任傳統硬件廠商,還是阿里雲計算服務。

IOE的高成本在業界已被詬病多年,阿里巴巴提供新的更便宜的可選方案,但並不想打廉價牌。

王堅和劉振飛都反對將去IOE的原因歸結為單純省錢,以及排外或追求國產化的問題。

雖然淘寶商品庫當年用20%的成本實現了500%的容量,但並不表明後期運維就不花錢。

“IOE的運維成本固然高昂,開源軟件的升級和維護成本也不能忽視。”劉振飛強調。但對於IOE的普通用戶,因為IOE報價相對高,“雲”的維運成本節省依然明顯,一般只有IOE系統的20%,規模越大,相對成本越低。

現在找阿里的金融機構主要有兩類:小銀行和非主流業務。小的村鎮銀行一直缺乏IT系統支持,阿里輸出“雲”的同時,其實還是IT服務運營商的角色;而大銀行在現階段全系統改造風險尚待評估的情況下,也已經開放部分業務,尤其是對接電商的業務。

在“智慧城市”成為各地政府政績考核要素之後,再加上適逢政府新一輪信息安全擔憂之際,阿里雲和政府機構的合作推進更顯順利了。阿里趁勢快速簽下了杭州、海南、廣西多地的“智慧城市”,大力輸出阿里雲概念。

2014年5月,阿里雲拿下國家氣象局項目,將為氣象信息提供數據挖掘服務。6月12日,司法系統也植入阿里雲,在電子取證後快速上傳並獲得司法鑑定和認證,全國上百家法院已開始認可這些電子證據的真實性。■


分享到:


相關文章: