📖 ZKIZ Archives


以阿里雲去IOE

2014-06-16  NCW
 
 

 

巨大數據庫倒逼阿里巴巴去IOE,並以阿里雲順勢搶

佔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日,司法系統也植入阿里雲,在電子取證後快速上傳並獲得司法鑑定和認證,全國上百家法院已開始認可這些電子證據的真實性。

PermaLink: https://articles.zkiz.com/?id=104033

Next Page

ZKIZ Archives @ 2019