京東云峰:電商移動云平臺背后的技術(shù)
業(yè)內(nèi)專家對京東云的評價是“要聚焦電子商務,自成一系的云應用平臺”。
這與“做第一電商云”的京東云所確定的方向相吻合。京東云,擁有六個子平臺,覆蓋了開放接口、托管云、應用開發(fā)、移動開發(fā)和社區(qū)互動以及交易服務等,提供的是一站式的電商云服務。而為了更加透徹地了解京東云,CSDN云計算特別采訪到了京東云峰負責人、京東研發(fā)部云平臺移動云研發(fā)總監(jiān)——曾科。
京東云峰負責人、京東研發(fā)部云平臺移動云研發(fā)總監(jiān) 曾科
云峰,完整的移動“小”生態(tài)
京東云,是一站式的電商云。云峰,是京東的移動云平臺。
在曾科看來,云鼎、云擎、云峰、云匯等所有子平臺相互關(guān)聯(lián),組成了京東云為電商服務的一體化云平臺。對用戶而言,這些平臺之間,只需要一個賬戶來登陸。而云峰,依托云鼎、云擎、云匯,通過大量的計算與存儲的資源與互動社區(qū),是免費對移動應用開發(fā)者開放的子平臺。
“云峰目前提供了云測試、云推送、云分析、短地址等四大服務,后續(xù)還增加代碼托管、自動編譯、打包以及應用發(fā)布推廣等服務。在云峰上,我們希望可以為移動開發(fā)者提供一個完整的生態(tài)服務。”曾科對CSDN云計算頻道說。
這里的開發(fā)者有三類,一是擁有開發(fā)能力的POP商家,二是服務廣大電商的ISV們,三是重要的獨立力量——第三方開發(fā)者(如個人開發(fā)者等)。“云峰不會直接面對最終用戶,我們的定位是為開發(fā)者提供移動云平臺。”曾科如此表示。
事實上,云峰所覆蓋的移動云平臺的“小”生態(tài)系統(tǒng)已經(jīng)開始聚攏。中國電子商務研究中心發(fā)布的《2012年度中國網(wǎng)絡零售市場數(shù)據(jù)監(jiān)測報告》顯示,截至2012年12月中國B2C網(wǎng)絡零售市場(包括平臺式與自主銷售式)上,京東商城名列第二。這一數(shù)字下,無論是移動用戶還是POP商家數(shù)量都不會少,而這兩者自然也催生了第三方如ISV和獨立開發(fā)者的力量。這正是曾科的底氣所在。“中國智能手機的用戶群一天一個數(shù)字,京東本身就已經(jīng)有了6000萬以上的移動用戶,還有團購客戶端、電子書EBook,數(shù)字音樂,AppStore和云盤等產(chǎn)品,這些都可以直接(有些會在未來)接入云峰平臺。再加上ISV和開發(fā)者,我們已經(jīng)形成了基于移動應用的緊密紐帶。”
開源優(yōu)化+自主研發(fā),走成熟的路
云峰的技術(shù)理念是開源優(yōu)化+自主研發(fā),走成熟的路。

京東電商云架構(gòu)圖
目前云峰中已經(jīng)推出以下四種服務:
云推送:通過服務器與客戶端通訊,實現(xiàn)實時的廣播通知、應用消息的送達,包括廣播、組播和點播模式,發(fā)送文字、圖片以及聲音等多媒體內(nèi)容;支持Android,低電量、低流量消耗,消息通知及時送達;支持推送工具推送和API接口調(diào)用。
短地址:采用簽名算法,提供長域名到短域名的雙向轉(zhuǎn)換,方便移動設備、微博、郵件中使用;關(guān)鍵是更短的域名,比如3.cn,更短的跳轉(zhuǎn)時間。
云分析:通過客戶端對用戶操作的記錄,實現(xiàn)對用戶行為數(shù)據(jù)、路徑與終端數(shù)據(jù)的上報和分析,提供實時的移動應用統(tǒng)計分析服務,幫助開發(fā)商調(diào)整運營策略,提高用戶體驗。包括活躍用戶數(shù)、區(qū)域分布、渠道、版本、終端設備、啟動次數(shù)、使用頻率與時長、頁面訪問數(shù)據(jù)等。
云測試:擺脫人工測試,實現(xiàn)真機自動化測試,免去測試終端的購買、租賃等諸費用開銷。
這其中,技術(shù)層面,有開源優(yōu)化也有自主研發(fā),亮點很多。
比如移動云測試基于圖像識別算法,通過在服務器端的腳本錄制、解析和執(zhí)行,真機測試,最終將功能測試、性能測試和兼容性測試等結(jié)果(報表、截圖等)反饋給開發(fā)者。而針對一些特殊需求,還會做建議修改。曾科說:“目前業(yè)界更多是通過控件識別算法來完成測試的,但是往往過于依賴Android和iOS操作系統(tǒng),也會受到一定限制,而圖像識別算法天然就跨平臺,表現(xiàn)很優(yōu)秀。”
再如支持在線腳本錄入。由于在線錄入資源有限,排隊等候現(xiàn)象嚴重,業(yè)內(nèi)一般是在線錄入+輔助客戶端錄入。但是不同平臺的客戶端安裝、卸載、升級維護都很麻煩,所以借助京東云的整體平臺優(yōu)勢,云峰可以只支持在線錄入,用戶在非常短的等待時間內(nèi)就可以完成使用。
以及云推送。在對比數(shù)個方案之后,云峰團隊最后選擇了使用GO語言來自己開發(fā),GO語言源自C語言,可以媲美C,或者C++,在性能、安全性、并發(fā)性以及后續(xù)的優(yōu)化空間等方面優(yōu)勢很明顯。
除此以外,云分析不僅做了圖形對比,并且對明細數(shù)據(jù)進行了對比,比如一款應用在iOS和Android上的對比分析等;短地址不僅支持TCP和HTTP的長鏈接,還支持HTTP CallBack,這樣給了用戶多項選擇,可以自由選擇,相對接入門檻也會更低一些。
曾科和云計算可以分享4個數(shù)字:
1.相對業(yè)內(nèi)一般100KB的標準,云推送SDK客戶端安裝包只有40KB,非常小;
2.由于移動端流量的數(shù)據(jù)很敏感,云推送的月空載流量控制是在0.3M以內(nèi),這也遠低于業(yè)內(nèi)1-1.2M之間的指標;
3.云分析日志流量支持壓縮,單條日志在0.3K左右,多條日志會通過優(yōu)化算法進一步降低,從而節(jié)省流量;
4.短地址不僅可以做到最短,而且在跳轉(zhuǎn)時間上也可以控制在10毫秒左右,做到最短。
顯然,為了達到這些細節(jié)的完善和優(yōu)化,技術(shù)團隊做出了巨大的努力。“從最初技術(shù)選型到中間研發(fā),做了大量優(yōu)化工作。比如云測試中的圖像識別算法需要不斷優(yōu)化,準確率從80%、85%、90%......不斷提高。再如區(qū)域統(tǒng)計算法是基于自主研發(fā)IP庫的,目前準確率可到96%,在整個行業(yè)中都是領(lǐng)先的。這些后續(xù)還需要繼續(xù)優(yōu)化。”
談到技術(shù)路線,曾科很坦率:“不僅是我們,任何一個云研發(fā)平臺的團隊,都會盡量使用成熟的開源方案。比如OCR引擎、Hadoop、HBase、MongoDB、Redis等開源技術(shù)。而在核心產(chǎn)品方面,則會從頭開始自主研發(fā)。”
讓創(chuàng)新變成實在的創(chuàng)造力
目前,京東云服務已經(jīng)面向公眾開放,雖然目前還屬于邀請制,但總體數(shù)量比較大。目前實際登陸用戶每周的增長率都在100%,勢頭很快。而隨著大量用戶的反饋意見或建議,曾科表示:“在未來3-5個月中,還將繼續(xù)完善和優(yōu)化現(xiàn)有系統(tǒng)。比如云峰方面,近期針對iOS設備支持會加大力度。未來還將有更多令人激動的新功能出現(xiàn),比如在線云調(diào)試、個性化消息推送、個性化域名等,要結(jié)合電商業(yè)務做具有京東特色的推送,如針對商品的訂單、交易、數(shù)據(jù)等服務。而針對開發(fā)者的需求和反饋,從研發(fā)到應用發(fā)布、推廣也會逐步形成生態(tài)的閉環(huán)。”
創(chuàng)新的背后,是京東云平臺的幾百號研發(fā)人員。他們組成了一個天然的資源池,共同在開發(fā)云鼎、云擎、云峰等平臺,這些平臺的上線時間幾乎同步。由此,研發(fā)團隊面臨的機遇很大,但挑戰(zhàn)同樣大。最重要的一方面就是必須有足夠的成熟度,要有成熟的心態(tài)克服困難。
曾科對記者說:“云峰這邊包含產(chǎn)品規(guī)劃、設計、技術(shù)架構(gòu)設計、Web前后臺、服務研發(fā)、服務器API研發(fā)以及Android和iOS端的研發(fā),運營推廣等組員。京東云平臺比較完整,希望有更多的技術(shù)伙伴可以加入我們。”
曾科在互聯(lián)網(wǎng)行業(yè)已經(jīng)工作13年,不僅對云存儲和高性能網(wǎng)站架構(gòu)方面都熟悉(分布式文件系統(tǒng)DFS、P2SP技術(shù)專家),同時對移動開發(fā)方面如LBS、網(wǎng)盤移動端、移動插件等也很有經(jīng)驗。在他看來,核心技術(shù)力量需要對新生技術(shù)有所帶動,而后者活躍的創(chuàng)造力也會給前者帶來收獲。技術(shù)團隊的根本目標是,讓創(chuàng)新變成實在的創(chuàng)造力。
采訪后記:
建設新城市遠比改造舊城市要容易。亞馬遜和阿里集團都是先有了自己的系統(tǒng),然后才開放部分基礎(chǔ)資源給到云計算服務,但其本質(zhì)上都是雙系統(tǒng)架構(gòu)。而京東不存在這個歷史包袱。京東公有云服務和京東私有云已有統(tǒng)一規(guī)劃,技術(shù)上很多模塊是互用和耦合的。期待,在不久的將來,這些一線實踐經(jīng)驗可以更好地分享出來,幫助云計算研發(fā)人員更好地成長。