SlideShare a Scribd company logo
1 of 34
Download to read offline
AZPower株式会社はマイクロソフトパートナープログラムのGold Partnerです。
Copyright© AZPower All Rights Reserved.
AZPower株式会社
プリンシパルアーキテクト
森 博之
最近Preview公開された
Azure テストサービスを試してみた
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 他
Azure テストサービス
3
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
Azure Chaos Studio
Copyright© AZPower All Rights Reserved.
Copyright© AZPower All Rights Reserved. 6
カオスエンジニアリング
• NETFLIX社が自社の分散システムに導入したことで注目された非機能要件検
証手法
• 混沌というよりカオス理論のイメージ
擬似的な障害を発生させることで、本番環境の耐障害性を検証
Copyright© AZPower All Rights Reserved.
Copyright© AZPower All Rights Reserved. 7
分散システムとカオスエンジニアリング
• ダウンしないサービスから自動回復できるシステムへ
• これらの変化により、障害の質も変化
• リカバリー範囲の特定も困難なケースも
⇒カオスエンジニアリングとは障害を早期に見つけて、被害を最小限に抑える
取り組み
モノリシックサービスからマイクロサービスへ
Copyright© AZPower All Rights Reserved.
Copyright© AZPower All Rights Reserved. 8
カオスエンジニアリングの原則
• 定常状態における振る舞いの仮説を立てる
• 実世界は多様である
• プロダクション環境で実験を実行する
• 実験を自動化して継続的に実行する
• 影響範囲を局所化する
• https://principlesofchaos.org/ja/
Principles of Chaos Engineeringによると...
Copyright© AZPower All Rights Reserved.
Copyright© AZPower All Rights Reserved. 9
Azure Chaos Studio
• Azure上にあるアプリケーションに障害を注入し、回復性を測定
• 以下のようなシナリオなどで利用
• アプリケーションに影響を与えたインシデントを再現して、障害時の挙動を測定
• ECサイトにおけるセールやゲームサービスに対するイベントなどのサービスに発生する
負荷に応じたスケーリング・パフォーマンス・回復性の検証
• 事業継続とディザスターリカバリー(BCDR)の訓練
概要
Copyright© AZPower All Rights Reserved.
Copyright© AZPower All Rights Reserved. 10
How to use (1)
• 実験対象となるリソースを指定
• 対象は以下の2種類
• サービス直接ターゲット
• 直接障害を適用するリソース
• エージェント不要
• エージェントベースターゲット
• 仮想マシン、仮想マシンスケールセットなど、事前にエージェントの追
加が必要となる障害を適用するリソース
ターゲット(対象)のオンボーディング
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 (カオス実験)を作成
Copyright© AZPower All Rights Reserved.
Copyright© AZPower All Rights Reserved. 12
アクション
• アクションには「名前」と「種類」の2つのパラメーターを指定
• 「名前」 実行されるアクション、URN形式で指定
• 「種類」 アクションの実行方法
• 停止せず実行されるアクション「連続」
• 1回だけ発生するアクション 「不連続」
• アクション自体の種類
• 障害 ー リソースに影響を与えるアクション
• 時間の遅延 ー 待機。障害発生後に一時的に停止する場合に利用
Chaos Experimentのアクティビティの最小単位
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
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
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台
Demo
Azure Load Testing
Copyright© AZPower All Rights Reserved.
Copyright© AZPower All Rights Reserved. 18
Azure Load Testing
• フルマネージドの負荷テストツール
• 複数インスタンスを使ってApache JMeter Scriptを実行
• 1インスタンス最大250スレッド実行可能
• ターゲットの場所はAzureサービスじゃなくともOK
• ただし、公開リソースのみ
概要
Demo
Copyright© AZPower All Rights Reserved.
Copyright© AZPower All Rights Reserved. 20
価格
Preview
Copyright© AZPower All Rights Reserved.
Copyright© AZPower All Rights Reserved. 21
作成方法
Azure Portalからリソース作成⇒「Load Testing」
Copyright© AZPower All Rights Reserved.
Copyright© AZPower All Rights Reserved. 22
ロードテストリソースの作成
• 現在は5リージョンのみ
名前、場所を指定
Copyright© AZPower All Rights Reserved.
Copyright© AZPower All Rights Reserved. 23
負荷テストを行うための権限の付与
• 「ロード テスト共同作成者」以上の権限を付与
IAMから権限付与
Copyright© AZPower All Rights Reserved.
Copyright© AZPower All Rights Reserved. 24
負荷テスト用スクリプトの作成
• 負荷テストで使用するスクリプトを作成
Apache JMeter スクリプトの作成
Copyright© AZPower All Rights Reserved.
Copyright© AZPower All Rights Reserved. 25
Testの作成
「Create Test」
Copyright© AZPower All Rights Reserved.
Copyright© AZPower All Rights Reserved. 26
Basics
• テスト作成後、即時実行する場合チェック
テスト名、テストの説明
Copyright© AZPower All Rights Reserved.
Copyright© AZPower All Rights Reserved. 27
JMeterスクリプトをアップロード
ローカルにあるJMSファイルを選択し、Uploadをクリック
Copyright© AZPower All Rights Reserved.
Copyright© AZPower All Rights Reserved. 28
Parameters
• 環境変数やシークレットを参照する場合、こちらで指定
環境変数、シークレット
Copyright© AZPower All Rights Reserved.
Copyright© AZPower All Rights Reserved. 29
Load
• 250スレッド以上を指定したい場合は、インスタンス数を増やす
• 現在最大45インスタンスまで指定可能
1インスタンス最大250スレッド
Copyright© AZPower All Rights Reserved.
Copyright© AZPower All Rights Reserved. 30
Test criteria
• 以下のパラメータを指定することでテスト基準を設定
• Client metric チェック対象となるメトリック
• Aggregate function メトリックに適用する集計関数
• Condition 比較演算子
• Threshold 基準となる値
• 現時点では以下をサポート
テスト基準を設定し、合格/不合格を判定
Copyright© AZPower All Rights Reserved.
Copyright© AZPower All Rights Reserved. 31
Monitoring
監視対象を指定し、Load Testingと統合
Demo
Copyright© AZPower All Rights Reserved.
Copyright© AZPower All Rights Reserved.
Wrap up
• Azure Chaos Studio
• Azure環境でカオスエンジニアリングを実践するためのツール
• 現在はPreviewのため無償で利用可能
• 実施には「カオスエンジニアリングの原則」を参考に実験を構成
• Azure Load Testing
• Apache JMeterをベースとした負荷テストツール
• 複数のインスタンス、リージョンから負荷テスト可能
• CIに組み込み利用することも!
Thank you!

More Related Content

What's hot

Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017
Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017
Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017Kuniteru Asami
 
AKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab ContentsAKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab ContentsYoshio Terada
 
Jjug CCC 2019 Fall Azure Spring Cloud
Jjug CCC 2019 Fall Azure Spring CloudJjug CCC 2019 Fall Azure Spring Cloud
Jjug CCC 2019 Fall Azure Spring CloudYoshio Terada
 
Riot.jsを用いたweb開発 takusuta tech conf #1
Riot.jsを用いたweb開発   takusuta tech conf #1Riot.jsを用いたweb開発   takusuta tech conf #1
Riot.jsを用いたweb開発 takusuta tech conf #1Keisuke Imai
 
ポンコツエンジニアのAZ-400受験期
ポンコツエンジニアのAZ-400受験期ポンコツエンジニアのAZ-400受験期
ポンコツエンジニアのAZ-400受験期Kentaro Higashi
 
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却de:code 2017
 
コマンド1発でAzureにDC/OS環境を作る方法
コマンド1発でAzureにDC/OS環境を作る方法コマンド1発でAzureにDC/OS環境を作る方法
コマンド1発でAzureにDC/OS環境を作る方法Toru Makabe
 
Virtual Kubelet and Virtual Node
Virtual Kubelet and Virtual NodeVirtual Kubelet and Virtual Node
Virtual Kubelet and Virtual NodeYoshio Terada
 
[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...
[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...
[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...Naoki (Neo) SATO
 
Understanding Azure Application Gateway
Understanding Azure Application GatewayUnderstanding Azure Application Gateway
Understanding Azure Application GatewayKuniteru Asami
 
Interoperability of webassembly with javascript
Interoperability of webassembly with javascriptInteroperability of webassembly with javascript
Interoperability of webassembly with javascriptTakao Tetsuro
 
My sql security (暗号化)
My sql security (暗号化) My sql security (暗号化)
My sql security (暗号化) Shinya Sugiyama
 
サーバ構築・デプロイが簡単に!Elastic beanstalk
サーバ構築・デプロイが簡単に!Elastic beanstalkサーバ構築・デプロイが簡単に!Elastic beanstalk
サーバ構築・デプロイが簡単に!Elastic beanstalkHirokazu Ouchi
 
Azure load testingを利用したパフォーマンステスト
Azure load testingを利用したパフォーマンステストAzure load testingを利用したパフォーマンステスト
Azure load testingを利用したパフォーマンステストKuniteru Asami
 
自動構築と自動テスト〜インフラのコード化とクラウドの優位性
自動構築と自動テスト〜インフラのコード化とクラウドの優位性自動構築と自動テスト〜インフラのコード化とクラウドの優位性
自動構築と自動テスト〜インフラのコード化とクラウドの優位性azumakuniyuki 🐈
 
ポンコツエンジニアのAZ-400受験期 (後編)
ポンコツエンジニアのAZ-400受験期 (後編)ポンコツエンジニアのAZ-400受験期 (後編)
ポンコツエンジニアのAZ-400受験期 (後編)Kentaro Higashi
 
ワタシハ Azure Functions チョットデキル
ワタシハ Azure Functions チョットデキルワタシハ Azure Functions チョットデキル
ワタシハ Azure Functions チョットデキルTsuyoshi Ushio
 

What's hot (19)

Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017
Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017
Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017
 
AKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab ContentsAKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab Contents
 
Jjug CCC 2019 Fall Azure Spring Cloud
Jjug CCC 2019 Fall Azure Spring CloudJjug CCC 2019 Fall Azure Spring Cloud
Jjug CCC 2019 Fall Azure Spring Cloud
 
Riot.jsを用いたweb開発 takusuta tech conf #1
Riot.jsを用いたweb開発   takusuta tech conf #1Riot.jsを用いたweb開発   takusuta tech conf #1
Riot.jsを用いたweb開発 takusuta tech conf #1
 
ポンコツエンジニアのAZ-400受験期
ポンコツエンジニアのAZ-400受験期ポンコツエンジニアのAZ-400受験期
ポンコツエンジニアのAZ-400受験期
 
Apache Spark on Azure
Apache Spark on AzureApache Spark on Azure
Apache Spark on Azure
 
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
 
コマンド1発でAzureにDC/OS環境を作る方法
コマンド1発でAzureにDC/OS環境を作る方法コマンド1発でAzureにDC/OS環境を作る方法
コマンド1発でAzureにDC/OS環境を作る方法
 
Virtual Kubelet and Virtual Node
Virtual Kubelet and Virtual NodeVirtual Kubelet and Virtual Node
Virtual Kubelet and Virtual Node
 
[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...
[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...
[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...
 
Understanding Azure Application Gateway
Understanding Azure Application GatewayUnderstanding Azure Application Gateway
Understanding Azure Application Gateway
 
Interoperability of webassembly with javascript
Interoperability of webassembly with javascriptInteroperability of webassembly with javascript
Interoperability of webassembly with javascript
 
My sql security (暗号化)
My sql security (暗号化) My sql security (暗号化)
My sql security (暗号化)
 
サーバ構築・デプロイが簡単に!Elastic beanstalk
サーバ構築・デプロイが簡単に!Elastic beanstalkサーバ構築・デプロイが簡単に!Elastic beanstalk
サーバ構築・デプロイが簡単に!Elastic beanstalk
 
Azure load testingを利用したパフォーマンステスト
Azure load testingを利用したパフォーマンステストAzure load testingを利用したパフォーマンステスト
Azure load testingを利用したパフォーマンステスト
 
自動構築と自動テスト〜インフラのコード化とクラウドの優位性
自動構築と自動テスト〜インフラのコード化とクラウドの優位性自動構築と自動テスト〜インフラのコード化とクラウドの優位性
自動構築と自動テスト〜インフラのコード化とクラウドの優位性
 
Azure <3 Openness
Azure <3 OpennessAzure <3 Openness
Azure <3 Openness
 
ポンコツエンジニアのAZ-400受験期 (後編)
ポンコツエンジニアのAZ-400受験期 (後編)ポンコツエンジニアのAZ-400受験期 (後編)
ポンコツエンジニアのAZ-400受験期 (後編)
 
ワタシハ Azure Functions チョットデキル
ワタシハ Azure Functions チョットデキルワタシハ Azure Functions チョットデキル
ワタシハ Azure Functions チョットデキル
 

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

Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう! Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう! Yoichi Kawasaki
 
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!Yoichi Kawasaki
 
Azure Arc Jumpstart - Azure ArcBox を使った Azure Arc 対応 SQL MI 学習環境の構築
Azure Arc Jumpstart - Azure ArcBox を使った Azure Arc 対応 SQL MI 学習環境の構築Azure Arc Jumpstart - Azure ArcBox を使った Azure Arc 対応 SQL MI 学習環境の構築
Azure Arc Jumpstart - Azure ArcBox を使った Azure Arc 対応 SQL MI 学習環境の構築Kazuki Takai
 
99999999 azure iaas_newportal版
99999999 azure iaas_newportal版99999999 azure iaas_newportal版
99999999 azure iaas_newportal版Osamu Takazoe
 
Managed Instance チートシート
Managed Instance チートシートManaged Instance チートシート
Managed Instance チートシートMasayuki Ozawa
 
オンプレのDbaがazureのデータベースを使ってみた
オンプレのDbaがazureのデータベースを使ってみたオンプレのDbaがazureのデータベースを使ってみた
オンプレのDbaがazureのデータベースを使ってみたMasayuki Ozawa
 
Azure Arc Automanage Machine Configuration による構成の管理と適用
Azure Arc Automanage Machine Configuration による構成の管理と適用Azure Arc Automanage Machine Configuration による構成の管理と適用
Azure Arc Automanage Machine Configuration による構成の管理と適用Kazuki Takai
 
オープンソーステクノロジー対応の App Service と Azure Database Servicesを活用した Webシステムデザイン
オープンソーステクノロジー対応の App Service と Azure Database Servicesを活用した Webシステムデザインオープンソーステクノロジー対応の App Service と Azure Database Servicesを活用した Webシステムデザイン
オープンソーステクノロジー対応の App Service と Azure Database Servicesを活用した WebシステムデザインDaisuke Masubuchi
 
.NETアプリケーションのクラウド最適化
.NETアプリケーションのクラウド最適化.NETアプリケーションのクラウド最適化
.NETアプリケーションのクラウド最適化Takeshi Fukuhara
 
Azure Arc Jumpstart Update - HCIBox Edition
Azure Arc Jumpstart Update - HCIBox EditionAzure Arc Jumpstart Update - HCIBox Edition
Azure Arc Jumpstart Update - HCIBox EditionKazuki Takai
 
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー  #cmdevio2016 #Eプロビジョニングの今 ーフルマネージド・サービスを目指してー  #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #EShuji Watanabe
 
Azure IaaS update (2018年6月~7月 発表版)
Azure IaaS update (2018年6月~7月 発表版) Azure IaaS update (2018年6月~7月 発表版)
Azure IaaS update (2018年6月~7月 発表版) Takamasa Maejima
 
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみたA 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみたGoAzure
 
DBP-008_SQL Server on Azure VM 最新情報とベスト プラクティス
DBP-008_SQL Server on Azure VM 最新情報とベスト プラクティスDBP-008_SQL Server on Azure VM 最新情報とベスト プラクティス
DBP-008_SQL Server on Azure VM 最新情報とベスト プラクティスdecode2016
 
Azure Stack 受け入れ準備_20180630
Azure Stack 受け入れ準備_20180630Azure Stack 受け入れ準備_20180630
Azure Stack 受け入れ準備_20180630Hiroshi Matsumoto
 
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]日本マイクロソフト株式会社
 
Azure of the_weekend_hobby
Azure of the_weekend_hobbyAzure of the_weekend_hobby
Azure of the_weekend_hobbyNamba Kazuo
 
SAP on Azure Cloud Workshop Material Japanese 20190221
SAP on Azure Cloud Workshop Material Japanese 20190221SAP on Azure Cloud Workshop Material Japanese 20190221
SAP on Azure Cloud Workshop Material Japanese 20190221Hitoshi Ikemoto
 
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編Takekazu Omi
 

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

Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう! Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
 
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
 
Azure Arc Jumpstart - Azure ArcBox を使った Azure Arc 対応 SQL MI 学習環境の構築
Azure Arc Jumpstart - Azure ArcBox を使った Azure Arc 対応 SQL MI 学習環境の構築Azure Arc Jumpstart - Azure ArcBox を使った Azure Arc 対応 SQL MI 学習環境の構築
Azure Arc Jumpstart - Azure ArcBox を使った Azure Arc 対応 SQL MI 学習環境の構築
 
99999999 azure iaas_newportal版
99999999 azure iaas_newportal版99999999 azure iaas_newportal版
99999999 azure iaas_newportal版
 
Managed Instance チートシート
Managed Instance チートシートManaged Instance チートシート
Managed Instance チートシート
 
オンプレのDbaがazureのデータベースを使ってみた
オンプレのDbaがazureのデータベースを使ってみたオンプレのDbaがazureのデータベースを使ってみた
オンプレのDbaがazureのデータベースを使ってみた
 
Azure Arc Automanage Machine Configuration による構成の管理と適用
Azure Arc Automanage Machine Configuration による構成の管理と適用Azure Arc Automanage Machine Configuration による構成の管理と適用
Azure Arc Automanage Machine Configuration による構成の管理と適用
 
オープンソーステクノロジー対応の App Service と Azure Database Servicesを活用した Webシステムデザイン
オープンソーステクノロジー対応の App Service と Azure Database Servicesを活用した Webシステムデザインオープンソーステクノロジー対応の App Service と Azure Database Servicesを活用した Webシステムデザイン
オープンソーステクノロジー対応の App Service と Azure Database Servicesを活用した Webシステムデザイン
 
Sql azure入門
Sql azure入門Sql azure入門
Sql azure入門
 
.NETアプリケーションのクラウド最適化
.NETアプリケーションのクラウド最適化.NETアプリケーションのクラウド最適化
.NETアプリケーションのクラウド最適化
 
Azure Arc Jumpstart Update - HCIBox Edition
Azure Arc Jumpstart Update - HCIBox EditionAzure Arc Jumpstart Update - HCIBox Edition
Azure Arc Jumpstart Update - HCIBox Edition
 
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー  #cmdevio2016 #Eプロビジョニングの今 ーフルマネージド・サービスを目指してー  #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
 
Azure IaaS update (2018年6月~7月 発表版)
Azure IaaS update (2018年6月~7月 発表版) Azure IaaS update (2018年6月~7月 発表版)
Azure IaaS update (2018年6月~7月 発表版)
 
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみたA 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
 
DBP-008_SQL Server on Azure VM 最新情報とベスト プラクティス
DBP-008_SQL Server on Azure VM 最新情報とベスト プラクティスDBP-008_SQL Server on Azure VM 最新情報とベスト プラクティス
DBP-008_SQL Server on Azure VM 最新情報とベスト プラクティス
 
Azure Stack 受け入れ準備_20180630
Azure Stack 受け入れ準備_20180630Azure Stack 受け入れ準備_20180630
Azure Stack 受け入れ準備_20180630
 
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
 
Azure of the_weekend_hobby
Azure of the_weekend_hobbyAzure of the_weekend_hobby
Azure of the_weekend_hobby
 
SAP on Azure Cloud Workshop Material Japanese 20190221
SAP on Azure Cloud Workshop Material Japanese 20190221SAP on Azure Cloud Workshop Material Japanese 20190221
SAP on Azure Cloud Workshop Material Japanese 20190221
 
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
 

More from Hiroyuki Mori

Visual Studio 2022 30分一本勝負! at BuriKaigi2023
Visual Studio 2022 30分一本勝負! at BuriKaigi2023Visual Studio 2022 30分一本勝負! at BuriKaigi2023
Visual Studio 2022 30分一本勝負! at BuriKaigi2023Hiroyuki Mori
 
Visual Studio 2019 Updates Pickup!
Visual Studio 2019 Updates Pickup!Visual Studio 2019 Updates Pickup!
Visual Studio 2019 Updates Pickup!Hiroyuki Mori
 
2021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi2021
2021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi20212021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi2021
2021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi2021Hiroyuki Mori
 
Visual Studio 2019 新機能を時間のかぎりできるだけ!
Visual Studio 2019 新機能を時間のかぎりできるだけ!Visual Studio 2019 新機能を時間のかぎりできるだけ!
Visual Studio 2019 新機能を時間のかぎりできるだけ!Hiroyuki Mori
 
開発者のためのUIデザイン入門
開発者のためのUIデザイン入門開発者のためのUIデザイン入門
開発者のためのUIデザイン入門Hiroyuki Mori
 
Uno Platform か Blazor
Uno Platform か BlazorUno Platform か Blazor
Uno Platform か BlazorHiroyuki Mori
 
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019Hiroyuki Mori
 
.NET開発者は、なぜクロスプラットフォームに取り組むべきか
.NET開発者は、なぜクロスプラットフォームに取り組むべきか.NET開発者は、なぜクロスプラットフォームに取り組むべきか
.NET開発者は、なぜクロスプラットフォームに取り組むべきかHiroyuki Mori
 
Windows phone関係のなにか。
Windows phone関係のなにか。Windows phone関係のなにか。
Windows phone関係のなにか。Hiroyuki Mori
 
2014 07-19 はじめてのクラウド
2014 07-19 はじめてのクラウド2014 07-19 はじめてのクラウド
2014 07-19 はじめてのクラウドHiroyuki Mori
 
クライアント技術から見たBuild2014 Wrap-up
クライアント技術から見たBuild2014 Wrap-upクライアント技術から見たBuild2014 Wrap-up
クライアント技術から見たBuild2014 Wrap-upHiroyuki Mori
 
僕がやったXaml戦略
僕がやったXaml戦略僕がやったXaml戦略
僕がやったXaml戦略Hiroyuki Mori
 
2013 11-09 デスクトップ・アプリの価値を高めるモダン化
2013 11-09 デスクトップ・アプリの価値を高めるモダン化2013 11-09 デスクトップ・アプリの価値を高めるモダン化
2013 11-09 デスクトップ・アプリの価値を高めるモダン化Hiroyuki Mori
 
データバインディング徹底攻略
データバインディング徹底攻略データバインディング徹底攻略
データバインディング徹底攻略Hiroyuki Mori
 
Wpf・silverlightのアニメーションからwindowsストアアプリのアニメーションへ
Wpf・silverlightのアニメーションからwindowsストアアプリのアニメーションへWpf・silverlightのアニメーションからwindowsストアアプリのアニメーションへ
Wpf・silverlightのアニメーションからwindowsストアアプリのアニメーションへHiroyuki Mori
 
Windowストアアプリ コントラクトとライフサイクル
Windowストアアプリ コントラクトとライフサイクルWindowストアアプリ コントラクトとライフサイクル
Windowストアアプリ コントラクトとライフサイクルHiroyuki Mori
 
それではBehaviorでも使ってみましょうか。
それではBehaviorでも使ってみましょうか。それではBehaviorでも使ってみましょうか。
それではBehaviorでも使ってみましょうか。Hiroyuki Mori
 

More from Hiroyuki Mori (17)

Visual Studio 2022 30分一本勝負! at BuriKaigi2023
Visual Studio 2022 30分一本勝負! at BuriKaigi2023Visual Studio 2022 30分一本勝負! at BuriKaigi2023
Visual Studio 2022 30分一本勝負! at BuriKaigi2023
 
Visual Studio 2019 Updates Pickup!
Visual Studio 2019 Updates Pickup!Visual Studio 2019 Updates Pickup!
Visual Studio 2019 Updates Pickup!
 
2021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi2021
2021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi20212021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi2021
2021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi2021
 
Visual Studio 2019 新機能を時間のかぎりできるだけ!
Visual Studio 2019 新機能を時間のかぎりできるだけ!Visual Studio 2019 新機能を時間のかぎりできるだけ!
Visual Studio 2019 新機能を時間のかぎりできるだけ!
 
開発者のためのUIデザイン入門
開発者のためのUIデザイン入門開発者のためのUIデザイン入門
開発者のためのUIデザイン入門
 
Uno Platform か Blazor
Uno Platform か BlazorUno Platform か Blazor
Uno Platform か Blazor
 
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
 
.NET開発者は、なぜクロスプラットフォームに取り組むべきか
.NET開発者は、なぜクロスプラットフォームに取り組むべきか.NET開発者は、なぜクロスプラットフォームに取り組むべきか
.NET開発者は、なぜクロスプラットフォームに取り組むべきか
 
Windows phone関係のなにか。
Windows phone関係のなにか。Windows phone関係のなにか。
Windows phone関係のなにか。
 
2014 07-19 はじめてのクラウド
2014 07-19 はじめてのクラウド2014 07-19 はじめてのクラウド
2014 07-19 はじめてのクラウド
 
クライアント技術から見たBuild2014 Wrap-up
クライアント技術から見たBuild2014 Wrap-upクライアント技術から見たBuild2014 Wrap-up
クライアント技術から見たBuild2014 Wrap-up
 
僕がやったXaml戦略
僕がやったXaml戦略僕がやったXaml戦略
僕がやったXaml戦略
 
2013 11-09 デスクトップ・アプリの価値を高めるモダン化
2013 11-09 デスクトップ・アプリの価値を高めるモダン化2013 11-09 デスクトップ・アプリの価値を高めるモダン化
2013 11-09 デスクトップ・アプリの価値を高めるモダン化
 
データバインディング徹底攻略
データバインディング徹底攻略データバインディング徹底攻略
データバインディング徹底攻略
 
Wpf・silverlightのアニメーションからwindowsストアアプリのアニメーションへ
Wpf・silverlightのアニメーションからwindowsストアアプリのアニメーションへWpf・silverlightのアニメーションからwindowsストアアプリのアニメーションへ
Wpf・silverlightのアニメーションからwindowsストアアプリのアニメーションへ
 
Windowストアアプリ コントラクトとライフサイクル
Windowストアアプリ コントラクトとライフサイクルWindowストアアプリ コントラクトとライフサイクル
Windowストアアプリ コントラクトとライフサイクル
 
それではBehaviorでも使ってみましょうか。
それではBehaviorでも使ってみましょうか。それではBehaviorでも使ってみましょうか。
それではBehaviorでも使ってみましょうか。
 

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

  • 1. AZPower株式会社はマイクロソフトパートナープログラムのGold Partnerです。 Copyright© AZPower All Rights Reserved. AZPower株式会社 プリンシパルアーキテクト 森 博之 最近Preview公開された Azure テストサービスを試してみた
  • 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 他
  • 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
  • 6. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 6 カオスエンジニアリング • NETFLIX社が自社の分散システムに導入したことで注目された非機能要件検 証手法 • 混沌というよりカオス理論のイメージ 擬似的な障害を発生させることで、本番環境の耐障害性を検証
  • 7. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 7 分散システムとカオスエンジニアリング • ダウンしないサービスから自動回復できるシステムへ • これらの変化により、障害の質も変化 • リカバリー範囲の特定も困難なケースも ⇒カオスエンジニアリングとは障害を早期に見つけて、被害を最小限に抑える 取り組み モノリシックサービスからマイクロサービスへ
  • 8. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 8 カオスエンジニアリングの原則 • 定常状態における振る舞いの仮説を立てる • 実世界は多様である • プロダクション環境で実験を実行する • 実験を自動化して継続的に実行する • 影響範囲を局所化する • https://principlesofchaos.org/ja/ Principles of Chaos Engineeringによると...
  • 9. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 9 Azure Chaos Studio • Azure上にあるアプリケーションに障害を注入し、回復性を測定 • 以下のようなシナリオなどで利用 • アプリケーションに影響を与えたインシデントを再現して、障害時の挙動を測定 • ECサイトにおけるセールやゲームサービスに対するイベントなどのサービスに発生する 負荷に応じたスケーリング・パフォーマンス・回復性の検証 • 事業継続とディザスターリカバリー(BCDR)の訓練 概要
  • 10. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 10 How to use (1) • 実験対象となるリソースを指定 • 対象は以下の2種類 • サービス直接ターゲット • 直接障害を適用するリソース • エージェント不要 • エージェントベースターゲット • 仮想マシン、仮想マシンスケールセットなど、事前にエージェントの追 加が必要となる障害を適用するリソース ターゲット(対象)のオンボーディング
  • 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. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 12 アクション • アクションには「名前」と「種類」の2つのパラメーターを指定 • 「名前」 実行されるアクション、URN形式で指定 • 「種類」 アクションの実行方法 • 停止せず実行されるアクション「連続」 • 1回だけ発生するアクション 「不連続」 • アクション自体の種類 • 障害 ー リソースに影響を与えるアクション • 時間の遅延 ー 待機。障害発生後に一時的に停止する場合に利用 Chaos Experimentのアクティビティの最小単位
  • 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. 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. 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. Demo
  • 18. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 18 Azure Load Testing • フルマネージドの負荷テストツール • 複数インスタンスを使ってApache JMeter Scriptを実行 • 1インスタンス最大250スレッド実行可能 • ターゲットの場所はAzureサービスじゃなくともOK • ただし、公開リソースのみ 概要
  • 19. Demo
  • 20. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 20 価格 Preview
  • 21. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 21 作成方法 Azure Portalからリソース作成⇒「Load Testing」
  • 22. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 22 ロードテストリソースの作成 • 現在は5リージョンのみ 名前、場所を指定
  • 23. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 23 負荷テストを行うための権限の付与 • 「ロード テスト共同作成者」以上の権限を付与 IAMから権限付与
  • 24. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 24 負荷テスト用スクリプトの作成 • 負荷テストで使用するスクリプトを作成 Apache JMeter スクリプトの作成
  • 25. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 25 Testの作成 「Create Test」
  • 26. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 26 Basics • テスト作成後、即時実行する場合チェック テスト名、テストの説明
  • 27. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 27 JMeterスクリプトをアップロード ローカルにあるJMSファイルを選択し、Uploadをクリック
  • 28. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 28 Parameters • 環境変数やシークレットを参照する場合、こちらで指定 環境変数、シークレット
  • 29. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 29 Load • 250スレッド以上を指定したい場合は、インスタンス数を増やす • 現在最大45インスタンスまで指定可能 1インスタンス最大250スレッド
  • 30. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 30 Test criteria • 以下のパラメータを指定することでテスト基準を設定 • Client metric チェック対象となるメトリック • Aggregate function メトリックに適用する集計関数 • Condition 比較演算子 • Threshold 基準となる値 • 現時点では以下をサポート テスト基準を設定し、合格/不合格を判定
  • 31. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. 31 Monitoring 監視対象を指定し、Load Testingと統合
  • 32. Demo
  • 33. Copyright© AZPower All Rights Reserved. Copyright© AZPower All Rights Reserved. Wrap up • Azure Chaos Studio • Azure環境でカオスエンジニアリングを実践するためのツール • 現在はPreviewのため無償で利用可能 • 実施には「カオスエンジニアリングの原則」を参考に実験を構成 • Azure Load Testing • Apache JMeterをベースとした負荷テストツール • 複数のインスタンス、リージョンから負荷テスト可能 • CIに組み込み利用することも!