自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

云原生應用——CDN場景下的自動化評測

云計算 云原生
云原生的核心是云原生應用。云原生架構(gòu)是云原生應用的架構(gòu),云原生方法論是實現(xiàn)云原生應用的方法論,云原生體系就是構(gòu)建、發(fā)布、運行云原生應用的理論、方法、工具、環(huán)境、流程、文化等等。CDN應用具備以下云原生特性:可以通過網(wǎng)絡(luò)訪問、遠端部署執(zhí)行、可擴展彈性伸縮、共享、按需使用自主服務(wù)、高可用、可遠程監(jiān)控計費升級、標準化交付與位置無關(guān)等,因此適用于云原生改造和遷移。

Part 01、什么是云原生下的CDN

CNCF對云原生(Cloud Native)的定義:

  • 云原生技術(shù)有利于各組織在公有云、私有云和混合云等新型動態(tài)環(huán)境中,構(gòu)建和運行可彈性擴展的應用。
  • 云原生的代表技術(shù)包括容器、服務(wù)網(wǎng)格、微服務(wù)、不可變基礎(chǔ)設(shè)施和聲明式API。
  • 這些技術(shù)能夠構(gòu)建容錯性好、易于管理和便于觀察的松耦合系統(tǒng)。
  • 結(jié)合可靠的自動化手段,云原生技術(shù)使工程師能夠輕松地對系統(tǒng)作出頻繁和可預測的重大變更。

?CDN是廣義邊緣計算已落地的典型應用,通過邊緣服務(wù)節(jié)點下沉,內(nèi)容更貼近用戶,有效改善業(yè)務(wù)感知。通過CDN的云化改造,釋放邊緣服務(wù)節(jié)點計算資源,提供容器管理技術(shù)為第三方應用落地邊緣,提升資源利用率。

主要應用場景為三類:網(wǎng)頁加速、下載加速、視音頻點播/直播加速。

云原生CDN系統(tǒng)主要包括云化邊緣節(jié)點以及邊緣云平臺和配套的云管平臺。云管平臺主要提供資源池管理、資源管理、輔助運營管理、流程管理、運維管理等功能,邊緣云平臺主要提供容器化部署環(huán)境,并可根據(jù)業(yè)務(wù)需求滿足存儲、網(wǎng)絡(luò)、CPU、內(nèi)存等資源的管理和分配。

圖片


Part 02、測試工具選型

圖片

云原生CDN測試的一大難點在于構(gòu)建云原生測試場景難度高、測試時間長。阿里巴巴開源的Chaosblade--一個簡單易用且功能強大的混沌實驗實施工具,除了基礎(chǔ)的CPU、disk、I/O、network外,還支持docker、dubbo、jvm的攻擊,同時支持攻擊后迅速回滾,是在k8s部署方式下最優(yōu)方案,正好可以幫助我們構(gòu)建豐富的云原生CDN的測試場景。

Chaosblade支持豐富的實驗場景:

  • 基礎(chǔ)資源:比如CPU、內(nèi)存、網(wǎng)絡(luò)、磁盤、進程等實驗場景;
  • Java應用:比如數(shù)據(jù)庫、緩存、消息、JVM本身、微服務(wù)等,還可以指定任意類方法注入各種復雜的實驗場景;
  • C++應用:比如指定任意方法或某行代碼注入延遲、變量和返回值篡改等實驗場景;
  • Docker容器:比如殺容器、容器內(nèi)CPU、內(nèi)存、網(wǎng)絡(luò)、磁盤、進程等實驗場景;
  • 云原生平臺:比如Kubernetes平臺節(jié)點CPU、內(nèi)存、網(wǎng)絡(luò)、磁盤、進程實驗場景,Pod網(wǎng)絡(luò)和Pod本身實驗場景如殺Pod,容器的實驗場景如上述的Docker容器實驗場景;

?針對云原生平臺,chaosblade-operator遵循混沌實驗模型規(guī)范化實驗場景,把實驗定義為Kubernetes CRD資源,將實驗模型映射為Kubernetes資源屬性,很友好的將混沌實驗模型與Kubernetes聲明式設(shè)計結(jié)合在一起,依靠混沌實驗模型便捷開發(fā)場景的同時,又可以很好的結(jié)合Kubernetes設(shè)計理念,通過kubectl或者編寫代碼直接調(diào)用Kubernetes API來創(chuàng)建、更新、刪除混沌實驗,而且資源狀態(tài)可以非常清晰的表示實驗的執(zhí)行狀態(tài),標準化實現(xiàn)Kubernetes故障注入。

綜上所述,我們可以使用chaosblade-operator構(gòu)建云原生CDN的測試場景,提高云原生CDN的測試效率。

Part 03、故障注入

評測云原生CDN平臺的業(yè)務(wù)高可用和流量調(diào)度功能,需要在各類異常場景下驗證業(yè)務(wù)訪問的連續(xù)性與正確性。根據(jù)上文調(diào)研,我們使用chaosblade-operator混沌工具來實現(xiàn)異常場景的故障注入。具體使用方式如下:

1.下載安裝chaosblade-operator

helm install --namespace kube-system --name chaosblade-operator chaosblade-operator-0.10.0-v2.tgz

根據(jù)上述命令,chaosblade-operator會被安裝至kube-system命令空間下。chaosblade-operator啟動后會在每個節(jié)點部署chaosblade-tool Pod和一個chaosblade-operator Pod。

2.查看安裝結(jié)果

kubectl get pod -n kube-system -o wide | grep chaosblade

如果顯示chaosblade-operator和chaosblade-tool Pod都處于Running狀態(tài),則說明部署成功。如果部署出現(xiàn)問題,可以查看chaoblade部署文檔。

3.識別故障注入的類型、故障輸入值、故障node名稱、故障持續(xù)時間等參數(shù)。

故障類型包括:CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)斷開、節(jié)點掛掉。

圖片

4.根據(jù)識別的故障注入?yún)?shù),執(zhí)行故障注入命令(達到持續(xù)時間后自動銷毀),如:

blade create k8s node-cpu fullload --names ${node節(jié)點名稱} --cpu-percent ${故障輸入值} --kubeconfig ~/.kube/config --timeout ${故障持續(xù)時間}

5.返回故障注入結(jié)果,故障注入成功

{"code":200,"success":true,"result":"beeaaf3a7007031d"}

Part 04、工具集成 

解決了云原生測試場景構(gòu)建的難題,接下來就是將工具與云原生CDN業(yè)務(wù)結(jié)合,研發(fā)一套云原生CDN自動化測試平臺,進一步提高測試效率。云原生CDN自動化測試平臺的整體設(shè)計流程如下:


圖片


自動化的主要內(nèi)容包括模擬業(yè)務(wù)訪問、分析業(yè)務(wù)日志、故障注入。

  • 第一步:模擬業(yè)務(wù)訪問,在云原生CDN節(jié)點生成業(yè)務(wù)日志;
  • 第二步:獲取業(yè)務(wù)日志并進行分析,得到相關(guān)業(yè)務(wù)指標,如狀態(tài)碼、命中狀態(tài)、節(jié)點IP等;
  • 第三步:使用chaosblade工具進行故障注入;
  • 第四步:繼續(xù)模擬業(yè)務(wù)訪問;
  • 第五步:獲取并分析業(yè)務(wù)日志,將得到的業(yè)務(wù)指標與故障注入的指標進行對比分析,判斷結(jié)果是否與預期相同,得到故障注入給業(yè)務(wù)帶來的影響。

通過該云原生CDN自動化測試平臺,我們可以有效地對CDN業(yè)務(wù)的調(diào)度、內(nèi)容管理、分發(fā)安全等相關(guān)功能進行測評,降低測試難度,提高測試效率。最終的云原生CDN自動化測試平臺界面如下:

圖片

Part 05、總結(jié)

結(jié)合混沌工程技術(shù),我們可以快速地構(gòu)建云原生的各類測試場景,降低云原生平臺測試難度。該云原生CDN自動化測試平臺已應用于日常版本與試點測試中,整體提升測試效率40%,保障了CDN業(yè)務(wù)虛擬化遷移的質(zhì)量。目前,杭研vCDN能力已達到行業(yè)水平,基于vCDN的邊緣能力已落地16個省份,承載家庭安防、VR、OTT等to H業(yè)務(wù)和現(xiàn)網(wǎng)to B、to N業(yè)務(wù),服務(wù)用戶數(shù)超千萬。

責任編輯:龐桂玉 來源: 移動Labs
相關(guān)推薦

2021-06-22 10:31:38

云計算自動化云原生

2021-10-26 10:52:51

Serverless 云原生應用編程

2023-02-07 08:11:15

2023-12-04 08:26:42

CLI工具

2015-09-01 11:22:26

公有云自動化部署水平擴展

2021-07-27 10:55:47

云計算

2015-03-12 10:13:24

對公有私有IAASPaaS

2013-06-19 14:50:14

云計算

2010-07-26 09:53:08

Perl多進程

2021-04-28 16:49:27

自動化設(shè)備制藥

2019-08-22 09:25:54

云安全云原生Fortinet

2025-03-19 10:43:46

2024-11-01 15:05:12

2015-02-04 09:17:38

亞馬遜AWS云自動化

2024-02-04 09:53:27

2017-04-21 07:41:37

iOS自動化測試容器

2020-07-17 10:54:43

云計算混合云IT

2011-11-22 08:21:55

云時代 服務(wù)編排

2017-12-17 21:58:18

2012-10-24 09:40:00

點贊
收藏

51CTO技術(shù)棧公眾號