自主研發的京東云
京東作為國內最大的電商之一,也在搭建自己的云平臺,而且大部分的技術都是自主研發。為什么不選擇現有的資源而要自己研發?
京東云大數據平臺技術負責人廖曉輝說:“京東全產業鏈的電商模式,在國內是獨一無二的,沒有成熟產品可以借鑒,很多技術問題都需要創新的方式去解決。只有自主研發才能打造出最適合京東的信息系統。第二,“技術驅動”一直是京東的發展戰略,我們自主研發的信息系統和積累技術,是京東的核心競爭力之一。但是事實上京東并沒有完全自主研發所有的系統,也應用了一些開源的的技術。再結合京東自身的業務,去解決京東遇到的問題,從而更好地為我們業務去服務,為用戶去服務。”
京東的云平臺卻包含很多分支包括宙斯、云鼎,移動平臺等,是什么原因讓京東打算做這么復雜的云平臺?
廖曉輝認為,京東云對外所推出的公有云服務,都是基于私有云技術的產品。京東自身業務發展非常需要有一個穩定,完善的私有云做基礎。在私有云技術產品穩定后我們就對京東生態內的合作伙伴、對社會開放。云平臺是京東技術產業化的先鋒,要以云技術和云模式,構建一個電商云生態,讓京東生態內的賣家和合作伙伴以及讓全社會做電商的企業都能在京東云上享受到京東的電商服務。
隨著京東的發展,京東的賣家越來越多,所有的電商平臺都存在這樣一個問題:多個租戶共享同一數據庫實例必然需要一個有效的隔離方案,防止一個用戶的慢查詢請求或惡意請求影響其他用戶訪問。
廖曉輝說:“就做云數據庫來講,在京東云里面提供的服務既有共享型的數據庫,也有獨享型的數據庫。一些用戶特別關注的資源隔離對于這個問題,我們的做法是用獨立的虛機方式去做部署,或者基于容器技術—Docker去實現不同級別的資源隔離。”
大數據環境下的Spark
毫無疑問京東的數據量一定大的驚人,那么在大數據環境下進行數據分析,更多人都會選擇Spark,因為大家都知道它是基于內存上面進行運算,這樣的話可能處理的數據會有限。
廖曉輝告訴記者:“就spark來講,它出現時間不長發展的卻很快,它的RDD分布式內存結構概念和容錯性支持,以及利用DAG做執行優化,即性能和可靠性的表現,使得它非常有吸引力。但在內存受限的情況下,確實會影響它的性能表現。對于內存等資源限制的情況下,還需要對大量數據做低延遲處理,,這種場景我們可能需要考慮采取近似計算方式,但 如果計算結果的精度要求不能降低,可能我們要走增量計算的方式:持續性地對一些增量數據做一些累進式的實時計算,來得到實時地計算結果來滿足業務或用戶的需求,相當于把全量數據的離線計算,轉變成一種持續性的增量的計算方式。”
在數據存儲上大致有幾類,像通常的key-value數據庫,文檔型的數據庫mongodb,列式分布式數據庫HBase等等,京東是如何考量和選擇的HBase的?
廖曉輝書:其實各種不同的數據庫類型我們都有用到,包括HBase和mongodb。選擇哪一種需要結合我們的業務需求,考慮數據存取的計算方式以及開發效率。mongodb它對各種語言都非常友好并提供相對豐富的API,它數據在數據量不是非常大的情況下,會有非常好的性能表現。而對于HBase來說,它屬于Hadoop生態里面的一款產品,它適合random access場景或少數據量scan,隨著數據增長易于擴容同時維持高的讀寫性能;列存儲對于稀疏矩陣數據存儲,加上壓縮,能提高存儲的效率。我們還是根據業務需要,以及數據量的規模,考慮以后的擴容以及項目研發效率來選擇。
傳統上,若是使用Hadoop MapReduce框架,雖然可以容易地實現較為復雜的統計需求,但實時性卻無法得到保證;反之若是采用Storm這樣的流式框架,實時性雖可以得到保 證,但需求的實現復雜度也大大提高了我們。Spark Streaming在兩者之間找到了一個平衡點?
廖曉輝解答 :“Hadoop MapReduce計算模式實際上降低了做并行計算、大數據處理的門檻,適合于高吞吐量的批處理場景。而Storm和Spark-Streaming,它們都是流式計算的框架。Storm以其低延遲、易擴展性和容錯機制等特點發展至今已經非常成熟,也非常優秀,為許多互聯網公司所青睞。Spark-Streaming它基于spark將流式數據拆分為mini-batch做持續計算,從目前來看,它的處理延遲可能稍高,但也基本滿足實時計算地要求,且它有豐富的計算和轉換類API,并易于使用。雖然內部使用Scala去實現但是也支持JAVA的開發,在開發效率方面還是非常高的,此外,我們自己的經驗是在生產環境驗證了它的穩定性和可靠性。如果對兩者進行比較,個人認為,storm適合對實時性要求更高的場合,因為它可以把延遲控制在亞秒級或者更低。而Spark-Streaming作為Spark Stack中的一員,如果熟悉了Spark下的開發方式,對Spark-streaming的開發非常容易上手;大部分的大數據處理需求,不同的workload,Spark Stack中有相應的技術產品可供選擇,可避免維護不同的計算框架。選擇Spark-Streaming就要考慮這個生態系統里的其他產品以及開發效率。Spark社區很火,在今年出現1.0版本之后,很快就出現了1.1版本,有非常好的勢頭,也在實際應用中用它的優異表現在贏得越來越多的用戶。”
雙十一過去不久京東作為國內首屈一指的電商平臺在雙十一期間如何保證服務器在大量請求、訪問的的正常運轉而不宕機的?
廖曉輝說:“雙十一保障是一項有組織有計劃地工作。在雙十一之前會有一個比較長的籌備時間,會對雙十一的流量和業務的增長做一個預估,有計劃的去做線上的系統擴容以及完善監控,并對可能的異常做好演練并制定預案。雙十一期間近一周左右時間,京東的研發部包括云平臺的研發人員會安排人員24小時值班,來解決任何可能出現的線上問題。雙十一之后對雙十一的情況做一個總結,積累經驗,從而提升系統的穩定性。
另外,從服務系統架構層面,要有HA, Loadbalance 設計,有故障只降服不停服,可彈性擴容;要有非常及時和完善的監控,保障異常情況下,第一時間處理,縮短故障時間。再有就是防攻擊系統和災備方案進一步提供保障。”
介紹一下京東云中大數據的云服務,你們的技術實現,對Spark的應用,以及產品路線和遇到的挑戰。
廖曉輝說:“云海是京東云提供的大數據開放服務,是商家驅動的數據開發平臺,商家授權數據,ISV來開發相關數據產品,服務于商家的數據驅動、精細化運營的需求。同時用戶也可以上傳自己的數據,作為京東平臺電商數據的補充。
云海中的Spark
云海不僅提供大數據存儲和計算資源,同時還有云端的數據挖掘和開發工作臺,這背后所涉及到的交互查詢分析,批處理計算,實時計算,機器學習算法工具,在線OLAP分析,都涉及到Spark相關技術的應用。我們在依托Spark來搭建高效的計算平臺和工具集,目的是使挖掘數據價值的過程變得更敏捷,而且是一套全云端的解決方案。
京東有大數據平臺建設的豐富經驗,同時數據驅動業務,數據驅動決策,基于大數據的精細化運營上也有成熟的經驗,這些個經驗也能幫助在京東上做生意的商家,可以借鑒用于改善運營效率,提高用戶滿意度。這個價值輸出,通過云海,做的方式就是團結在電商領域期望結合大數據提供數字化運營解決方案的軟件商這個群體,搭建一個平臺以數據為核心,連接商家需求和ISV數據產品服務,同時對ISV的數據產品做一些引導,在解決商家的實際問題中產生價值。
在云海的建設過程中我們碰到很多挑戰,有大數據處理的技術方面的,對于這類問題,我們也結合業務,基于Spark做自主地研發工作或改進框架本身。同時數據開放的有效和可行方式,我們也在探索中。近些年大數據概念的“熱”以及大數據在一些互聯網公司,電商企業,以及金融等領域的應用的示范作用,讓各組織越來越重視數據資產,現階段,由于數據的敏感性,對數據收集、處理、挖掘大多限于組織內部。但從另一方面,相信很多人都同。在數據的網絡里,數據連接數據,匯聚各領域的數據,數據開放共享、供給不斷,讓更多人、個體有機會及時、便捷地分析和挖掘其中的價值,勢必能讓數據發揮更大的作用,甚至把社會信息化帶入一個更高的層次。因為這兩面性,即在數據資產保護和開放之間求得一種平衡,建立數據交換可行、可信的平臺,同時是可持續的,值得更多的組織和個人來探索,合作。
京東在云上的新戰略
京東集團技術副總裁兼首席科學家何剛說道:京東云不止是云計算,是全產業鏈云服務。
在何剛看來:京東在十二年的發展中,構筑了全產業鏈的互聯網電商能力,從供貨商到采購、倉庫、銷售、配送和售后服務,都有了一套成熟的解決方案。京東希望把這些技術能力對外進行輸出,包括互聯網經驗的咨詢服務、互聯網基礎技術的云計算、大數據服務,產品設計、后端核心服務、開發實施等業務信息系統升級建設。并從營銷、物流、金融、運營人才等業務資源上結成深度長期的合作關系,做到企業間數據互通,伴隨企業共同成長,形成互聯網企業生態,做到風險共擔、收益共享。
戰略層面,京東云包含“全產業鏈能力輸出、結成深度合作關系紐帶、共享云計算大數據技術、發展互聯網企業生態”四個方面,全面幫助中國企業實現“互聯網+”的升級。
產業鏈層面,在京東營銷、交易、采購、倉儲、配送、客服、職能、金融等服務基礎上,匯聚信息流、物流和資金流,提供互聯網基礎技術(云計算和大數據),互聯網經驗輸出(戰略咨詢、商業模式、管理咨詢)、電商業務資源合作(營銷、商品 、物流、金融、運營等),業務信息系統建設升級(系統設計、核心功能模塊、開發實施)。
產品層面:面向云平臺的工具運維服務,如自動編譯、統一監控、統一日志、自動部署;面向行業的云計算服務,自動擴展部署、離線/在線數據分析、開放API;面向云托管服務,如云數據庫、緩存、VPC、數據復制、災備、負載均衡、消息隊列、云安全;面向資源服務:云存儲、云主機、云網絡、計量計費等。
目標鎖定:農業、制造業、服務業、金融、政務、物流。
創新聯盟啟動:京東云與嘉寶集團、鋒創科技、福建茶博匯就電商云的合作完成簽約;與首農集團、亞信數據、百度就數據云的合作完成簽約。未來還有更多傳統企業、生態伙伴達成長期穩定合作。
何剛表示:“企業的互聯網化已經不能僅僅停留在業務電商化的層面上,而是需要將互聯網思維和技術結合起來,對外、對內都深度互聯網化。”從外部看,在商業模式上,應該采取什么樣的電商模式?是委托代運營?官網電商化?還是經銷商自建模式?營銷推廣上,如何獲取客戶流量?如何實現多個平臺、多種渠道的交叉引流?如何做到在不同渠道的統一展現?從企業的內部出發,產品與服務的互聯網也是標配,如產品的APP化、智能化等,從而建立互聯網化的平臺與企業生態。在這些問題上,京東云都能夠推出行之有效的解決方案。對于生態聯盟,他補充道:京東已經向政府建言獻策,希望可以從更高層面構建互聯網+聯盟,京東云也會積極加入,真正幫助更多企業走向“互聯網+”。

“京東將以公有云、私有云和混合云的形式,把這些成熟的云計算、大數據和基礎技術將對外開放,為企業、政府、科研機構提供云服務。” 京東云電商云事業部總經理任成元認為這是京東云的互聯網+戰略的實際意義和價值所在。
值得注意的是,京東基礎云由私有云和公有云兩部分組成,而“京東私有云和公有云是同一套技術同一個平臺同一班人馬做的。”京東私有云支撐京東集團各個信息系統。云存儲系統穩定支持了主站商品圖片、訂單、物流等200多個系統的運行,京東私有云可以實現對流控、CPU、I/O等資源細粒度的精準控制和自動伸縮。在系統運行方面,利用彈性計算云,服務器總體使用率提高十倍,網絡訪問量平均成本同比下降60%,運維自動化率也達到了90%以上。京東公有云服務中的云主機服務、對象存儲服務(云存儲)通過了云服務可信性的權威認證體系,并獲得了可信云年度電商云服務獎。
而從京東云產業鏈服務中可以看出,京東云在IaaS、PaaS和部分SaaS已經完成布局。舉例來看,京東云可以從銷售信息、用戶行為、供應鏈效率、客戶滿意度和財務數據上進行數據采集、挖掘以及可視化分析,為用戶提供京東級數據分析服務能力,一站式滿足企業數據分析的訴求。“”
對于近期業內所關注的安全問題,京東云首席架構師楊海明表示:“京東網站、京東金融、京東到家等每天受到很多攻多,所以也積累了各個方面的安全防護經驗。比如網絡二層、三層、應用層的安全防護。這些經驗的都會逐步通過京東基礎云安全服務產品來輸出。未來,我們是開放的生態系統,也歡迎更多SaaS安全的來合作”。京東云首席數據架構師杜宇甫也表示:“數據服務有不同安全機制,包括授權、身份認證、各方向上安全使用等級劃分等,而后續,還會隨著需求的變化,提供更多數據防護。”
而由于絕大多數京東集團的業務都已在京東云平臺上,面臨即將到來的電商雙十一大考,何剛感到壓力很大。“自營式電商,決定了我們采購、銷售、交易、物流、服務等都是自己來做,上千套系統在京東云上,業務極為復雜。所以我們備戰壓力很大,但相信自己不會出一點事,也必須如此。”