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

推薦する

オンラインストアの税金徴収の噂:タオバオの販売業者は1年間で400億元の税金を支払う可能性がある

5月30日、電子商取引オンラインストアに5%の事業税が課されるというニュースが業界に広まり、それは電...

2020 年のクラウド コンピューティングの予測: セキュリティ、AI、Kubernetes など

[51CTO.com クイック翻訳] クラウド技術はずっと前に天井を突破し、ずっと急上昇し続けていま...

任志強、劉強東を指名:性的暴行事件は会社の社会的イメージに影響を与える

月給5,000~50,000のこれらのプロジェクトはあなたの将来ですA5 Startup Netwo...

速報: linode - 月額 10 ドル / メモリ 1g / SSD 24g / トラフィック 2T / 無料 10 ドル

常に祭壇の頂点に君臨してきた Linode VPS は、10 年以上のルールを破り、最小パッケージを...

Baidu のランキングは何によって決まるのでしょうか? (証拠は写真をご覧ください)

キーワードランキングに影響を与える要素については、多くの SEO 担当者がこのテーマに関する記事をた...

企業ブランドを宣伝する方法 Wenfang Mediaがソフトコピーマーケティングを教えます

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

これらの問題は、初心者のブロガーが記事を書くときに最も起こりやすい。

ブログの執筆は、多くの新人ウェブマスターやブロガーにとって頭痛の種です。しかし、ブログサイトを作成し...

フォーラムのプロモーションには優れた利点があり、フォーラムのプロモーションをうまく行うための秘訣が共有されています。

オンラインプロモーションといえば、ブログプロモーションやフォーラムプロモーションを思い浮かべる人が多...

godaddy 9月 4.95ドル割引コード登録com

今月中旬、Godaddyは社内従業員の操作ミスによりサーバートラブルが発生し、多数のウェブサイトに影...

Vipshop が初の四半期黒字を達成: ブランド割引モデルはどこまで進むことができるか?

上海の記者、王敏傑どちらも垂直型電子商取引プラットフォームです。1つはセコイアが現在追っている資本で...

Weiboと戦い、Baiduと闘い、WeChatと口論する:なぜ今日頭条は「好戦的な」遺伝子を持っているのか?

TikTokとWeChatは再び対立しており、過去と同様に、それぞれの側に独自の意見があります。 W...

2022 年の 7 つの注目のエッジ コンピューティング トレンド

さまざまな業界でエッジの導入が見られ、エッジ コンピューティングのトレンドを理解する必要があります。...

あなたのウェブサイトの基本的な SEO は最適化されていますか?

ネットワークマーケティング業界は成長を続けています。ユーザーエクスペリエンスを向上させるために、検索...

企業ウェブサイト運営の6つの要素を学び、ウェブサイトを最適化する

ほぼすべての企業が自社のウェブサイトを持っています。インターネットマーケティングが推奨されるこの世界...