自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淘寶章文嵩:開源價值很大,但我也算不出來有多大

原創(chuàng)
系統(tǒng)
純粹的技術(shù)人多少會有一些開源情結(jié)。使用開源的技術(shù),在當下的IT領(lǐng)域已經(jīng)成為一種常態(tài);但是,身為技術(shù)主管或CTO,要如何在企業(yè)內(nèi)部推動開源,這仍然是一個比較困難的事情。在這方面,最有發(fā)言權(quán)的技術(shù)人莫過于在淘寶推動開源化進程的章文嵩博士。他對于在企業(yè)內(nèi)部推動開源的工作,都有哪些思考和感悟?請看以下的訪談。

【51CTO專訪】在今年12月4日的Velocity China Web性能與運維大會上,阿里集團的章文嵩博士(淘寶正明)再次以大會主席的身份在臺上進行了分享,今年分享的主題是阿里集團的開源成果以及開源流程的介紹。借著這次大會,51CTO編輯針對開源這個話題跟章文嵩博士展開了進一步的溝通,下面將溝通內(nèi)容整理出來,分享給大家。

章文嵩博士(淘寶正明)

章文嵩(淘寶正明)

本次溝通的主題是:身為技術(shù)主管或CTO,要如何在企業(yè)內(nèi)部推動開源?

---以下為采訪實錄---

51CTO:章博士您好!感謝您再次接受51CTO的采訪。那么首先一個問題就是,對于阿里開源化在過去一年帶來的成本節(jié)省,您是如何評估、計算的?

章文嵩:利用開源軟件可以大大的節(jié)約成本。我們可以舉個例子來說,原來整個淘寶的那個核心數(shù)據(jù)庫——核心數(shù)據(jù)庫淘寶有很多,比如說有商品庫,有用戶庫,有交易庫——我們就拿交易庫來說吧,過去是拿商用的解決方案,就是IBM小型機,EMC最高端的存儲,Oracle的數(shù)據(jù)庫,那么這一套下來,不算軟件的授權(quán)費用,硬件的成本就2000萬了,整個平臺的處理能力大概是9000個TPS(每秒交易量)。

但是我們現(xiàn)在拿現(xiàn)代的一些硬件,PCIe的Flash卡,接在計算機的北橋上面,不經(jīng)過南橋的存儲設備了,訪問速度很快,響應時間也很短。

我們拿PC服務器做——當然不是普通的PC服務器,大概八九萬塊錢的PC服務器,不是兩三萬的,因為那個八九萬塊錢的PC服務器在RAC,就是可靠性這些設計上會好一些。再加上那些存儲的卡,我們一臺機器大概成本11萬多,做到能力是TPS大概八千多,接近小機的水平。

51CTO:單臺嗎?

章文嵩:對,一臺,但是響應時間更短。因為過去商用的系統(tǒng),EMC存儲都是通過光纖來連接、傳輸,現(xiàn)在PCIe的傳輸速度更短,響應時間更短。這方面我們當然不是一臺機器解決,我們是16×2上去的,就是把數(shù)據(jù)庫分成16塊,每塊是master+backup,16×2上去的話,我的能力——交易庫主要是寫入——寫入這方面就可以x16,我的TPS就可以達到12.8萬的TPS。這個能力遠遠超過原來9000個,基本上是15倍以上。我花了錢大概就360萬左右,原來是2000萬的解決方案,這個成本的節(jié)約很大。而且你要從能力來說,能力提高了15倍,花的錢不到原來的五分之一,按照性價比來說,一下子就提升了75倍。

51CTO:如果加上人力的成本呢?

章文嵩:我們真正深入到這里面去,實際上人的成本是很少的。你真正核心的人員參與的不是太多,我們整體把這一套方案引進來,然后測試,人力成本應該非常低。而且這個人力成本只是用一段時間,對于大規(guī)模的系統(tǒng)來說,幾乎可以忽略不計,因為這一套系統(tǒng),你說是原來的75倍,原來是2000萬,你說75倍,那這個有多少錢呢。

比如我們的CDN系統(tǒng),原來我們拿商用系統(tǒng),在2010年的時候,單說用戶體驗提高,就是圖片唰唰的出來跟一張一張的在那兒冒,這個對用戶體驗的影響很大,對用戶體驗提升是非常大的。對交易的促進都可以先不說,光算簡單的硬件的投資,2010年那時候的規(guī)模大概是350G左右的能力吧,我們那時候整個成本,過去2000萬,或者200萬建一個節(jié)點,后來變成了30多萬建一個節(jié)點,整體就省了1億多的錢。這1億多,相對于我們CDN核心的研發(fā),大概也就10個人多一點。

所以,在2010年那時候的規(guī)模,在只有300多G的時候,我們省了1億多元;現(xiàn)在我們是2400G的能力。那時候我們團隊獲得淘寶唯一的創(chuàng)新大獎,創(chuàng)新大獎那時候其中致辭里面說,未來五年這一套技術(shù)會給集團節(jié)約32億的錢,因為每年規(guī)模都會不斷的變大。只是硬件的這一塊就可以節(jié)約這么多錢,相對來說,研發(fā)成本其實很低了。我們團隊獲得創(chuàng)新大獎,也獎勵我們集體跑去澳大利亞轉(zhuǎn)了一圈。

51CTO:按照這樣說的話,成本這塊其實還是挺好估算的。

章文嵩:對,這個估算可能落實到具體的項目,實際上算還是很容易算的。而且真正用了開源的技術(shù),我們自己掌握了核心技術(shù),碰到了問題想怎么干就怎么干。未來的發(fā)展也是,像我們的CDN系統(tǒng)也一直在改進。上面說的部分,2010年就結(jié)束了,2011年我們又引入了一些新的東西,比如說低功耗的服務器啊,把軟件進一步的優(yōu)化,2011年我們又做大節(jié)點的整合,比如說建40G的節(jié)點,因為要建2000多G的一個能力,不能還是10G、10G的一個一個建,這樣節(jié)點數(shù)太多了。節(jié)點數(shù)多,管理上面會是一個挑戰(zhàn)。

比如說北上廣我們要建40G一個節(jié)點,整合之后就可以節(jié)約成本,存儲空間都可以節(jié)約。事實上現(xiàn)在這個技術(shù),我們用了自己的技術(shù),我們就可以自己按新的方向,系統(tǒng)發(fā)展的規(guī)模不斷的演進,不斷的來改進它。用商用系統(tǒng)就沒有機會了,用了就掛在上面了,因為那是黑盒子,想改也改不了。

其實像我們這么大的規(guī)模,商用軟件也并不關(guān)注,因為全世界像我們這樣規(guī)模的企業(yè)可能就這么幾家。這么幾家客戶,給它再多的錢,實際上總收入不大。

交叉點與規(guī)模效應

剛剛我在演講當中說,在交叉點的左側(cè),個人和中小企業(yè)這個規(guī)模更大,商用軟件是給他們創(chuàng)造價值的;在我們那邊它是不創(chuàng)造價值的,如果我們繼續(xù)去用它,說明我們自己傻的,沒有認清這個規(guī)模效應。

51CTO:那么您之前提到,2010年初,集團決定更多的做一些開源項目。將項目開源的結(jié)果,一個是有學生參與進來研究,一個是同行會開始使用這個項目,促進交流和項目的發(fā)展。那么,將項目開源之初是否設立了一些目標,比如做到怎樣算是成功的,這個我們是如何進行量化的?因為您之前也提到,要將項目開源,工程師需要花三個月的時間將代碼整一整,要如何讓老板認識到這件事的價值?

章文嵩:代碼整一整這個過程對大家都是有幫助的,可以把代碼理的更干凈。一方面,代碼整一整,實際上相當于承認工程師的貢獻,因為每個文件必須要寫上作者的名字,這是對我們開發(fā)人員是很好的認可,當然他們也在意自己的聲譽,花點時間把代碼理得更干凈,其實很多時候是自發(fā)的(而不是我們要求的)。實際上這是很好的,一方面我們的開發(fā)人員的成果得到了認可,另一方面又可以自發(fā)的把代碼的質(zhì)量改的更好。

另一方面,跟外部去交流的話,本身對于項目也會是一個促進,因為我們在公司面對的需求相對來說比較單一,別的公司如果再用,可能有別的需求,或者是發(fā)現(xiàn)我們軟件有什么問題,這個時候軟件也可以不斷的完善。

阿里巴巴的開源流程

51CTO:您剛才提到內(nèi)部開源的流程,就是開源技術(shù)委員會。這個流程是怎么走法?

章文嵩:我們實際上開源一開始也沒有設立什么目標。因為開源這個,一般都是從小開始做起,很多時候,我們鼓勵還是先把它開源了,因為開源的項目本身也是不斷的在迭代、演進的。所以一開始我們是要符合一些規(guī)章,比如說在軟件開源不影響集團的一些核心業(yè)務的安全方面,那大部分時候是沒問題的。你說具體我們開源要做成怎么樣,沒有太多的規(guī)劃和目標的。

自然而然,我們的開發(fā)人員都自發(fā)的參與了這個過程。應該說整個阿里集團也是很開放的,相對來說企業(yè)文化也比較開放。我們的開發(fā)人員也喜歡做開源軟件,這兩方面的因素促使了在阿里開源推廣還是不錯的?;旧衔覀儸F(xiàn)在淘寶的很多基礎軟件開源到外面了。

51CTO:其實我問這個問題主要是,可能有一些公司的技術(shù)部,比如像新浪的技術(shù)想開源一些東西,但可能一個涉及到安全問題,一個涉及到工程師額外的一些工作,把一些數(shù)據(jù)剔除,寫一些注釋啊,把代碼整理一下之類的,CTO有時候就沒有辦法跟老板說這個東西有什么好處,來推動這件事情。所以想問一下,你們這里有什么他們可以學習的,比如說固定的一些流程或者是評估的方式?

章文嵩:你剛剛講的我們的開發(fā)人員發(fā)額外的時間,比如說補文檔啊,把代碼理的更清楚,實際上這本身我們的研發(fā)軟件這是必要的。本身對軟件是一個促進,對公司來說這是值得投資的。

51CTO:我覺得大部分公司好像都覺得軟件能用就行了,對可維護性考慮的不多。

章文嵩:我們覺得軟件不能光是當前能用,它未來也是要用的。隨著規(guī)模不斷的擴大,各方面新的需求進來,整個軟件還是要不斷的升級,不斷的改進,這些維護,這些花時間,我覺得都是值得的,公司應該要投資的。

51CTO:其實是一個理念的問題,因為大部分的軟件團隊可能不是這么一個理想狀態(tài)。您是如何處理理想狀態(tài)和現(xiàn)實的一個平衡的?

章文嵩:那其實還是回到量化這個題目上。具體項目我們可以量化,但是整體我們阿里開源了,對整個集團的技術(shù)品牌有多大的促進,促進當然很大,但是量化還是蠻難的一個事情,我們獲得的好處也是蠻多的。比如說很多技術(shù)人員愿意加入到我們這樣的開發(fā)團隊,我們校招的時候,學生很愿意來我們這樣的團隊,很愿意來阿里。

開源這個真正對公司的技術(shù)品牌產(chǎn)生了多大的影響,有時候很難去評估。像我們現(xiàn)在去校招,很多學生看過TFS,Tair這些代碼,那時候?qū)π@招聘是一個很大的促進。這方面的促進怎么去量化,怎么去評估,很難。例如,我們花了很多錢搞了3000多人參加的技術(shù)盛會—阿里技術(shù)嘉年華,我們想搞個模型來評估這項活動對阿里技術(shù)品牌促進,然后我們可以把他算一個數(shù)值出來去跟老板說,一直還沒找到這個模型(笑)。

51CTO:比如像Tair這樣的一個項目,它的整個流程是怎么樣的?

章文嵩:最早的Tair、TFS、OceanBase,都正好在我們核心系統(tǒng)部門,我們來推動這個事。前面也講了,我們Tair開源,一開始是2010年3月份我們說要開源,真正開源要到6月份了,確實我們的開發(fā)人員花了三個月的時間,去整理代碼,編寫一些文檔,當然現(xiàn)在文檔其實也還比較缺少,但是這是一個過程。一方面我們先把代碼開出來了,文檔也進一步的完善,外部的用戶也可以參與完善我們這些的文檔,也確實有用戶給我們反映bug,或者寄patch過來,這對整個開源項目挺好的。像TFS來說,新浪微博有用,新浪微博在國內(nèi)存圖片的規(guī)模也夠大的。

51CTO:TFS這個項目當時啟動是一個什么情況?

章文嵩:TFS在淘寶蠻早就啟動了,當時是我們淘寶第一技術(shù)高手,像多隆大俠,在2006年底就開始做了。

51CTO:那TFS到了2010年的時候,工程師想把這個東西開源,那時候具體怎么做的?那時候應該還沒有委員會吧。

章文嵩:對,那時候我們還在淘寶,我們淘寶的CTO,他審批通過了,同意開源了,就可以開源了。當時淘寶的CTO是吳泳銘,他很支持開源。

51CTO:安全方面的審核也是他來做嗎?

章文嵩:安全方面審核不是,有另一個團隊。我們公司內(nèi)部有一個安全的團隊,主要是檢查里面有沒有配置文件,或者是代碼里面含有線上的一些數(shù)據(jù),比如說IP地址或者是賬戶這些信息,這些信息不應該放在里面,萬一在里面的話,我們的系統(tǒng)可能受到影響。把這些信息拿掉就可以了。比如說哈希函數(shù),一些initial的seed,這些不能夠放出去。如果里面確實有一些靜態(tài)的seed,這些都要拿掉,至少要跟我們現(xiàn)在的不一樣。靜態(tài)的seed跟random seed不一樣,不管哪臺機器做都是一樣的,那么這些哈希函數(shù),比如一致性哈希,里面的initial seed肯定是好幾臺都一樣的。這個seed不能放在外面,尤其是跟外面交互的系統(tǒng),如果知道的話,我們就會受到攻擊。

51CTO:像我昨天看到一個項目是講你們靜態(tài)化的,后來有人說靜態(tài)化放出來可能比較危險,會不會有一些項目本身就覺得放出來不是很安全。

章文嵩:不會,靜態(tài)化這個思路應該沒有問題。其實大部分的項目都不會存在安全的問題。

而且我自己個人覺得,像阿里、淘寶這么大規(guī)模的公司,我們真正的核心競爭力,是在我們商業(yè)上面,是在我們的業(yè)務上面。那些業(yè)務上面的架構(gòu),真正核心是存在于數(shù)據(jù)中間,而不是軟件。軟件表示我們有能力未來可以做更大規(guī)模的系統(tǒng),或者是更多的一些新的需求。真正數(shù)據(jù)是日積月累下來的。比如說淘寶上面的用戶交易的數(shù)據(jù),每個人用戶的誠信記錄,賣家的誠信記錄都在上面。假設有人把淘寶的很多軟件拿過來,找到合適的人也開發(fā)了這樣的一個平臺——實際上也不是那么困難,只要找對人,一定可以做出來。但是你要跟淘寶這樣的平臺競爭,很難競爭。因為淘寶上面有很多數(shù)據(jù),這些數(shù)據(jù)就像一個社會有很多的信用記錄在那個地方,那個地方是空白的,你說人們愿意在什么地方交易啊。

所以說淘寶積累下的是數(shù)據(jù)的優(yōu)勢。因為數(shù)據(jù)是拿不走的,所以這個優(yōu)勢是巨大的,而且這個優(yōu)勢越積累越大。軟件肯定也是一部分,但是我們要擁有人才而不是擁有一個軟件。我們有了人,才可以解決未來更大規(guī)模的一些挑戰(zhàn),更多的一些需求。

51CTO:所以說其實現(xiàn)在也是一樣的,CTO審查,安全團隊看一下,沒問題可以發(fā),那發(fā)出去之后呢,還是由工程師自己操作?

章文嵩:對,一方面看代碼用什么樣的License。我們一般會推薦用GPL,因為我們自己覺得整個開源軟件的基石還是GPL。你用了GPL,你獲得的權(quán)利同樣要傳遞下去,要另一個接收方獲得相同的權(quán)利,確保整個軟件是開源的。就像Linux內(nèi)核是開源的,它是GPL的,在Linux內(nèi)核上面的工作,大部分都是開源的,除非是寫模塊的,這就整體保證了Linux內(nèi)核很有效的發(fā)展。

開源許可協(xié)議的選擇

我們可以看到,比Linux內(nèi)核更早的BSD,伯克利很早就把它開源出來了,它是用的BSD的許可。那么思科在1986年就創(chuàng)建了一個系統(tǒng),其中也用了很多BSD內(nèi)核做路由器,發(fā)展了它的IOS,Internetworking Operating System,都是在BSD上做了很多修改和改進。但是思科不會反饋給BSD的內(nèi)核。那時候思科的路由器賣了很多,他們做了很多改進,但是它不會反饋——因為BSD協(xié)議是很寬松的。同樣蘋果的iOS,也是用了BSD的很多東西。同樣也不會反饋回來。

同時,BSD因為license過于寬松,我個人覺得另一方面也導致了core team——就是BSD的kernel team——比較封閉,導致這個BSD這么多年,雖然起步很早——那時候的成熟度和應用度都還不錯,但是后來發(fā)展越來越緩慢了。

所以我們一般是推薦用GPL。我自己也覺得開源的世界里面,基石的license還是GPL,包括自由軟件基金會那套GNU的工具,確實確保了整個開源世界一個有序的發(fā)展。

當然我們也有開發(fā)人員根據(jù)自己的喜好選擇license,比如Hadoop相關(guān)的,比如Hive,那么我們的貢獻自然用的是Apache的許可。這就是屬于跟隨上游的一些項目,上游用什么,我們就用什么。

51CTO:明白了。那么下一個問題主要是有關(guān)托管平臺的。為什么我們當時選擇了自己開發(fā)一個淘蝌蚪的平臺,甚至現(xiàn)在同時運作了三個開源托管平臺,而沒有使用更加成熟的Github?

章文嵩:我們原來做淘蝌蚪項目的時候,看到Github確實比較成熟,但是那個平臺本身的平臺軟件不開源。Github背后也是一個商業(yè)公司,在做開源方面不是那么純粹。而且還有一個因素,就是Github在海外,國內(nèi)的用戶訪問的速度,包括用戶的習慣,語言方面的習慣,可能也不是跟我們中國人很吻合。那時候我們就想,我們干脆做一個完全開源的開源平臺,要符合國人習慣的。我們內(nèi)部開發(fā)人員也很有興趣,我們就搭建了一個,當這個平臺搭建之后,也需要持續(xù)的維護改進,我們現(xiàn)在很多開發(fā)人員都是業(yè)余時間做這個事情,主要時間還是要做本職工作的。所以這些平臺的改進,也斷斷續(xù)續(xù)的在發(fā)展。

51CTO:這個項目沒有一個獨立的項目組?

章文嵩:我們都是虛擬小組。這個事情我們最近又把下一步做一些規(guī)劃,比如淘蝌蚪和阿里的開源平臺怎么整合,已經(jīng)有一個虛擬的團隊準備做這個事情——在忙過雙十一、雙十二之后。

51CTO:這個平臺為什么選擇SVN的方式呢?

章文嵩:SVN比較簡單。那時候公司內(nèi)部用SVN比較多,git是我們內(nèi)核團隊在用,其他的團隊用的少。當然現(xiàn)在遷到git的也越來越多了,我們后續(xù)也在考慮把git加到我們的開源平臺上面去。

51CTO:那么,現(xiàn)在平臺上外部貢獻者的整體情況如何?

阿里的幾個大型開源項目

章文嵩:目前在淘蝌蚪的平臺上,大概可能有350多個項目吧,真正阿里在上面開源的自己的項目大概是100來個,大部分還是外部的。當然,比較大型的項目還是阿里多一些,比如TFS,Oceanbase,Tair這些。

51CTO:那比如說,新浪微博給TFS貢獻過代碼么?

章文嵩:目前好象還沒有。他們會提出來一些需求,我們會幫著解決。

51CTO:相當于他們有提交bug或者是request?

章文嵩:對。再比如說我們Tengine要發(fā)布,也收到一些bug的報告,包括bug fix其實也有收到過。

51CTO:你們有么有做過這方面的統(tǒng)計,來自外部的這些貢獻多嗎?

章文嵩:多倒不是太多,但是有。

51CTO:這方面沒有想過做些什么事情促進?

章文嵩:其實我們現(xiàn)在把代碼、文檔都放出來了,但是還有一些,比如說我們的bug tracking,原來我們TFS的bug tracking用的是內(nèi)部的,那么就有一些外部的朋友跟我抱怨,說你們那個issue system為什么不開源,起碼讓我知道你有哪些issue還在。我知道了,我心里更清楚有哪些坑,我就更敢用了。這方面我們還很值得改進。

其實我們現(xiàn)在很多代碼的提交都放在外面了,并不是說我內(nèi)部開發(fā)一段時間,再一次性的放出去,我是讓所有的開發(fā)過程已經(jīng)放出來了。所以像bug tracking,issue system這些,我們以后也應該把它們放出來。

51CTO:現(xiàn)在淘蝌蚪上的issue系統(tǒng)不是跟你們內(nèi)部系統(tǒng)一起的?

章文嵩:沒有。我們內(nèi)部TFS還有其他獨立的測試團隊在用原來比較熟悉的系統(tǒng)。

51CTO:用的哪些系統(tǒng),可以介紹一下么?

章文嵩:阿里內(nèi)部有好幾個,有克魯?shù)?,還有bugfree。后續(xù)我們也想推進這個事,因為將bug tracking和issue tracking放出來之后,大家也會知道我們現(xiàn)在項目上還有哪些bug未解決,哪些是known issue。

51CTO:那我們就期待啦。那么最后一個問題,是一個國際化的問題,因為雙十一之后,Hacker News上也在討論,說淘寶的人是不是也應該到英文界去說一說之類的。你們這邊有計劃跟英文的開源界做更多的交流么?

章文嵩:對,我們也正在考慮這個事情。包括這次跟O'Reilly的資深副總裁Gina和Mike都在講,整個我們雙十一的訪問量,面對的挑戰(zhàn),包括平臺的交易額。我剛剛演講特意講我們191億的平臺交易額,比美國所有電子商務網(wǎng)站加起來,比如說感恩節(jié),Black Friday,Cyber Monday等等,所有加起來都沒有我們大。整個淘寶天貓的平臺今年交易額到一萬億,一萬億也是一個很大的數(shù)目,我們已經(jīng)是全世界最大的電子商務公司,比eBay加上亞馬遜平臺的交易額之和還要大。確實我們應該跟他們講,他們也感興趣,我們也在想,通過多個渠道,到國外做一些技術(shù)分享和交流。明年吧:)

當然,我們可以把好的項目增加一些英文的文檔,提升一下我們國內(nèi)的開源開發(fā)者在國際上的影響力。

51CTO:好的。那么本次問題就到這里,十分感謝您接受我們的采訪!

責任編輯:yangsai 來源: 51CTO.com
相關(guān)推薦

2010-04-27 14:04:56

章文嵩技術(shù)人才淘寶

2020-05-29 10:18:58

python開發(fā)代碼

2022-06-01 11:52:42

網(wǎng)站客戶端網(wǎng)絡

2009-01-20 13:57:02

網(wǎng)絡硬盤Google云計算

2012-07-13 02:49:00

章文嵩開源ADC2012

2021-06-04 05:19:57

運營商用戶投訴

2017-05-22 21:40:28

LVS章文嵩阿里

2021-07-26 09:43:24

代碼MapStructs項目

2023-02-07 13:51:11

SQLupdate語句

2011-12-09 09:27:20

章文嵩架構(gòu)系統(tǒng)

2019-05-23 09:11:55

華為禁令ARM

2019-03-11 19:25:54

社交網(wǎng)絡大數(shù)據(jù)價值

2023-11-07 08:36:34

JavaScriptJS挑戰(zhàn)

2013-01-30 12:12:20

微信二維碼智能手機

2012-03-08 09:34:24

Metamorphos開源

2025-03-24 10:11:06

SpringJava開發(fā)

2021-01-21 08:04:39

數(shù)據(jù)結(jié)構(gòu)

2020-04-21 10:25:29

計算機無法顯示編碼

2025-04-15 08:54:22

2022-07-26 08:51:05

TryLockselectGo
點贊
收藏

51CTO技術(shù)棧公眾號