クラウド ネイティブ アプリケーション - CDN シナリオでの自動評価

クラウド ネイティブ アプリケーション - CDN シナリオでの自動評価

パート 01:クラウド ネイティブ CDN とは何ですか?

CNCF によるクラウド ネイティブの定義:

  • クラウド ネイティブ テクノロジーにより、組織はパブリック クラウド、プライベート クラウド、ハイブリッド クラウドなどの新しい動的環境で、弾力的にスケーラブルなアプリケーションを構築および実行できるようになります。
  • 代表的なクラウドネイティブ テクノロジーには、コンテナー、サービス メッシュ、マイクロサービス、不変インフラストラクチャ、宣言型API などがあります。
  • これらの技術により、フォールト トレラントで管理しやすく、監視しやすい疎結合システムの構築が可能になります。
  • 信頼性の高い自動化と組み合わせたクラウドネイティブ テクノロジーにより、エンジニアはシステムに頻繁かつ予測可能な重大な変更を加えることが容易になります。

CDN は、実装されている汎用エッジ コンピューティングの典型的なアプリケーションです。エッジ サービス ノードをシンクすることで、コンテンツがユーザーに近づき、ビジネス認識が効果的に向上します。 CDN のクラウド化により、エッジ サービス ノードのコンピューティング リソースが解放され、コンテナー管理テクノロジが提供されて、エッジでのサードパーティ アプリケーションの実装が容易になり、リソースの使用率が向上します。

主なアプリケーション シナリオは、 Web ページの高速化、ダウンロードの高速化、ビデオとオーディオのオンデマンド/ライブ ブロードキャストの高速化の 3 つのカテゴリです。

クラウドネイティブ CDN システムには、主にクラウドベースのエッジノード、エッジクラウドプラットフォーム、およびサポートするクラウド管理プラットフォームが含まれます。クラウド管理プラットフォームは、主にリソースプール管理、リソース管理、補助操作管理、プロセス管理、運用保守管理などの機能を提供します。エッジ クラウド プラットフォームは、主にコンテナ化された展開環境を提供し、ビジネス ニーズに応じてストレージ、ネットワーク、CPU、メモリなどのリソースの管理と割り当てに対応できます。


パート02:テストツールの選択

クラウドネイティブ CDN テストにおける大きな難しさの 1 つは、クラウドネイティブ テスト シナリオの構築が難しく、テスト時間が長いことです。 Alibaba のオープンソース Chaosblade は、シンプルで使いやすく、強力なカオス実験実装ツールです。基本的なCPU、ディスク、I/O、ネットワークに加え、docker、dubbo、jvm攻撃もサポートし、攻撃後の迅速なロールバックもサポートします。これは、k8s デプロイメント モードにおける最適なソリューションであり、豊富なクラウド ネイティブ CDN テスト シナリオの構築に役立ちます。

Chaosblade はさまざまな実験的なシナリオをサポートしています。

  • 基本リソース: CPU、メモリ、ネットワーク、ディスク、プロセス、その他の実験シナリオなど。
  • Java アプリケーション: データベース、キャッシュ、メッセージ、JVM 自体、マイクロサービスなど。また、さまざまな複雑な実験シナリオに挿入する任意のクラス メソッドを指定することもできます。
  • C++ アプリケーション: たとえば、遅延を挿入したり、変数や戻り値を改ざんしたり、その他の実験的なシナリオを実行するための任意のメソッドまたはコード行を指定します。
  • Docker コンテナ: コンテナ、CPU、メモリ、ネットワーク、ディスク、プロセスの強制終了や、コンテナ内のその他の実験シナリオなど。
  • クラウドネイティブプラットフォーム:例えば、KubernetesプラットフォームノードのCPU、メモリ、ネットワーク、ディスク、プロセスの実験シナリオ、PodネットワークやPod自体のPodの強制終了などの実験シナリオ、前述のDockerコンテナの実験シナリオなどのコンテナの実験シナリオ。

クラウドネイティブ プラットフォームの場合、chaosblade-operator はカオス実験モデルに従って実験シナリオを標準化し、実験を Kubernetes CRD リソースとして定義し、実験モデルを Kubernetes リソース属性にマッピングします。カオス実験モデルと Kubernetes 宣言型設計を使いやすい方法で組み合わせます。シナリオの開発を容易にするためにカオス実験モデルに依存しながら、Kubernetes の設計コンセプトとうまく組み合わせることもできます。 Chaos 実験は、kubectl を介して Kubernetes API を直接呼び出すか、コードを記述することで作成、更新、削除できます。さらに、リソースステータスにより実験の実行状況を明確に示し、Kubernetes フォールトインジェクションの実装を標準化できます。

まとめると、chaosblade-operator を使用してクラウドネイティブ CDN のテスト シナリオを構築し、クラウドネイティブ CDN のテスト効率を向上させることができます。

パート 03:フォールト注入

クラウドネイティブ CDN プラットフォームの高可用性とトラフィック スケジューリング機能を評価するには、さまざまな異常シナリオにおけるビジネス アクセスの継続性と正確性を検証する必要があります。上記の調査に基づいて、chaosblade-operator カオス ツールを使用して、異常なシナリオでのフォールト インジェクションを実装します。具体的な使い方は以下のとおりです。

1. chaosblade-operatorをダウンロードしてインストールする

 helm をインストール --namespace kube-system --name chaosblade-operator chaosblade-operator-0.10.0-v2.tgz

上記のコマンドを実行すると、chaosblade-operator が kube-system コマンド スペースにインストールされます。 chaosblade-operator が起動すると、各ノードに chaosblade-tool Pod と 1 つの chaosblade-operator Pod がデプロイされます。

2. インストール結果を表示する

 kubectl get pod -n kube-system -o Wide | grep カオスブレード

chaosblade-operator ポッドと chaosblade-tool ポッドの両方が実行状態の場合、デプロイメントは成功しています。デプロイメントに問題がある場合は、Chaoblade デプロイメント ドキュメントを確認してください。

3. 障害注入のタイプ、障害入力値、障害ノード名、障害期間などのパラメータを特定します。

障害の種類には、CPU、メモリ、ディスク、ネットワーク切断、ノード障害などがあります。

4. 識別された障害注入パラメータに従って、障害注入コマンドを実行します (期間に達すると自動的に破棄されます)。例:

 blade create k8s node-cpu fullload --names ${node ノード名} --cpu-percent ${失敗の入力値} --kubeconfig ~/.kube/config --timeout ${失敗の持続時間}

5. フォールトインジェクションの結果を返します。フォールトインジェクションは成功です。

 {"コード":200,"成功":true,"結果":"beeaaf3a7007031d"}

パート04:ツールの統合 

クラウドネイティブのテストシナリオ構築の問題を解決した後、次のステップは、ツールをクラウドネイティブ CDN サービスと組み合わせ、クラウドネイティブ CDN 自動テスト プラットフォームを開発して、テストの効率をさらに向上させることです。クラウドネイティブ CDN 自動テスト プラットフォームの全体的な設計プロセスは次のとおりです。



自動化の主な内容には、ビジネス アクセスのシミュレーション、ビジネス ログの分析、フォールト インジェクションなどがあります。

  • ステップ 1: ビジネス アクセスをシミュレートし、クラウド ネイティブCDN ノードでビジネス ログを生成します。
  • ステップ 2: ビジネス ログを取得して分析し、ステータス コード、ヒット ステータス、ノードIP などの関連するビジネス指標を取得します。
  • ステップ 3: chaosblade ツールを使用してフォールト注入を実行します。
  • ステップ 4: ビジネス アクセスのシミュレーションを続行します。
  • ステップ 5: ビジネス ログを取得して分析し、取得したビジネス指標をフォールト インジェクションの指標と比較分析して、結果が予想どおりであるかどうかを判断し、フォールト インジェクションがビジネスに与える影響を取得します。

このクラウドネイティブ CDN 自動テスト プラットフォームを通じて、CDN サービスのスケジュール設定、コンテンツ管理、配信セキュリティなどの関連機能を効果的に評価し、テストの難易度を軽減し、テストの効率を向上させることができます。クラウドネイティブ CDN 自動テスト プラットフォームの最終的なインターフェースは次のとおりです。

パート05:要約

カオスエンジニアリング技術と組み合わせることで、さまざまなクラウドネイティブテストシナリオを迅速に構築し、クラウドネイティブプラットフォームテストの難易度を軽減できます。クラウドネイティブ CDN 自動テスト プラットフォームは、毎日のバージョン テストとパイロット テストに適用され、全体的なテスト効率が 40% 向上し、CDN ビジネス仮想化移行の品質が確保されています。現在、杭州リサーチのvCDN機能は業界標準に達しており、vCDNに基づくエッジ機能は16省に展開され、ホームセキュリティ、VR、OTTなどのHサービスや既存のBおよびNサービスまで提供され、1,000万人以上のユーザーにサービスを提供しています。

<<:  re:Invent 2022 がもうすぐ開幕します。ぜひご覧ください!

>>:  K8S のローリングアップグレードを 1 つの記事で理解する

推薦する

#ニュース#cmivps 香港 VPS が CN2 CIA ネットワークにアクセス (アウトバウンド バックボーンへの直接接続、リターンは CN2 GIA)

cmivpsは、香港のVPSを全面的にアップグレードし、CN2 CIAネットワーク(アウトバウンドル...

中国SEO業界の奇妙な現状についてのコメント

昨日、ロビンはDianshiのVIPメンバーとこの非常に興味深いトピックについて話し合いました。私は...

ビッグデータが金儲け:百度は休眠中、淘宝網は地盤を固めている

「百度もRTB広告取引プラットフォームの立ち上げを準備中だ」最近、国内大手DSPの幹部が記者らにこの...

ディスクの損傷はデータ損失につながり、Shanda Cloud Hostingの宣伝は誇張だと非難される

ウェブサイトのダウンタイムにより、クラウド ホスティングの人気は冷めてしまいました。今週の月曜日、旅...

中国オーディオ業界の製品に関する洞察と分析

現在、オンラインオーディオ市場の規模は拡大しており、コンテンツにお金を払うという概念を形成するユーザ...

アリババの政府関係DingTalkアップグレードにより専用の仕事ポータルが作成

9月17日、2020年雲啓大会の「政府デジタル変革」セッションにおいて、政府業務向けDingTalk...

フォーラム構築における誤解についての簡単な議論

フォーラムは人気を集め、ユーザー グループを育成する場所です。草の根のウェブマスターにとってフォーラ...

九洲クラウドと英方ソフトウェアが共同でクラウドエコシステムを構築し、製品互換性の相互認証を完了

最近、国内オープンインフラのリーダーである九州クラウドと上海盈方ソフトウェア株式会社(以下、「盈方ソ...

Baidu Experienceの開発可能性と外部リンクの作成方法についての簡単な説明

Baidu Experienceは昨年Baiduによって開始されました。まだ開始されて間もないため、...

正しい姿勢があれば、SEO実践者は将来の課題に冷静に立ち向かうことができる

昨夜の百度の微調整は、新年を迎えて落ち着かない気分だった私に一筋の希望を与え、ここ数日の私の懸命な努...

文学ウェブサイトとユーザーの間に火花を散らす方法についての簡単な議論

いわゆる「スパーク」とは、ユーザーと共鳴することです。文芸サイトの運営はますます難しくなっています。...

Veesp: 旧正月 50% オフ、VPS+サーバー、年間 25 ドルから、200M 帯域幅、無制限トラフィック、ロシア/ラトビア

Veesp (2004~、ラトビアの会社) は、中国の旧正月を祝っています (実際には中国のカレンダ...

#黒5# siteground: Google Cloud で稼働する仮想ホスティングと VPS、85% オフ

高品質の海外仮想ホストを使用することを好む多くのユーザーは、おそらくSitegroundを知っている...

検索ボックス: デザイナーが注意すべき 5 つの詳細

編集者注: ユーザー インターフェイスの設計は、ユーザーを維持したいアプリケーションや Web サイ...

アリババとテンセントがミニプログラムをめぐって争う!

WeChatミニプログラムの発売から3年が経過した現在も、Alipayミニプログラムは勢いを増し続け...