[QCon北京2012]肖偉詳解百度個人云對移動開發(fā)的支持
原創(chuàng)4月18日,QCon北京2012大會準時召開。來自全球各地的頂級技術人才齊聚一堂,分享最新技術、開發(fā)經(jīng)驗、交流心得。
在18日上午的主題演講中,百度基礎架構部架構師肖偉向大家介紹了百度的下一代云平臺,以及技術和發(fā)展細節(jié)。

肖偉指出,目前國內外有很多的公司都有不錯的產(chǎn)品架構來支持云計算這個理念,然而,大多數(shù)產(chǎn)品只是將傳統(tǒng)的IDC建設,變成了一個軟件化的產(chǎn)品,也就是給開發(fā)者提供機器和帶寬,讓他們的服務在這個云服務器上運行。這真的是開發(fā)者想要的核心東西嗎?提供云計算的公司,在國情下,真的能從這種出售硬件資源中謀求長期高速的發(fā)展嗎?
以此為基點思考,百度提出了將面向開發(fā)者的云計算平臺向個人云計算平臺轉移的思路,推出了下一代云平臺:個人云。
“我們在云端給每個用戶提供一臺云PC,并在這臺PC上安裝了我們的云操作系統(tǒng),開發(fā)者開發(fā)的服務,是由用戶安裝到自己的云PC上運行,這種模式是三贏的局面:對于用戶,云操作系統(tǒng)提供了App運行的基礎資源(計算和存儲);對于開發(fā)者,無需為服務器埋單,而且得到了整個云平臺為其積累的用戶和用戶數(shù)據(jù);對于云提供者,通過提供用戶增值服務而盈利(更多的資源和存儲)”,在介紹中,肖偉這樣描述百度的下一代云平臺。
百度云平臺支持移動應用開發(fā)
與目前廣泛存在的云平臺還有一點不同的是,百度云平臺充分考慮了未來的發(fā)展,提供對移動設備的支持。
肖偉說“我們在做云平臺的時候發(fā)現(xiàn)一個問題,業(yè)界的云計算系統(tǒng)過少的考慮了移動的整合,無論是亞馬遜也好還是谷歌也好,在開發(fā)一個應用的時候,都覺得是一個網(wǎng)站。而現(xiàn)在就是一個手機應用為王的時代,我們現(xiàn)在是不是有一種云平臺能夠支撐手機的開發(fā)?”
肖偉表示,支撐手機開發(fā)要解決云到端的問題。手機訪問云第一個問題是耗電,第二個問題是連接不穩(wěn)定,第三個是耗帶寬?!拔覀兿M靡环N技術將手機和云建立一條穩(wěn)定的連接,這樣能夠幫助手機省電、省流量,而且?guī)椭謾C做更好的適配”。
百度通過“蟲洞”技術,將一些不適合手機瀏覽的內容加工成適用于手機瀏覽和感知的應用,比如對觸屏的支持、對視頻的壓縮,以及推送機制的實現(xiàn)。
肖偉同時表示,完備的技術實力只是開發(fā)者需求的一部分,開發(fā)者仍然面臨研發(fā)環(huán)境復雜、產(chǎn)品變現(xiàn)難、終端分裂嚴重、營運推廣難等問題。而百度將通過“個人云”這一平臺來幫助開發(fā)者解決這一系列問題。
“個人云的受眾不是開發(fā)者的,而是用戶。個人云是一個產(chǎn)品,是由百度提供的個人云平臺,百度在個人云平臺上面提供了云能力和數(shù)據(jù)”,肖偉說。其中,云能力包括BA的能力,還包括重構的能力,以及沖浪服務,還提供離線下載、指紋識別,還提供百度用戶的數(shù)據(jù)。
“百度和開發(fā)者一起做這個生態(tài)系統(tǒng),讓用戶生活云中”。肖偉表示,開放云平臺是面向開發(fā)這的服務器,相當于開發(fā)者提供一臺抽象的可以任意擴展的服務器,而“個人云”,則相當于給開發(fā)者直接面向用戶、面向用戶PC和移動設備的平臺。
由于數(shù)據(jù)在云端,個人云能夠做到非常好的分享和人機交互,它所帶來的便利必然得到個人用戶的喜愛。而此時,開發(fā)者只要研發(fā)出滿足用戶需求的產(chǎn)品,就能通過百度的渠道進行推廣,通過百度的變現(xiàn)能力進行盈利——百度現(xiàn)有的5億用戶和海量的數(shù)據(jù),都將為開發(fā)者提供一個比較高的起點。
“個人云”的技術實現(xiàn)
介紹完“個人云”的概念后,肖偉接著向大家闡釋了“個人云”平臺的實現(xiàn)方式。百度“個人云”平臺依托于百度的專有云技術和開發(fā)云技術實現(xiàn)的。該平臺上包括云存儲、通訊系統(tǒng)(包括人與人的通訊和人與應用的通訊、人機交互)、用戶系統(tǒng)、設備管理、智能編程,業(yè)務組件幾個子系統(tǒng)。
在云生態(tài)的部署方面,盈利模式包括廣告、增值服務、App應用支付模式和開放第三方系統(tǒng)的加入等。
此外,“個人云”平臺的底層核心技術包括三塊:云存儲,云引擎和云通信。
云存儲方面,百度使用分布式的Server和分布式目錄服務給用戶提供可以支持海量的存儲服務。并從用戶隱私和分享的便利性方面考慮對其支持權限做了充分設定。其中,分享功能中包括對應用的轉碼服務,以支持從PC設備向移動設備的分享。比如將文檔轉化成flash,使用戶能夠在手機端非常好的閱讀它。
云引擎技術中也充分考慮到了PC設備與移動設備間的融合,其實際效果是,云與端之間的內容可以實現(xiàn)充分的融合互通:比如“云在處理一個邏輯的時候,突然發(fā)現(xiàn)有一個功能,它在端做更適合,比如說云要獲取一個攝象頭,這個攝象頭只有端有,這個時候就把這個任務扔棄端”。百度將這種云與端得協(xié)調工作機制封裝在SDK里,“我們給端提供一個SDK,然后直接開發(fā)APP就可以了,它只是一個SDK而已。用戶用SDK開發(fā)出端之后,它在云上會對應一個云的PC虛擬化。這個時候,我們在內部有一個系統(tǒng),將用戶真正的程序影射成Linux進程”,肖偉介紹到。
第三個核心技術是云通訊系統(tǒng)。“我們在端和云通訊的時候,比如說我們是可以根據(jù)短信進行通訊的,無論你根據(jù)什么通訊,我們必須給每個APP分配一個入口。”肖偉舉例說,比如開發(fā)者想用短信跟APP通訊,百度會給每個APP分配一個手機號,短信發(fā)到服務器上,服務器會解析用戶的手機號和內容,將手機號和內容在云端轉成IPC的服務。訪問到你的服務之后,你就提交請求,然后把這個結果轉成短信的形式下發(fā)給用戶。此外,百度還提供了終端Agent技術,以建立可靠的連接、節(jié)省流量和耗電。提供P2P機制,以保證數(shù)據(jù)平滑的傳輸。
最后,肖偉強調,使用百度“個人云”平臺后,“開發(fā)者不需要開發(fā)一個人類工具了,而是直接使用百度的好友系統(tǒng)以及百度手機上的一些客戶端,直接用就可以了。這樣就完成了人與人的交互。個人云存儲系統(tǒng)就涉及到云引擎技術,然后構成了一個個人云平臺。我們結合變現(xiàn)、系統(tǒng)及服務以及第三方開發(fā)者服務組成一個生態(tài)鏈,就是數(shù)據(jù)和技術、百度的渠道、百度的變現(xiàn)能力,這樣使開發(fā)者做APP研發(fā)過程中能夠做的更好”。