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

推薦する

人材ネットワークの垂直分割を通じてお金を稼ぐという夢を実現するチャンスはまだあるのでしょうか?

草の根ウェブマスターの起業分野を活性化できる唯一の分野は、おそらく人材ウェブサイトです。なぜそう言う...

AR Cloud はインターネットビジネスの状況を一変させることができるでしょうか?

[[249931]]ケビン・ケリー氏は、Wired誌の創刊編集者であり、有名なベストセラー作家、テク...

v.psはどうですか?日本大阪データセンターVPSの簡単なレビュー

v.psはどうですか? v.ps 日本はどうですか? v.ps の日本の VPS には、東京と大阪に...

創造性の出発点と核心は問題を解決することである

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています7月14日...

中小企業によくあるインターネットマーケティングの5つの手法!

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています中小企業の...

ウェブマスターがウェブサイトの責任者である場合に、ウェブサイトをどのようにマーケティングするかについての簡単な説明

インターネットが変化し続けるにつれて、ウェブサイトで SEO を適切に行うことがますます困難になって...

検索プロモーションにおけるマーケティング戦略についての簡単な説明

オンライン マーケティング プロモーションの実践において、SEM を行う人の多くはアカウント操作に力...

SEO初心者は傲慢さを捨てなければならない

今、SEO業界に参入しようと言うと、他の人から強く思いとどまられるでしょう。なぜなら、現状では、情報...

netcloud-onapp クラウド/256m メモリ KVM/月額 2.5 ドル

Host CatがNetcloudを紹介するのは今回で2回目です。紹介する理由は、私の個人的な認識で...

フレンドリーリンクを作成する際に注意すべき点を詳細に分析

ウェブサイトの最適化は、オンサイト最適化とオフサイト最適化に分けられます。オフサイト最適化は、外部リ...

インターネット企業はどのようにフェスティバル運営を行っているのでしょうか?ストロベリーミュージックフェスティバルでインターネット企業を評価する

テキスト/楊苗山寨会議創設者昨日のストロベリー音楽祭で忙しい一日を過ごした後、ミャオおじさんはいくつ...

ブランドマーケティングデータ分析の9つの基本手法!

「データ分析の方法は何ですか?」仕事でも面接でも、この質問は多くの学生を困惑させます。ああ、毎日数...

ステーションBは1000億ドル規模のeスポーツライブ放送市場に「賭け」をかける

世界トップクラスのeスポーツイベントの3年間にわたる独占生中継、中国のZ世代の若者に最も人気のある2...

sharktech: 月額 149 ドル、ロサンゼルス 1Gbps 無制限トラフィック サーバー、60Gbps 高防御、e3-1270/16g/2T

SharkTech は現在、ロサンゼルスのデータセンターで特別な低価格サーバーを宣伝しています。この...

Istio は Spring Cloud を置き換えることができますか?

過去には、私たちは「あらゆることを行う」大規模なモノリシック アプリケーションを運用していました。最...