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