クラウド ネイティブ アプリケーション - 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 つの記事で理解する

推薦する

zji: Huawei香港回線独立サーバー30%割引、月額450元から、デュアル回線回線もオプション

Zjiは今年初め、Huaweiの香港ライン向け独立サーバーの特別プロモーションを開始しました。Hua...

クルンはどうですか? 「3ネットワークCN2 GIA」ラインのサーバーの簡単な評価

Kurunは、国内の高速アクセスを確保するために、常にハイエンドのリターン回線を提供することで有名で...

分散データベースは3つのレベルでアップグレードされています

分散データベースは昨年突然注目の技術となり、特にオープンソースの分散データベースは多くの企業から求め...

digitalocean - Cloudways が 9 月に digitalocean に 30 ドルの割引コードを無料で提供

ウェブサイト http://www.cloudways.com/en/ を開き、メールアドレスと割引...

Pacificrack: 通常の VPS - 80% オフ、最低 $10/年、Windows をサポート。クラスター VPS、50% オフ、最大 1021 IP

Pacificrack は現在、自社の米国 VPS (ロサンゼルス データ センター) を 20% ...

プレミアム帯域幅乗数: 0.33x とはどういう意味ですか?

bandwagonhost VPS を使用してデータセンターをバックグラウンドで転送すると、トラフィ...

昨日の百度の発表に関しては、引き続き更新され、4%に影響を与えるだろう

昨日、Baidu Webmaster Platformは、アルゴリズムの更新を継続するとの新たな発表...

GDPRとクラウドコンピューティング: 知っておくべきこと

欧州からの新しいデータ規制は、クラウド コンピューティングを使用する企業にいくつかの問題を引き起こす...

次世代サーバーレスプラットフォームKnativeの応用実践

事業紹介1. 単一製品APIサービスは、Dangdang.comの技術プラットフォームのコア基本サー...

文芸淘宝の経営理念:中小商店との再交渉が重要

野蛮な発展と成長に依存した後、Taobao は芸術的な方法でビジネスを行おうとしています。ダブルイレ...

簡単な議論:業務効率を向上させるためにプロモーションスタッフを評価する方法

プロモーション担当者はどのように評価すべきでしょうか? 草の根のウェブマスターでない場合は、一般的に...

zorocloud: 米国の高速/高防御VPS、月額34元から、CN2 GIA+CU2+50Gbps DDoS高防御保護

国内ホスティングプロバイダーのZorocloudは、 IDC/ISP資格を持ち、香港、日本、アメリカ...

ロングテールによるシングルページTaobaoプロモーションのヒントを共有する

Taobao Affiliate に関しては、ウェブサイトを構築する学生の多くはよく知っていると思い...

2018年11月主要モバイル広告プラットフォームのプロモーション動向を徹底分析!

11月、どのトラフィックプラットフォームの潜在力が大きいのか、各プラットフォームのトップバイヤーは誰...

高品質な外部リンクはどこから来るのでしょうか?

外部リンクは SEO 担当者にとって馴染み深いものですが、外部リンクだけでウェブサイトのランキングを...