雲計算

更極速:CDN邊緣Serverless產品發佈——EdgeRoutine邊緣程序

隨著雲原生技術的普及,阿里雲可編程CDN能力逐漸增強,已經實現在靠近用戶的邊緣,支持將無狀態的業務邏輯以函數或容器的方式在邊緣完成算力卸載,以此提供最短時延的交互響應。同時,基於阿里雲CDN平臺強大的基礎資源能力和高性能架構,可以輕鬆滿足企業海量的彈性需求。

阿里雲CDN具有全球2800+個節點的巨大節點網絡,可以將源站靜態文件(例如圖片、視頻)緩存起來,全球各地客戶端就近請求CDN節點即可拿到文件,相比請求服務器源站肯定是大大縮短了網絡鏈路降低了延時,同時,還降低了源站壓力,源站不用接收請求,分散到各地的CDN節點處理了。而現在阿里雲CDN除了緩存和分發,更是具備了就近分發計算的能力,這就是EdgeRoutine。在1月6日的阿里雲CDN年度產品升級發佈會中,阿里雲高級產品經理陳章煒對EdgeRoutine進行了詳細解讀。

屏幕快照 2021-01-06 下午5.49.26.png

關注阿里雲Edge Plus公眾號,回覆“新品發佈”,免費獲取完整PPT

EdgeRoutine——讓計算服務更加靠近你的用戶

EdgeRoutine是一個運行在CDN邊緣節點上的JavaScript代碼運行環境,用戶可以將JS代碼上傳至EdgeRoutine,即可在全球的CDN邊緣節點上運行,相當於用戶在全球各地擁有了大量微型服務器去就近地服務各地的用戶。

下面詳述下EdgeRoutine的工作原理。首先,打開一個CDN服務器,其中的請求處理流程是:原來純CDN鏈路對應的1、8、9、4鏈路。客戶端後CDN網關會去找緩存,如果找到會response給客戶端。如果沒有找到,會回源請求,之後存到CDN緩存並返回給客戶端。

屏幕快照 2021-01-11 上午10.37.33.png

這樣的鏈路在有了EdgeRoutine後會有什麼變化呢?主要有這四種情況:

1.ER內JS代碼完成對請求的計算&處理,返回給客戶端:1→2→3→4
2.ER發出子請求從其他雲服務獲取數據後加工:1→2→5→3→4
3.ER從Cache、KV讀取或存儲計算後的結果用以複用:1→2→6→3→4
4.ER可主動Proxy回CDN回源鏈路: 1→2→7→8→9→10→3→4

EdgeRoutine的適用場景

一、在邊緣圖文頁面渲染

屏幕快照 2021-01-06 下午6.42.50.png

左側是兩種比較常見的前端渲染的架構,一種叫CSR,在客戶端去做渲染,一種叫SSR,在服務器端去做渲染。而這兩種前端渲染了傳統傳統架構的話都有一些缺點。比如像第一種全部在客戶端做渲染,需要由客戶端去發起N個獨立請求,去請求中心大資源就在客戶端去渲染成一個HTML的頁面。這樣的方式是比較考驗客戶端性能,同時因為發起了多個異步的請求,這多個請求的延時可能就不太可控。第二個SSR全部在服務器端做渲染,客戶端只要發一次請求就可以了,由服務器端去拉取相應資源,最後渲染HTML頁面給到客戶端。相對於CSR,SSR的中心服務器壓力比較大,成本較高,同時在服務器做渲染的過程當中,客戶端需要做等待,可能會影響用戶體驗。

有了EdgeRoutine,在邊緣圖文頁面渲染,可以將SSR從中心服務器下沉到了邊緣節點之上,下圖右側,當客戶端發起一個請求,請求就直接在邊緣上實現SSR渲染的過程了,好處是不依靠客戶端性能,同時由於CDN節點全球的廣泛分佈,節點壓力比較小,還可以獲得更低的延時,另外也能夠減少重複計算。

二、店鋪小程序,類似Combo

下圖左側傳統的架構中,當客戶端請求過來,服務器上會根據這個請求去把通用的官方模板以及對應用戶的個性化三方模板進行一個Combo,Combo成一個店鋪小程序的整體框架,最後返回給客戶端。其實和SSR類似的是客戶端需要等待服務器端的這樣過程,會影響用戶體驗。右側新方案中,EdgeRoutine將Combo的邏輯放到邊緣節點上面去進行,通用的官方模板可以直接緩存在CDN裡面,以此減少回源站請求的耗時,通知部分請求可以直接複用Combo的結果,減少重複的Combo計算,進一步降低延時。

屏幕快照 2021-01-06 下午6.43.10.png

三、源站健康狀態檢查

當用戶有多個服務器源站時,就需要一套操作系統來實時、持續監測全球各地來訪問源站的可用性。EdgeRoutine直接運行在CDN上,所以EdgeRoutine天然是部署探針服務的一個載體,探針代碼在下圖右側中,直接部署在EdgeRoutine上,實時訪問源站的情況,並且收集健康信息並回傳,以此達到模擬用戶並實施的監測服務器可用性的目的。

屏幕快照 2021-01-06 下午6.43.21.png

除此之外,EdgeRoutine可以適用於A/Btest、IoT場景數據清洗、GEO打點,甚至託管個人站點等各類場景,既具備CDN的彈性調度、低成本、低延時特性,同時兼具Serverless簡單易用的特性,具有非常大的想象和應用空間。

EdgeRoutine的核心價值

總體來說,EdgeRoutine具備CDN的彈性調度、低成本、低延時的特性,同時也兼顧Serverless簡單易用的特性。

一、彈性調度

部署在EdgeRoutine的JS代碼將運行在遍佈全球各地的CDN節點上。用戶的請求將就近訪問CDN節點。當某個區域用戶請求突增,CDN系統會將請求調度至周邊節點,自動彈性擴容,用戶無需為每一次可能的業務突增而擔心計算資源不夠的問題。比如下圖左側的示例,當杭州用戶發起請求,就近調度至杭州的CDN節點;當杭州用戶的請求突增,調度自動將請求分散調度至杭州周邊的嘉興湖州等區域的CDN節點;而杭州用戶的請求進一步突增,調度自動將請求分散調度至更遠的無錫上海等區域的CDN節點。阿里雲CDN有2800+節點遍佈全球,形成一張巨大的調度網絡,自動彈性調度。

二、低成本

我們看一下計算的發展史,其實從某種維度來看的話,是對資源的隔離和複用的一個發展史。最早的物理機,到一臺物理機被隔離成N臺的虛擬機,再到雲計算及容器化技術,虛擬機上又可以隔離出N個不同運行環境,整個過程中,用戶隔離不斷細化,單位硬件設備能夠做到更高複用,將資源複用做到極致,給用戶帶來性價比更高的按量付費服務。這也是EdgeRoutine能為大家帶來更低成本的價值的原因。

三、易用(Serverless特性)

傳統的應用搭建的流程,用戶需要去購買服務器,還需要去運維上面的系統,然後才進行整個開發應用的部署,持續去優化服務性能,需要非常龐大的團隊協同。Serverless意味著用戶不需要再去關注底層的基礎設施,只需要關注核心的業務代碼,上傳你的代碼就完成了整個部署。後端的這些資源是完全自動、彈性伸縮的,可以幫助用戶原來縮減運維成本。基於EdgeRoutine的應用構建方式也是如此,只需要在第一次使用時候進行簡單的安裝配置,即可專注開發業務代碼,直接上傳部署即可。

屏幕快照 2021-01-06 下午7.31.25.png

四、超低延時

在邊緣上直接去處理客戶端的請求,跟在中心處理,肯定是會大幅縮短網絡鏈路,這樣減少了網絡傳輸的延時風險。同時,EdgeRoutine採用Chromium V8輕量隔離技術,冷啟動時間幾乎可忽略。

詳細的產品信息,可以登錄阿里雲官網CDN產品文檔進行了解。

回顧發佈會直播:https://yqh.aliyun.com/live/cdn_0106

Leave a Reply

Your email address will not be published. Required fields are marked *