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

推薦する

【乾物】ASO最適化のブラックテクノロジー:高速レビュー、キーワードカバレッジ、Appleリスト更新ルール!

クイックレビュー簡単に確認できるように、具体的な操作手順を説明します。最初のステップは、App St...

JVM仮想マシンの全体構造とオブジェクトメモリ割り当ての分析

[[414275]] JVM仮想マシンの全体構造の分析全体構造の紹介jvm は次のように分かれていま...

王通氏:タオバオSEO市場には大きな成長の余地がある

2002 年、私は SEO を始めたばかりでした。ある日、有名な IT コミュニティに、SEO は急...

ユーザーはマズローの欲求階層理論に何を求めているのか

SEO 業界は本質的にサービス業界です。サービス業は第三次産業であり、利用者に金銭を支払ったり、直接...

本当のプログラミングの達人はどのように学ぶのでしょうか?何を学ぶべきか?

みなさんこんにちは。私はNezhaです。数日前、私の友人が面接に行き、K8S について多くの詳細な質...

ウェブサイトの持続可能な開発

インターネットの普及によりウェブサイトが急速に発展し、春の雨後の竹の子のようにウェブマスターが大量に...

実際のユーザーログイン、セッション検証、分散ストレージセッション

[[385945]]ログイン機能の実装次に、login.css を作成し、スタイル ID をコンテン...

2014年百度アライアンスサミットは5月29日に開催され、4つのハイライトで大きな期待を集めています。

1994年、中国は64K国際専用回線を通じてインターネットへの完全なアクセスを獲得しました。それ以来...

justhost が新たに追加したロサンゼルス データセンター US VPS の簡単なレビュー

justhost は、米国のロサンゼルス データ センターに VPS を追加しました。従来の 200...

#ブラックフライデー#: sugarhosts-ホスティング/専用 IPv4/香港データセンターが 30% オフ

Sugarhostsのブラックフライデープロモーションも早くもスタートし、すべての仮想ホストが30%...

テンセントクラウド:180元/3年間のクラウドサーバーを4Gメモリ/2コア/60G SSD/6M帯域幅に無料でアップグレード

Tencent Cloud Serverのフラッシュセールは長い間行われてきましたが、最近では2Gメ...

51Fanli.comのキャッシュバック方式は批判を受けており、79万元全額を換金するには12年かかる

上海の記者タオ・リー本紙は昨年7月、「リベートサイトは不当な条件を使っていると非難されることが多く、...

国防総省はAWS、グーグル、オラクル、マイクロソフトの間で巨額の取引を分割した

国防総省は昨年マイクロソフトとの100億ドルのJEDI契約をキャンセルしたが、今度はクラウドコンピュ...

多くの場所で百度のエージェントが従業員に360ソフトウェアをアンインストールするよう求めた

新浪科技は8月30日朝、「3B」検索戦争が本格化する中、多くの拠点の百度代理店が社内通知を発行し、会...

vpsdime-7 USD/6 GB RAM/4 コア/30 GB ハードドライブ/2 TB トラフィック/4 GB ポート

vpsdime は最近立ち上げられた風変わりな VPS プロバイダーです。これは実際には、backu...