京東云:11.11大促下的混沌工程實踐

隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,系統(tǒng)架構(gòu)因此也不斷的演進、升級、迭代。從單一應(yīng)用,到垂直拆分,到分布式服務(wù),到SOA,以及現(xiàn)在火熱的微服務(wù)架構(gòu),系統(tǒng)擴展性和開發(fā)效率大幅提高。但同時,由于系統(tǒng)自身復雜度的激增,傳統(tǒng)的測試方法已經(jīng)不能全面理解和覆蓋系統(tǒng)所有可能的行為,測試的有效性也大打折扣,加之開發(fā)者在引入復雜性的同時對風險的低估和忽視,成為目前系統(tǒng)可用性面臨的兩大挑戰(zhàn)。

2008年8月,某廠商由于單點系統(tǒng)架構(gòu)故障,導致了三天宕機,在此期間無法觀看任何視頻。隨后該廠商開始將服務(wù)從數(shù)據(jù)中心遷移到云上,之后就開始嘗試在生產(chǎn)環(huán)境中開展一些系統(tǒng)彈性的測試。

隨著Chaos Monkey的出現(xiàn),混沌工程原理應(yīng)運而生,它被描述為“在分布式系統(tǒng)上進行實驗的學科,目的是建立對系統(tǒng)承受生產(chǎn)環(huán)境中湍流條件能力的信心”。如今,谷歌,亞馬遜,IBM,耐克等公司,都采用某種形式的混沌工程來提高現(xiàn)代架構(gòu)的可靠性。

京東云在混沌工程領(lǐng)域的實踐——破壞性演練

破壞性演練,是京東云在混沌工程中的實踐。一方面,2018年京東云新增200+產(chǎn)品,實現(xiàn)爆發(fā)式增長;另一方面由于微服務(wù)化,大大增加了系統(tǒng)間依賴關(guān)系的復雜性;保障整個云的持續(xù)可用是巨大的挑戰(zhàn)。

基于混沌工程的理論依據(jù),京東云在實踐過程中用系列實驗,真實驗證系統(tǒng)在各類故障場景下的表現(xiàn),通過頻繁地進行大量實驗,使系統(tǒng)本身的反脆弱性持續(xù)增強,讓云有信心抵御生產(chǎn)環(huán)境中難以預知的問題,也讓客戶對云的穩(wěn)定性放心。

開始混沌工程之前,京東云在底層架構(gòu)上,已經(jīng)實現(xiàn)支持多Region和多AZ高可用,包括物理層、IaaS層、PaaS層以及控制面。但是京東云并未持樂觀態(tài)度,而是謹慎的認為:業(yè)務(wù)垂直化的質(zhì)量保證,更多關(guān)注縱向細分產(chǎn)品的質(zhì)量和高可用能力,但對云整體橫向的高可用的驗證方面,存在天然的弱點。另一方面,實踐出真知,不驗證就沒有底氣。這些情況堅定了京東云做混沌工程的決心。

仿真環(huán)境建設(shè)。云是一套非常復雜的整體,它的資源數(shù)量、地域分布、流量體量等,都決定了無法在生產(chǎn)環(huán)境直接演練。為了確保演練不會影響到生產(chǎn),京東云建立了隔離故障區(qū)域,將云的預發(fā)環(huán)境和測試環(huán)境都遷移至此,并投入大量服務(wù)器做1:1仿真部署,包括物理層、IaaS層、PaaS層以及控制面,及安全、CDN、視頻等核心產(chǎn)品,相當于搭建了一個縮小公有云環(huán)境。在環(huán)境建設(shè)完成后的第二天,京東云就進行了第一次破壞性演練。

首次演練,投入近百人,兩天時間,即收獲117個改進點。之后,混沌工程成為京東云每個季度的例行工作。并由此不斷推動應(yīng)急預案的升級和技術(shù)架構(gòu)的改進。

應(yīng)急預案升級。當前產(chǎn)品的主要故障場景,都已具備自動化預案能力。自動故障檢測以及自動故障恢復能力逐漸成熟,故障恢復耗時大大縮短。

技術(shù)架構(gòu)改進。協(xié)同京東云架構(gòu)師委員會,從驗證雙AZ的可靠性,到完善和發(fā)展基于3AZ的高可用架構(gòu)。如存儲產(chǎn)品,由原來的單AZ 3副本,改進為3AZ 3副本,可用性進一步提高;同時,排查依賴成環(huán)的問題,進行解除依賴或完善降級能力。

演練平臺的建設(shè)。經(jīng)過不斷打磨,實現(xiàn)了演練觸發(fā)自動化、多租戶場景模擬、結(jié)果快速驗證等能力的建設(shè),提升了演練的效率。之后,演練不斷深入,場景不斷豐富。覆蓋了服務(wù)、機器、隨機硬件等場景,并結(jié)合IDC、基礎(chǔ)網(wǎng)絡(luò),對整個云基礎(chǔ)設(shè)施進行高可用性驗證。

混沌工程實戰(zhàn)檢驗 京東云為客戶保駕護航

截止目前,京東商城、物流等全部核心系統(tǒng)都已經(jīng)運行于公有云之上。依據(jù)內(nèi)部混沌工程的經(jīng)驗,結(jié)合云高可用技術(shù)方案,京東云總結(jié)出了一套面向云上用戶的快速驗證方案,與用戶一起,通過最佳實踐解決用戶可靠性的問題。

以某客戶為例,在服務(wù)建設(shè)完畢后正式上線前,京東云都會根據(jù)客戶的用法和要求,做抗脆弱性驗證來保障客戶服務(wù)問題,讓客戶放心;而針對客戶用到的京東云專有云產(chǎn)品JD Cloud Stack,京東云會對每一個發(fā)布版本做完整的混沌工程驗證,保證交付給客戶的是可靠的產(chǎn)品。

在剛剛過去的京東11.11期間,京東云全業(yè)務(wù),全場景云端監(jiān)控,流量同比增長300%,云搜索查詢每日峰值達13.3萬次/秒,云緩存每秒操作數(shù)每日峰值120萬次,負載均衡接入請求量同比去年上漲36%,CDN整體峰值流量同比去年上漲44%。在大促之下,京東云仍然保障了AI、物流、廣告等核心業(yè)務(wù)穩(wěn)定。這充分證明了京東云以混沌工程理論為指導的可靠性設(shè)計和實踐經(jīng)受住了嚴酷的考驗,值得信賴。

關(guān)于京東云

京東云(JD Cloud)是京東集團旗下的全平臺云計算綜合服務(wù)提供商,擁有全球領(lǐng)先的云計算技術(shù)和豐富的云計算解決方案經(jīng)驗。京東云提供從IaaS、PaaS到SaaS的全棧式(Full Stack)服務(wù),包含公有云、私有云、混合云、專有云在內(nèi)的全場景(Full Services)服務(wù),從IDC業(yè)務(wù)、云計算業(yè)務(wù)到綜合業(yè)務(wù)的全頻段(Full Spectrum)服務(wù),京東云還致力于為合作伙伴提供覆蓋全行業(yè)應(yīng)用、為全行業(yè)提供平臺支撐的全生態(tài)(Full Ecosystem)服務(wù)。同時,京東云依托京東集團在云計算、大數(shù)據(jù)、物聯(lián)網(wǎng)和移動互聯(lián)網(wǎng)應(yīng)用等多方面的長期業(yè)務(wù)實踐和技術(shù)積淀,形成了從基礎(chǔ)平臺搭建、業(yè)務(wù)咨詢規(guī)劃,到業(yè)務(wù)平臺建設(shè)及運營等全產(chǎn)業(yè)鏈的云生態(tài)格局,為用戶供一站式全方位的云計算解決方案。

極客網(wǎng)企業(yè)會員

免責聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關(guān)資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負任何法律責任。任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應(yīng)及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實,溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。

2019-11-22
京東云:11.11大促下的混沌工程實踐
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,系統(tǒng)架構(gòu)因此也不斷的演進、升級、迭代。

長按掃碼 閱讀全文