大家下午好,今天很榮幸能夠代表京東云跟大家分享一下我們在CDN質量監控管理方面所做的事情和一些思考。CDN是云計算里面最大的一個戰場,硝煙戰火非常濃烈,大家都知道價格戰非常激烈,從2015年視頻業務井噴式增長開始,眾多云服務商躋身這個市場,大家共同顛覆傳統的CDN15年以來寡頭壟斷的市場格局,價格也非常透明,價格戰成為似乎最有效的競爭手段,目前只是一個視頻業務的爆發,未來還有物聯網、AR、VR一系列的云計算的需求,接下來CDN怎么發展,今天我重點談一下質量方面的思考。
對于客戶來講我們如何選CDN的服務,CDN本質是IT服務型的產品,選型這種產品的時候,首先考慮功能。是否具備全站的分發能力,是否有全域覆蓋能力,是否具備安全防護及靈活配置的能力??疾焱旯δ苤?,大家會開始關注價格,目前市場上價格很便宜了,大家都可以看得到。本質上CDN是一個服務,功能、價格其實并不是本質的需求,本質需求是什么?是加速的效果。里面包含服務的能力,因為它是一種IT的服務,不止是產品本身的服務,包含未來售后服務、運維的服務、以后異常的處理。
我們核心在哪?核心就是我們的質量。我所理解CDN產業未來發展有這樣幾個特點,目前是價格戰,價格戰是短期的,未來一定是以服務透明以質量為核心的競爭態勢,眾多CDN服務提供商拼的是服務質量和成本效率,只有服務質量上去才能贏得更多的客戶,關于質量、穩定性、服務能力等等這些都是依賴于CDN廠商,云廠商也好,自己能夠自治,出現問題可以自愈。對于CDN來講目前產品變得沒有太大的差異化了,未來肯定形成很多細分市場,我們現在只是做分發,未來可能有信息采集上傳,編輯計算轉發等等一系列的功能特性,我們把質量做進去,把穩定性做強,這樣才能做更多的功能特性。
對于CDN的服務質量我們如何評測?其實圍繞一個核心就是用戶的體驗。對于不同的業務,我們有不同的要求。比如說頁面,我們更關心是可用性,頁面加載的時間,業界比較通用的做法就是統計建連的耗時,對于文件下載,在此基礎上包含下載的速度、命中率,回源占比。
影響CDN質量的因素大家可以從這個圖可以看起,這是典型CDN服務的場景,我不多講了,大家都比較了解。我們最終目標保證客戶下載成功下載耗時最短,這是我們核心的目標,這個核心目標多方面因素建造起來的,分解每一個環節,包含用戶建連的時間,邊緣節點的下載速度,上層回源站的情況,有多個環節,形成很多影響質量和穩定性的因素, 用戶DNS配置錯誤都導致異常。我們整個用戶接入寬帶,移動網絡性能和穩定性的問題。調度機制,一個服務商把CDN做好,調度很重要,映客的薛寧也在圍繞這方面在講,這里面有很大優化的空間。另外作為CDN邊緣節點鏈路的質量和穩定性,同時還有CDN緩存的性能、回源的機制,回上層的鏈路,甚至上層回源的機制,上層回源站的鏈路,包括源站的問題。諸多問題中大家發現這里面真正是CDN廠商自己能夠控制或者把握的只是我標綠的這些,其他都是CDN廠商沒法把控的。對于CDN服務質量管理,我理解兩個字就是容錯,容錯能力越強服務質量才會越好。
怎么去容錯,怎么監控,怎么評測CDN的服務?我總結下來有兩種方法,一種是白盒監控,一種是黑盒監控。白盒包含CDN自身各個模塊是否存活、負載情況、服務性能,但這不能代表用戶的感知。另外黑盒是從用戶角度去看服務是不是可用,響應反映速度是否夠快,服務是否穩定。
這里面存在一些差異,對于CDN服務商的白盒監測,可以實現問題根源可追溯,事前預警、事后分析。但無法真正感知網民的實際體驗,對終端服務的實際效果不敏感,同事會產生大量的告警事件,導致重要告警無法甄別,甚至被淹沒。對于緩存、卡頓、流暢度等視頻播放指標也無法感知,用戶出現投訴時才發現問題,解決問題,很被動。
引入第三方監控,最大的好處是相對公正,但同事也引入新的問題,大家知道所有第三方的探測都是利用招募來的CMA探測終端模擬網民的請求行為,而終端的負載、接入網絡的質量無法保證,甚至一些終端可能會在玩游戲的同時跑監測任務,終端探測頻度也不夠,大多在一小時探測一次的頻率。這里面其實存在很多的問題,即使第三方提供數據報告,也需要依托CDN服務商自己排查問題。
還有一種方案我們客戶自己干,在它的終端進行分析,無論是探測也好還是日志分析也好,都是真實采樣的真實數據,不像第三方采樣的模擬探測數據,但也存在諸多問題,包含需要技術的投入,對終端資源的損耗,過頻的探測會影響用戶體驗。只能做事后分析,發現問題時還是需要反饋給CDN服務商,由CDN服務商解決。
下面我說一下我們京東云CDN產品的情況。京東云CDN的前身是京東自建的CDN的網絡,這個網絡最早服務于京東商城,我們這個網絡服務商城有四五年的時間了,去年開始我們把這部分資源開放出來給我們客戶,面向客戶的云CDN服務跟我們自建是兩套網絡。我們6.18大促,雙十一大促的時候整個CDN云平臺也會承擔京東商城的量,平時量是自建解決的。我們整個服務產品的穩定性和性能是經過京東商城嚴苛要求所歷練、打磨煉出來的一個產品。
質量是我們一直追求的核心目標,目前京東云CDN的整體負載很低,大家知道CDN服務的一個很重要指標——拼命中率,每個CDN節點的存儲資源是有限的,儲量過高就很難緩存,但我們可以做到很高的命中率,穩定性和可靠性也是由我們專業的運維團隊保障的,這些運維團隊本身就是CDN客戶,他們最了解客戶什么問題最著急,什么問題需要最及時處理,質量透明化是我們一項很重要的服務理念,我們會把所有CDN監測數據開放給我們客戶,我們共同使用這些數據,共同保障客戶的服務質量。
下面介紹一下我們的CDN服務質量監控體系,最下面的是數據采集層,一方面基于部署在cache點和京東配送站的探針,京東物流在我們全國各地都遍布非常廣泛,我們充分利用配送站資源做整個數據的采集。另外就是日志,我們基于訪問日志和系統日志,結合探針和日志上傳進行數據的處理。上層我們做四種監測和分析。設備層監控,網絡層監控,剛才提到網絡質量是影響CDN服務質量的重要因素,我們對于網絡方面包含連通性、丟包、帶寬、網絡負載的監測、分析,基于我們日志得到相關數據進行告警。再往上就是應用層,這個應用層CDN本身服務內部自身模塊的應用本身的狀態、能力、性能,這里面有很多的指標。再往上大家最關注的業務層,業務層其實很多的CDN服務商現在已經把這個數據開放出來了,比如狀態碼、命中率、可用性,對于解析時間、建連時間、卡頓率、慢速比,卻很難呈現。慢速比由CDN廠商自己通過視頻碼率和下載數據結合算下來,跟真實用戶體驗還是有差異的。我們業務層可以完整覆蓋從用戶角度看到服務質量的指標。
再往右邊是我們整個數據的呈現,包含實時監控和實時告警。
下面說一下配送站的情況,京東全國有兩萬多個配送站點,所有配送站點都有一臺主機電腦,基本任務就是提交一些報表,這些設備CPU和存儲利用率非常低,我們利用這些資源把我們探針部署在配送站上,我們做到實時的探測,我們基于配置任務調度進行我們目標任務探測。拿到這樣數據之后我們做什么?用戶體驗感知,通過配送站可以真實反映用戶體驗。我們對于直播點播可以通過客戶端進行模擬監測。第二個網絡劫持。我們通過配送站能夠發現集中性的哪些區域有劫持情況。第三個調度決策支撐。正常CDN的調度結合我們網民所處運營商所處的地域,整個負載,鏈路情況,有的廠商考慮成本效率問題,大家都是比較通用的辦法。但是有了配送站這樣一個節點,我們可以基于具體的任務進行任務分發和探測,它所采集的數據可以實時注入到我們調度系統里面,形成實時調度的優化。
第四個鏈路質量的評測,我們整個鏈路選型,運營商網絡選型還是調度時也好,都會參考整個配送站的數據進行評測。
還有網絡質量調優參考以及過程信息拆解,把CDN和網民到我們服務端到源站整個全鏈條數據都可以拿到進行全面分析。
下面看一下我們的監控,第一個設備監控,圍繞磁盤等整個網絡負載等我們都有很清晰的監測,設備進程、端口等一系列的應用。
第二個網絡層監控,包括網絡丟包和網絡延遲,我們從用戶到節點之間的探測,以往情況下大家用第三方做的,我們用我們配送站的節點,實現模擬網民到我們邊緣的探測。節點之間的探測,節點回源站的探測。我們可以結合不同區域不同運營商之間的互探形成鏈路的訪問。我們目前基本上可以達到每分鐘級數據采集和分鐘級結果呈現。
第二個應用層監測,包括ATS、NGINX等命中指標都可以進行告警。
第三個節點級監控,兩個層面,一個是節點本身的健康度,我們結合節點自身負載、帶寬、設備存活情況、節點命中、節點歷史服務質量,對每一個節點進行評分,基于這些進行實時調度。
第二個節點質量的圖,下面象限表示是質量,左邊縱線表示訪問量,我們可以對調度進行實時的參考,對于訪問質量好,訪問量不高的節點我們加大調度,實現最優的用戶體驗。
再往上業務層監控,傳統基于第三方監控的DNS解析時間建連時間,首包時間我們可以進行實時監控和管理,進行多維度的控制,我們針對某一域名監控,某一地區監控,可以多維靈活進行監控。
第二個視頻卡頓率、流暢率等等一系列的分析,這是我們面向最終用戶實際體驗的。左邊是我們命中率右邊是狀態碼,我們達到秒級上傳分鐘級統計。
下面挑幾點重要的質量優化技術進行闡述。第一個圖片壓縮技術,京東商城里面有很多圖片,我們多年來其實對于圖片如何快速的呈現下了很大功夫,我們采用Webp的圖片,我可以壓縮到webp格式壓縮給網民,整個速度快了很多。
第二高性能三級緩存,低延時、高命中。我整個存儲分為三層,最熱文件存在內存,次熱我們到SSD+NVME緩存。對于冷文件我們存儲在磁盤里面,通過這種機制我們實現快速命中、快速分發。
這里面有幾個重要技術我可以大概提一下,對于電商來講其實所有內容的刷新是非常重要的指標,我們這里面下了很大功夫,目前我們整個CDN的內容刷新實現秒級刷新,把這個任務分發出去下一秒不會讓客戶看到這個內容,我們做了DNS容錯,我們服務過程當中發現有很多網民DNS配置錯誤,這樣訪問異常,我們通過技術評估和研發,我們實現了DNS容錯的方案,即使用戶DNS的配置錯誤我們可以引導你到我們正確內容上,還有協議優化等問題,我不詳細說了。
最后說一下我們服務質量體系,我們整個京東云運維體系原來服務于京東商城的,我們歷經多年的大促考驗,從技術來講和服務能力來講有很專業的服務能力,我們提供7乘24小時服務,對客戶有需求促銷服務要求,我們可以提供專屬資源。我們目前做到80%的問題在客戶之前發現,80%的問題在5分鐘之內定位原因。
最后對整個服務運營保障的技術能力蓋有規范流程,一系列的制度保障我們更好服務客戶,把我們服務商城大促的這種能力復制到我們客戶身上。從今年6.18的數據來看,最大量是常量四到五倍,我們整個資源非常充足的,客戶在我們這服務實際上可以得到充分的保障的。最后公布我們新的促銷的消息,我們目前在六個月內,向新用戶提供300GB的CDN國內免費流量,大家感興趣可以掃描二維碼關注?!?/span>