云原生體系下 Serverless 彈性探索與實(shí)踐
?Serverless 時(shí)代的來(lái)臨

全托管的計(jì)算服務(wù),客戶只需要編寫代碼構(gòu)建應(yīng)用,無(wú)需關(guān)注同質(zhì)化的、負(fù)擔(dān)繁重的基于服務(wù)器等基礎(chǔ)設(shè)施的開(kāi)發(fā)、運(yùn)維、安全、高可用等工作; 通用性,能夠支撐云上所有重要類型的應(yīng)用; 自動(dòng)的彈性伸縮,讓用戶無(wú)需為資源使用提前進(jìn)行容量規(guī)劃; 按量計(jì)費(fèi),讓企業(yè)使用成本得有效降低,無(wú)需為閑置資源付費(fèi)。


Serverless 彈性探索




?


互聯(lián)網(wǎng)企業(yè)往往由于其內(nèi)部應(yīng)用具有顯著流量特征,應(yīng)用啟動(dòng)依賴多,速度慢,且對(duì)整體資源池容量水位,庫(kù)存財(cái)務(wù)管理,離在線混部有組織上的諸多訴求,因而更多的是以容量畫像提前彈性擴(kuò)容為主,基于 Metrics 計(jì)算的容量數(shù)據(jù)作為實(shí)時(shí)修正,其目標(biāo)是容量畫像足夠精準(zhǔn)以至于資源利用率達(dá)到預(yù)期目標(biāo)。 公有云廠商服務(wù)于外部客戶,提供更為通用,普適的能力,并通過(guò)可拓展性滿足不同用戶的差異化需求。尤其在 Serverless 場(chǎng)景,更強(qiáng)調(diào)應(yīng)用應(yīng)對(duì)突發(fā)流量的能力,其目標(biāo)在于無(wú)需容量規(guī)劃,通過(guò)指標(biāo)監(jiān)控配合極致彈性能力實(shí)現(xiàn)應(yīng)用資源的近乎按需使用且整個(gè)過(guò)程服務(wù)可用。
Serverless 彈性落地









定時(shí)彈性:在已知應(yīng)用流量負(fù)載周期的情況下進(jìn)行配置,應(yīng)用實(shí)例數(shù)可以按照時(shí)間,星期,日期周期進(jìn)行規(guī)律化擴(kuò)縮,如在早 8 點(diǎn)到晚 8 點(diǎn)的時(shí)間段保持 10 個(gè)實(shí)例數(shù)應(yīng)對(duì)白天流量,而在其余時(shí)間由于流量較低則維持在 2 個(gè)實(shí)例數(shù)甚至縮 0。適用于資源使用率有周期性規(guī)律的應(yīng)用場(chǎng)景,多用于證券、醫(yī)療、政府和教育等行業(yè)。 指標(biāo)彈性:可以配置期望的監(jiān)控指標(biāo)規(guī)則,SAE 會(huì)時(shí)應(yīng)用的指標(biāo)穩(wěn)定在所配置的指標(biāo)規(guī)則內(nèi),并且默認(rèn)采用快擴(kuò)慢縮的模式來(lái)保證穩(wěn)定性。如將應(yīng)用的cpu指標(biāo)目標(biāo)值設(shè)置為 60%,qps 設(shè)置為 1000,實(shí)例數(shù)范圍為 2-50。這種適用于突發(fā)流量和典型周期性流量的應(yīng)用場(chǎng)景,多用于互聯(lián)網(wǎng)、游戲和社交平臺(tái)等行業(yè)。 混合彈性:將定時(shí)彈性與指標(biāo)彈性相結(jié)合,可以配置不同時(shí)間,星期,日期下的指標(biāo)規(guī)則,進(jìn)而更加靈活的應(yīng)對(duì)復(fù)雜場(chǎng)景的需求。如早 8 點(diǎn)到晚 8 點(diǎn)的時(shí)間段 CPU 指標(biāo)目標(biāo)值設(shè)置為 60%,實(shí)例數(shù)范圍為 10-50,而其余時(shí)間則將實(shí)例數(shù)范圍降為 2-5,適用于兼?zhèn)滟Y源使用率有周期性規(guī)律和有突發(fā)流量、典型周期性流量的應(yīng)用場(chǎng)景,多用于互聯(lián)網(wǎng)、教育和餐飲等行業(yè)。 自適應(yīng)彈性:SAE 針對(duì)流量突增場(chǎng)景進(jìn)行了優(yōu)化,借助流量激增窗口,計(jì)算當(dāng)前指標(biāo)在這個(gè)時(shí)刻上是否出現(xiàn)了流量激增問(wèn)題,并會(huì)根據(jù)流量激增的強(qiáng)烈程度在計(jì)算擴(kuò)容所需的實(shí)例時(shí)會(huì)增加一部分的冗余,并且在激增模式下,不允許縮容。

一級(jí)平滑:對(duì)指標(biāo)獲取周期,單次指標(biāo)獲取的時(shí)間窗口,指標(biāo)計(jì)算聚和邏輯進(jìn)行配置 二級(jí)平滑:對(duì)指標(biāo)數(shù)值容忍度,區(qū)間彈性進(jìn)行配置 三級(jí)平滑:對(duì)單位時(shí)間擴(kuò)縮步長(zhǎng),百分比,上下限進(jìn)行配置 四級(jí)平滑:對(duì)擴(kuò)縮冷卻窗口,實(shí)例預(yù)熱時(shí)間進(jìn)行配置
Serverless 彈性最佳實(shí)踐

軟件包優(yōu)化:優(yōu)化應(yīng)用啟動(dòng)時(shí)間,減少因類加載、緩存等外部依賴導(dǎo)致的應(yīng)用啟動(dòng)過(guò)長(zhǎng)
鏡像優(yōu)化:精簡(jiǎn)鏡像大小,減少創(chuàng)建實(shí)例時(shí)鏡像拉取耗時(shí),可借助開(kāi)源工具 Dive,分析鏡像層信息,有針對(duì)性的精簡(jiǎn)變更
Java 應(yīng)用啟動(dòng)優(yōu)化:借助 SAE 聯(lián)合 Dragonwell 11 ,為 Java 11 用戶提供了應(yīng)用啟動(dòng)加速功能

可用性優(yōu)化策略 配置指標(biāo)值為 40%
可用性成本平衡策略 配置指標(biāo)值為 50%
成本優(yōu)化策略 配置指標(biāo)值為 70%



社區(qū)網(wǎng)址一覽
評(píng)論
圖片
表情
