边缘计算不“边缘”——助攻视频行业这几年
隨著邊緣計算行業的不斷發展,其業務也越來越廣泛,越來越成熟。邊緣計算的發展歷程并不是一帆風順,其運用起來也和傳統云計算有很大不同。那么邊緣計算行業所面對的挑戰以及未來的發展是什么樣的呢?有請網心科技的李浩為我們分享他助攻視頻行業的這幾年。
文 / 李浩
整理 / LiveVideoStack
大家好,很榮幸能被邀請參加此次會議。這是一次很好的交流機會,我也能和大家分享這幾年走過的路徑。
01
簡單的產品決策
先做一個簡單的自我介紹,2011年到2015年我在做通用云計算業務,與視頻行業還有些距離。標準云計算最核心的是一些虛擬化,一些復雜的網絡調度,更偏中心的模式,而視頻是天然的分布式的架構。
2015年,整個云計算的行業趨勢是大家逐漸接受云化模式,所有廠商都說計算將來是像水網,電網一樣的觸手可得,客戶自己去建電廠是不劃算的。但是我當時在想,水網、電網肯定不是幾個大的機房能組成的,它一定需要一個更接近終端的網絡,包括計算、存儲、網絡三大件。從2014年底我接觸到邊緣計算這個概念,就認為這個領域在未來十年是有機會補全云計算網絡的。
1.1 虛擬世界的快遞
計算、存儲、網絡三大件,最容易切入的點是網絡,在2015年的時候最合適的場景是CDN。因為它已經有了規模市場,同時對比發現其中技術和模式可做的創新點非常多。類比與虛擬世界中的快遞,在真實世界中運送快遞,成本構成、核心競爭與虛擬世界是相同的,無非是追求多、快、好、省。真實世界的快遞公司商業形態是多樣的,有直營、散點加盟、直營配加盟等等,但在CDN只有一種模式,所以我們認為這里既有技術上的創新點也有模式上的創新點。很有意思的一點,物流公司目前也在學習虛擬網絡的組織方法,IPIC協會在研究如何把實體的物流網絡映射成虛擬的網絡,把基于經驗的快遞變成基于算法和更加科學的數據運算。這里存在幾個和現有數字網絡不同的地方。一是它假設傳輸速度不是光速。二是它傳輸的物品不可復制。三是它的重傳的成本非常高,丟包容忍概率非常低。IPIC基于這樣的假設做了很多研究和創新。
左邊是物流公司前端的實時大屏,和CDN公司的前端大屏幾乎一模一樣。右邊是物流公司的組網模式和經營模式,它與2015年的CDN公司的相比是更豐富的。點面、塊面,樹狀、網狀映射都比當時國內CDN架構更加復雜。
1.2 不同的路徑選擇
回看整個CDN市場,我認為CDN分為幾個路徑上的選擇。一種是追求平衡。通過自己的覆蓋密度和節點容量來做一個測算,最終要做到節點的覆蓋率和ROI的平衡。這是一個最為簡化的CDN示意圖,實際上的則更為復雜。這是一個類樹狀結構的內部組成,是一個規劃好的網絡。規劃的依據是根據自己的經濟效益和需求。密度上一般會同省同網以及各大一線城市同網。CDN不太可能在西藏、新疆等地方做城域、地級市以及更往下的小區的覆蓋,因為這樣在經濟上是不平衡的。
第二種路徑選擇的核心追求是容量和質量。有一家創新型的邊緣計算公司Fastly,其體量和Akamai相比小很多。但是他們特別的是在做一個類似于物流中亞洲一號倉的模式。把每個節點做的特別大,同時每個節點的配置也很高,相當于亞洲一號倉配全空運的模式。對一些高價值的流量分發,比如電商網頁、Times時報等高要求流量,產生差異化的價值。他們的模式是單個節點很大,一個節點可能1到2TB,全球范圍內覆蓋,100個POP點;節點里自己做路由算法,通過Anycast IP做全球接入。
這種模式不僅成本非常高,而且在國內不太可行。因為那么多的POP點在國內是拿不到的,但是除去這些問題,他有一些創新是非常值得參考的。Fastly針對流量分發場景做了一些抽象,把請求分成幾個處理的生命周期——接到請求、包處理、日志階段等等。使用者可以直接在Fastly的平臺上去寫代碼,把這些請求做一些邏輯處理,并同時配備一些很輕量化的容器方案。Shopify有一個購物車邏輯就是通過把代碼運行在Fastly邊緣節點上來提效,通過WASM這種輕量虛擬化的方式運行。
第三個路徑的核心是強調節點數量和覆蓋密度。通過在網絡的各個層次部署超密集的邊緣節點去覆蓋。網絡節點的差異性是很大的,它可能屬于接入網、可能屬于城域網、可能屬于骨干網,單節點容量很小,但總容量很大。所以對經濟效益的追求沒有第一種和第二種那么嚴格。又因為它整體的冗余量是非常大的,所以肯以做成一個接受更多峰值同時成本更低的模型。與之相對的,它的復雜度很高。節點的波動性很大,運算能力、儲存能力差距很大,所以在傳輸、調度、部署上要考慮很多,網心就是采用這類模式。對整個網絡做估算,其中運算資源相當于過千萬臺在線服務器、數十萬PB存儲、500TB以上的帶寬資源。核心任務就是如何把這些邊緣網絡中的資源使用起來。
有了前面模式的想法,加上我們對現實網絡的一些觀察,我們推出了星域云產品。想法決定很快,實現起來卻非常困難。
參考業界對邊緣的分層——Home edge、Network edge、Cloud edge。CDN節點就屬于云邊緣,可以看到資源一定是越往邊緣下沉,延時就越低,資源越分散,使用難度越高但容量越大。
當時我們認為找到了一片廣闊的藍海。不僅市場好,而且我們找到了模式上的差異點,同時和我們擁有的分布式技術相匹配,又處于15年萬眾創新的背景下,所以就全情投入參與網心創建。
事實上是,想法雖然很容易推導出來,但實踐起來非常困難。一開始的計劃是2年內把網絡層的邊緣化做好,然后開始做存儲,接著是運算。可實際上做好網絡層花費了6年時間。去年才陸續將存儲和計算的一些場景跑通。
02
產品實現
2.1 真實路徑
2014我們年開始對迅雷進行改造,對下載流量進行邊緣化的改造是最容易的。2015年切入直播行業,直播對延時對卡頓的要求很高。2016年介入長視頻,之后做中短視頻。挑戰越來越大,外部環境也在不斷變化。CDN行業價格發生了巨變,3年內價格變成了原來的1/3,從成本、效率等各方面的挑戰變大。例如,ROI平衡一開始測算只要的20%利用率就可以,幾年后卻需要達到60%,對精細化的調度和傳輸要求會變得很高,對質量要求的也在不斷提升。有利的點是國內帶寬的持續提速,增大了整體的邊緣資源池。
2.2 概要架構
這是一個概要的架構圖,我們把代碼嵌入到用戶的APP里,所以可以做雙端優化,這是邊緣傳輸方案和傳統CDN的不同點。既然可以做雙端優化,那么就可以在傳輸協議、編碼層面做更多的處理。另外一個不同點是,網心很強調部署。傳統CDN模式是根據請求觸發回源達到最優的部署結構。因為傳統CDN的節點更大、數量更少,所以請求調度有固定的邏輯,傳統CDN可以根據用戶的請求,天然的將數據沉淀到網絡里,形成最優的部署。可這種模式在大規模邊緣節點的架構里是行不通的,首先調度路徑是不可預先規劃的更多變的,其次節點差異很大。可以理解為加盟快遞公司的網點,有些是開在門口的10平方小網點,有些卻是幾千平方的大倉庫。如果想要把物品調度起來,就需要前置做好部署算法,保證最優的裝箱效率。反觀如果都是幾千平方的大倉庫,請求到了直接發貨就可以。
2.3 供給難題
這項工作需要解決幾個核心的問題。第一個是供給。這是最難解決也是最核心的問題。這種模式本質上是自建加上一部分的加盟共享。這是一個平臺經濟,在其中如何保證需求端和供給端的平衡永遠是一個蹺蹺板的游戲。可以理解成滴滴打車,是前期補貼司機,還是前期補貼乘客?尤其在B端業務上,乘客是各大公司,持續補貼乘客是很難帶來粘性的。同時如果網絡達不到規模、質量達不到要求,乘客是不會上車的。所以前期把網絡的搭建起來,不僅要花費大量的資金,還需要網絡設施升級、新業務爆發等時間窗。
對于網心核心的供給一個就是做容量的平衡,在平衡的同時在使用率上達到足夠的經濟效益。第二個是做激勵,將所得的收入比較有效的通過結算策略分發到網絡的參與者。我們有一個結算網絡用于評判哪一些參與者在網絡中貢獻的運算能力、帶寬能力、存儲能力對我們的價值是最大的,以及將來的潛在價值是最大的。我們這個網絡是一個開放式的網絡,任何節點都是可加入的,因此反作弊也是核心的一點。
網心構建了一個資源池,包括路由器、盒子、賺錢寶、玩客云、電腦PC、服務器等等。這里面還有網心自建的節點和機房,我們自己也是平臺里的參與者。通過供給的資源池,在此基礎上構建分層服務。最底層是虛擬化容器平臺,容器平臺之上是存儲、傳輸、網絡、運算的PaaS服務。其中網絡是最先行的,因為網絡最容易在實際應用場景中大規模使用。同時需要一個完善的結算系統,來衡量這些服務產生的價值,再結合參與者的實際貢獻以及預先的價值判斷對參與者進行回饋。
2.4 傳輸難題
第二個需要解決的問題是一個技術性問題,我們做了一些條件分析:
一:多點傳輸。單點的節點容量不夠大,想有效的把邊緣測的資源全部利用起來,一定要使用多對一的傳輸模式。
二:做冗余的糾錯。交互太多,傳統ARQ的方式效率很低,會導致一些關鍵的數據阻塞。
三:可以實施復雜編碼。這點很重要,相對于服務器來講,邊緣節點的運算能力更強,因為服務器吞吐的帶寬量和CPU的運算能力相比,單位帶寬所擁有的CPU能力較少,與邊緣側的單位帶寬有幾十倍的差距。所以邊緣上面可以支持更復雜的信道和信源編碼。
四:無速率約束。因為節點網絡波動很大,信道刪除概率無法推測,所以整體編碼算法要追求無狀態。假如我把數據切片,切片以后會有前后之分,如果前片不到,后片全到也沒有用。這就是典型的簡單有狀態編碼方式,在這種編碼方式下協調溝通成本會增加很多。因此,我們需要追求無速率約束、無狀態、不定長的編碼方式。
五:自適應信道容量。因為本質上這是一個非均質的網絡,節點有大有小,差異非常大,所以信道容量需要一定自己探測自己調整的能力。
編碼算法本質上就是A ⊕X ⊕X = A,就相當于做了一個轉置矩陣,核心點在于通過成功率的折損來換取計算復雜度的降低。通信里會使用一些專用硬件電路使其編解成功率提升4個9。如果使用CPU,就需要對算法進行優化,例如用3個9的成功率將算法復雜度降低一個數量級。
2.5 成本難題
需要解決的第三點是成本問題。成本問題在這幾年變得越來越重要。在前些年整個行業定價高高在上的時候,成本還算不上是問題,還不需要追求利用率,不需要追求極致的裝箱算法。但在現在的情況下,如果沒有把資源充分的利用起來,沒有把網絡中的經濟價值發揮到最大,就會喪失競爭優勢。
網心所做的核心就是熱度預估、主動部署、節點成本劃分、裝箱優化。節點的存儲、帶寬、計算、波動性是多樣組合的,客戶的需求場景也是不一樣的,需要做當前最優匹配。網盤類的客戶需要大存儲小帶寬,直播類的客戶需要小存儲大帶寬,如何將他們有效的裝箱,是提升經濟價值的核心點。這里我們要做最小化持續的調整,這個網絡絕不是調度一次就可以的,需要時刻騰挪和調整。
2.6 用戶難題
還有一點是普通傳輸不太能碰到的,就是播放器,要和客戶的播放邏輯很緊密的耦合,而這里又經常會改變。我們需要通過很碎片化的信息、日志、傳輸反饋來推測用戶的行為。預加載邏輯是怎么做?錯誤處理是怎么做的?等等都需要通過綜合信息來推測,當然也需要和合作伙伴、客戶多做溝通。
舉個簡單例子,當打開一個APP,里面可能有四五個預覽的小視頻,我們碰到這樣的場景有很多。用戶是0-的請求,還是0-500KB?是全部加載,還是按順序加載?差異是很大的,尤其要考慮升級的困難度。
業務端的指標要求也從明確的QoS指標變化為綜合的QoE指標,這里給因果分析也帶來了不小的挑戰。
這是網心這幾年在持續解決的一些問題。從目前來看,在網絡層覆蓋的場景已經比較全面了,但邊緣計算才剛剛開始,計算、存儲、以及依托于基礎服務商的場景下移才剛剛開始。
03
持續升級
我們認為音視頻一定是最核心的信息傳輸和表達的方式,內容會視頻化。而且不只是人來消費視頻,隨著視頻理解能力的提升,將來物物之間也會有音視頻消費。構建物和物之間的音視頻傳輸網絡以及大型的全聯通網絡是我們目前已經在做的。其次運算能力的下沉,從成本層面考慮,放在一個中心機房運算,其帶寬和計算成本相對是高的。例如3D設計領域,目前邊緣的算力完全可以滿足,如果下沉成本可以極大降低。另外,還有一些對時延比較敏感,對帶寬有巨大需求的VR、AR場景,把計算放在云上一不經濟二不現實,同時會帶來巨大的帶寬消耗。可以將運算拆解開,把背景流量通過邊緣渲染。還有一些基于Device的虛擬方案,通用的容器管理方案消耗還是太大了,肯定需要類似WASM這種OnDevice的輕量方案。
04
未來展望
未來是全面數字化的社會,全真互聯網或數字孿生都是講現實和虛擬網絡會越來越分不開。在這種前提下,邊緣化計算只是一個概念,更核心的邏輯是未來所有的設備都是可感知、可計算的。
內容視頻化,音視頻將是最核心的信息傳遞方式,信息密度高,包括未來的物物傳輸,需要解決視頻內容的理解。
目前邊緣計算行業還處于起步階段,需要耐心打磨,還有很長的路要走。未來中心計算和邊緣計算會組成立體網絡,真正形成水網、電網,計算資源無處不在觸手可及。
謝謝大家!
- The cover?from?creativeboom.com
講師招募?LiveVideoStackCon 2021 北京站
LiveVideoStackCon 2021 北京站(9月3-4日)正在面向社會公開招募講師,歡迎通過?speaker@livevideostack.com?提交個人及議題資料,無論你的公司大小,title高低,老鳥還是菜鳥,只要你的內容對技術人有幫助,其他都是次要的,我們將會在24小時內給予反饋。
總結
以上是生活随笔為你收集整理的边缘计算不“边缘”——助攻视频行业这几年的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 【线上分享】机器视觉编码标准与技术进展
- 下一篇: 实时音视频技术的演进与应用
