Successfully reported this slideshow.
Your SlideShare is downloading. ×

最近Preview公開されたAzure テストサービスを試してみた

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 34 Ad

最近Preview公開されたAzure テストサービスを試してみた

Download to read offline

2021年に公開されたAzureのテストサービスであるAzure Chaos Studio / Azure Load Testingがどのように利用できるのか、Demoを交えてご説明しました。

#burikaigi2022 #azure #azpower

2021年に公開されたAzureのテストサービスであるAzure Chaos Studio / Azure Load Testingがどのように利用できるのか、Demoを交えてご説明しました。

#burikaigi2022 #azure #azpower

Advertisement
Advertisement

More Related Content

Slideshows for you (19)

Similar to 最近Preview公開されたAzure テストサービスを試してみた (20)

Advertisement

More from Hiroyuki Mori (16)

Recently uploaded (20)

Advertisement

最近Preview公開されたAzure テストサービスを試してみた

  1. 1. AZPower株式会社はマイクロソフトパートナープログラムのGold Partnerです。 Copyright© AZPower All Rights Reserved. AZPower株式会社 プリンシパルアーキテクト 森 博之 最近Preview公開された Azure テストサービスを試してみた
  2. 2. Copyright© AZPower All Rights Reserved. 森 博之 • AZPower株式会社 プリンシパルアーキテクト • Microsoft MVP - Developer technologies • Visual Studio Users Community Japan • Visual Studio Code - Japanese Translation • AWS .NET Users Group • 著書:はじめてのVisual Studio 2017 他
  3. 3. Azure テストサービス 3
  4. 4. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 4 Azure Chaos Studio / Azure Load Testing • Azure Chaos Studio • Azureサービスでカオスエンジニアリングを実施するためのサービス • https://azure.microsoft.com/en-us/updates/public-preview-azure-chaos-studio-systematically- improve-resilience-with-controlled-chaos/ • Azure Load Testing • Azure向け負荷テストサービス • https://azure.microsoft.com/en-us/updates/azure-load-testing-now-available-in-public-preview/ Azure向けテストサービス 4
  5. 5. Azure Chaos Studio
  6. 6. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 6 カオスエンジニアリング • NETFLIX社が自社の分散システムに導入したことで注目された非機能要件検 証手法 • 混沌というよりカオス理論のイメージ 擬似的な障害を発生させることで、本番環境の耐障害性を検証
  7. 7. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 7 分散システムとカオスエンジニアリング • ダウンしないサービスから自動回復できるシステムへ • これらの変化により、障害の質も変化 • リカバリー範囲の特定も困難なケースも ⇒カオスエンジニアリングとは障害を早期に見つけて、被害を最小限に抑える 取り組み モノリシックサービスからマイクロサービスへ
  8. 8. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 8 カオスエンジニアリングの原則 • 定常状態における振る舞いの仮説を立てる • 実世界は多様である • プロダクション環境で実験を実行する • 実験を自動化して継続的に実行する • 影響範囲を局所化する • https://principlesofchaos.org/ja/ Principles of Chaos Engineeringによると...
  9. 9. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 9 Azure Chaos Studio • Azure上にあるアプリケーションに障害を注入し、回復性を測定 • 以下のようなシナリオなどで利用 • アプリケーションに影響を与えたインシデントを再現して、障害時の挙動を測定 • ECサイトにおけるセールやゲームサービスに対するイベントなどのサービスに発生する 負荷に応じたスケーリング・パフォーマンス・回復性の検証 • 事業継続とディザスターリカバリー(BCDR)の訓練 概要
  10. 10. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 10 How to use (1) • 実験対象となるリソースを指定 • 対象は以下の2種類 • サービス直接ターゲット • 直接障害を適用するリソース • エージェント不要 • エージェントベースターゲット • 仮想マシン、仮想マシンスケールセットなど、事前にエージェントの追 加が必要となる障害を適用するリソース ターゲット(対象)のオンボーディング
  11. 11. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 11 How to use (2) • 実行する障害と対象を記述 • ロジック ー 実行する障害とタイミング • 障害の種類とパラメーターをグループ化 • ExperimentはStepで分割 • Stepは1つずつ実行 • Stepには1つ以上のBranchで構成 • BranchはStep内で平行に実行 • セレクター ー 障害を起こすリソース • Azureテナント内のリソースが対象 • サブスクリプション、リソースグループ、リージョンをターゲットに指定で きる • Azure portal および Chaos Studio REST APIでExperimentの作成・更新・開始・ キャンセル・状態確認が行える Chaos Experiment (カオス実験)を作成
  12. 12. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 12 アクション • アクションには「名前」と「種類」の2つのパラメーターを指定 • 「名前」 実行されるアクション、URN形式で指定 • 「種類」 アクションの実行方法 • 停止せず実行されるアクション「連続」 • 1回だけ発生するアクション 「不連続」 • アクション自体の種類 • 障害 ー リソースに影響を与えるアクション • 時間の遅延 ー 待機。障害発生後に一時的に停止する場合に利用 Chaos Experimentのアクティビティの最小単位
  13. 13. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 13 障害ライブラリ • Cosmos DB のフェールオーバー • AKS Chaos Mesh のネットワーク障害 • AKS Chaos Mesh のポッド障害 • AKS Chaos Mesh のストレス障害 • AKS Chaos Mesh の IO 障害 • AKS Chaos Mesh の時刻の障害 • AKS Chaos Mesh のカーネル障害 • AKS Chaos Mesh の HTTP 障害 • AKS Chaos Mesh の DNS 障害 • ネットワーク セキュリティ グループ (規則の設定) • Azure Cache for Redis の再起動 2022年1月28日現在 • 遅延時間 • CPU 負荷 • 物理メモリ負荷 • 仮想メモリ負荷 • ディスク I/O 負荷 (Windows) • ディスク I/O 負荷 (Linux) • 任意の stress-ng ストレス • Windows サービスを停止する • 時刻の変更 • プロセスを強制終了する • DNS エラー • ネットワーク待ち時間 • ネットワーク切断 • ファイアウォール規則を使用したネットワーク切断 • ARM 仮想マシンのシャットダウン • ARM 仮想マシン スケール セット インスタンスのシャットダウン https://docs.microsoft.com/ja-jp/azure/chaos-studio/chaos-studio-fault-library
  14. 14. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 14 サポートされているリソースの種類とロールの割り当て • https://docs.microsoft.com/ja-jp/azure/chaos-studio/chaos-studio-fault-providers サービスダイレクト・エージェントベース・ASK Chaos Mesh
  15. 15. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 15 Demoの構成 Demo環境:Azure Chaos Studio で始めるカオスエンジニアリング • https://qiita.com/kk31108424/items/7ec1cdec5e179226643b • https://github.com/kohei3110/Chaos-Studio-Hands-on-Lab Application Gateway + nginx × 2台
  16. 16. Demo
  17. 17. Azure Load Testing
  18. 18. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 18 Azure Load Testing • フルマネージドの負荷テストツール • 複数インスタンスを使ってApache JMeter Scriptを実行 • 1インスタンス最大250スレッド実行可能 • ターゲットの場所はAzureサービスじゃなくともOK • ただし、公開リソースのみ 概要
  19. 19. Demo
  20. 20. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 20 価格 Preview
  21. 21. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 21 作成方法 Azure Portalからリソース作成⇒「Load Testing」
  22. 22. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 22 ロードテストリソースの作成 • 現在は5リージョンのみ 名前、場所を指定
  23. 23. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 23 負荷テストを行うための権限の付与 • 「ロード テスト共同作成者」以上の権限を付与 IAMから権限付与
  24. 24. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 24 負荷テスト用スクリプトの作成 • 負荷テストで使用するスクリプトを作成 Apache JMeter スクリプトの作成
  25. 25. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 25 Testの作成 「Create Test」
  26. 26. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 26 Basics • テスト作成後、即時実行する場合チェック テスト名、テストの説明
  27. 27. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 27 JMeterスクリプトをアップロード ローカルにあるJMSファイルを選択し、Uploadをクリック
  28. 28. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 28 Parameters • 環境変数やシークレットを参照する場合、こちらで指定 環境変数、シークレット
  29. 29. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 29 Load • 250スレッド以上を指定したい場合は、インスタンス数を増やす • 現在最大45インスタンスまで指定可能 1インスタンス最大250スレッド
  30. 30. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 30 Test criteria • 以下のパラメータを指定することでテスト基準を設定 • Client metric チェック対象となるメトリック • Aggregate function メトリックに適用する集計関数 • Condition 比較演算子 • Threshold 基準となる値 • 現時点では以下をサポート テスト基準を設定し、合格/不合格を判定
  31. 31. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 31 Monitoring 監視対象を指定し、Load Testingと統合
  32. 32. Demo
  33. 33. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. Wrap up • Azure Chaos Studio • Azure環境でカオスエンジニアリングを実践するためのツール • 現在はPreviewのため無償で利用可能 • 実施には「カオスエンジニアリングの原則」を参考に実験を構成 • Azure Load Testing • Apache JMeterをベースとした負荷テストツール • 複数のインスタンス、リージョンから負荷テスト可能 • CIに組み込み利用することも!
  34. 34. Thank you!

×