新浪科技訊 3月23日上午消息,2012百度開發者大會今日召開。百度首席架構師林仕鼎從技術層面對百度云的技術框架與愿景進行了全方位的解讀。新浪科技全程直播該會議。
以下為演講實錄:
主持人:感謝百度技術副總裁王勁精采的演講,接下來有請百度云首席架構師林仕鼎先生做分享。有請!
百度首席架構師林仕鼎:大家好,剛剛Robin闡述了我們的百度云戰略的愿景,作為云戰略的工程師角度來講,可以分享我們的理想和夢想。
我們先從百度云計算的技術開始說起。搜索引擎是云計算技術最典型的應用,我們在十幾年做開發引擎的過程中,也積累了一套云計算的技術。這個技術就是以數據中心、網絡、服務器硬件的架構,加上大規模數據存儲和處理為代表的軟件基礎架構。我們在軟硬件的基礎架構上搭建一層數據挖掘分析與新興的算法,以及數據倉庫等智能的算法。我們把軟件的基礎架構和數據智能通常叫做大數據的集成。軟硬件的基礎架構我們起一個名字叫數據中心的計算。
這樣的云計算技術對于百度的產品,我們叫做一種推動作用,更準確的來說,就是以前不能做的事情現在能做了,以前能做的事情現在可以做得更好。大家很清楚,我們互聯網業務是成功發展的狀態。很多時候有很多新的業務要發展,但是受限于技術,其實不能用業務來推動公司的發展,因為基礎架構的構建非常重要。大家在業內開玩笑說,是由你的痛苦來驅動公司的發展,遇到問題再去改,這樣的速度很慢。有了云計算以后,我們可以改變這樣的情況,由系統架構驅動這個業務發展。 甚至我們可以通過數據分析的方法,用數據驅動這個公司的業務發展。這是我們對云計算技術的認識。
云計算在百度已經做了很多年了,只不過以前這些技術主要是為搜索引擎服務,這時候我們還叫做專有云,包括綠色環保IT的建設,高效的網絡和服務器的計算,以及大規模存儲,大規模計算,還有實時存儲與計算。我們有時候在想,我們有了這么好的技術,我們可以把幾百個pp的數據處理,我們可以讓這些數據開放出來,服務更多的開發者。到了2007年我們做了很多工作,首先我們是把我們的服務API開發出來,比如說搜索的API,地圖的API等等,以前這些只是讓用戶使用,現在是開放出來了,讓開發者也使用。
這些技術的程序員和開發者,我們怎么把這個技術更好的研發出來,服務開發者,現在我們開發互聯網服務的時候,主要用這個lan的架構,也有服務器,我們去搭建一個云存儲,云的數據庫,還有云的消息溝通機制,然后構建一個云服務組件,java我們也在開發中。百度除了做搜索引擎,我們還有百度貼吧,很多的在線服務,里面有很多功能,比如說接收器、留言板,這些通用功能也是必要的,我們把這些也開放出來了,規范這個接口,這樣大家直接通過這些接口就可以調用以前在百度的服務內容。
然后我們還統一搭建了CPU的應用,這就形成了SaaS的平臺,我今天會講兩個,一個是我們的存儲技術,存儲是一個最通用的需求,我們做了很多年。因為百度的業務很多,根據百度業務的特點,我們做三個存儲系統,一個是Mola,這個系統是低延時、高并發在線的K/V存儲。
還有就是海量高吞吐網頁存儲,BDDB,我們做搜索引擎需要把所有網頁都打開一遍。
還有一套系統是離線系統,HDFS,離線數據備份。這個問題都是共性的,你怎么能夠處理一個超大規模的存儲引擎,怎么實現它的管理、運維和容錯,我們應該改正這種情況。從2011年開始我們在設計新的存儲系統,這套存儲系統我們希望能夠屏蔽掉剛才說的Table、File、Object,然后統一到pad上,我們還基于內存搭建了一個分布式數據結構。
為了屏蔽這些系統的差異,我們搭建一個數據訪問層,便于開發者內部的應用,可以更好的用這些不同的系統。我們發現這個存儲系統它還是落后的,為什么呢?百度現在所有的業務有一個特點,每一個用戶他自己的數據量,包括他的服務器量其實并沒有那么大,總量很大,這就意味著我們的數據存儲要有變化,我們要做云,情況發生了變化,每一個用戶會上傳下載更多的數據,我們就需要再做一套新的系統,我們希望這套系統在全國內搭建,我們在華北、華南各搭建了一套搜索引擎,它會有好幾個數據中心組成,用高清網絡來處理的。
為了再度降低用戶的延遲,我們又搭建了一套CDI的節點,這個并不是很大,搭建很多的接口。這個系統在每個機型上都可以寫入,這樣我們可以極大的降低用戶讀寫的延遲。這給我們技術也帶來很大的挑戰,在各個機型上都可以寫入的話,我們需要處理EC的問題和讀寫同步的問題。最開始我們是有需求,我們從這個技術出發,去設計,然后我們發現這個技術會更好,我們會做統一的技術,但是因為有新的業務發展,我們又要設計新的業務系統,百度有很多技術就是在需求和技術發展之間來做不斷的更新迭代,我們從技術出發做我們的技術,然后又有新的需求,再反過來做新的技術。這樣的迭代過程中產生了很多的技術,這個技術在得不是廣為使用的,今天我們希望把這個技術逐漸的開放出來,讓更多的開發者跟我們一樣去應用這個技術。
另外一個在線服務開發的技術挑戰,比如說百度的貼吧大概有100多個模塊,他可能產生幾百個到千的量級和小的服務,這樣一個系統KPI需要變化,我們需要改進。然后很多時候你有業務需求,你要改善你的存儲,做一個迭代,然后明天又做一個迭代,你會遇到很多的問題。然后對于這樣一個問題,我們也在思考,怎么能夠把這個系統做得更好,這邊有一個需求你去打一下,那邊有一個需求你又去打一下,會比較亂,從去年開始我們在搜索一個開發方法。我們覺得做一個在線的服務,有幾個步驟,比如說先有想法,把這個想法之后實現原型,然后再設計一個系統,最后出現產品。可以在最開始的時候就可以通過數據收集的方法來驗證,然后你需要開發,這時候我們有開發框架,使你可以很快的做你的原型。然后你的原型系統也有一個測試,這個測試也是基于測試框架的,這是一個新的業務,有一個模擬現場,然后通過應用引擎部署運維,你對一個功能你就做兩個,AB兩種方法,讓用戶去檢驗究竟哪一種方法是好的。通過數據收集、數據分析幫你選擇哪一種方法是好的。開發過程中我們從想法、原型、系統、產品各個階段都有數據收集,以前是內部使用的,現在我們開放出來了。
這套系統有什么收益呢?有兩個收益,前端成本下降30%,Bug下降40%。減少高階技術人員投入,降低研發時間,更多的新秀可以參與其中,去開發一個很難做的系統。做三個例子,我們部分使用的開發方法之后,他人員的消耗會下降50%,當我們全部使用這套方法,他又可以下降30%,更重要的是對于百度來說,我們只用一兩個工程師,就把這樣一個系統做完了。這幾年百度在做新產品的速度,確實比以前快了。我們有云計算,我們有在線開發的方法和流程支持,我們應該把它開放出來,讓更多的開發者也可以跟我們一樣用這樣的方法,去服務網民,這就是我們開放的平臺。
推薦閱讀
和訊科技消息 北京時間3月23日,據國外網站報道,近日一份法庭文件表明,蘋果在起訴三星涉嫌侵犯版權之前,曾與后者在2010年4次交涉以避免訴諸法律。 來自The Verge網站的消息稱,蘋果公司在法庭立案文件中表示曾和三>>>詳細閱讀
本文標題:百度首席架構師林仕鼎解讀百度云技術框架
地址:http://m.sdlzkt.com/a/kandian/20120323/43633.html