SlideShare uma empresa Scribd logo
1 de 34
© 2021 NTT DATA Corporation
限界性能試験を自動化するOperatorを作ってみた
2021年10月19日
NTTデータ 伊藤秀朗
© 2021 NTT DATA Corporation 2
目次
1. はじめに
2. 性能試験とは
3. 限界性能試験の課題
4. 限界性能試験自動化システム
5. Operatorの作成
6. まとめ
© 2021 NTT DATA Corporation 3
はじめに -自己紹介-
伊藤秀朗(Twitter: @itohdak)
所属:NTTデータ(新卒2年目)
仕事:性能試験・性能問題解決
趣味:謎解き・競技プログラミング
ここに貼るバッジを集めたい、
とは思っている。。
Kubernetes歴
半年
© 2021 NTT DATA Corporation 4
はじめに -ざっくり概要-
Observability + Kubernetes Operator
Kubernetes APIの機能を拡張したアプリケーション
固有のコントローラー
Operatorとは…
分散システムを開発/運用するにあたり必要な、
横断的な監視のための「可観測性」
Observabilityとは…
Metrics
Tracing
Logging
What is an operator?
https://cloud.redhat.com/learn/topics/operators
関連する様々なリソースを
一括で作成・設定・管理!
Observability
3本の柱
© 2021 NTT DATA Corporation 5
性能試験とは
ウォーターフォール開発における下流フェーズ
製造したシステムが、要件定義で定めた通りの性能が発揮できるか確認する
ここで性能が担保されない場合、リリースに黄色信号
必要があれば、チューニングも実施する
ここ!
© 2021 NTT DATA Corporation 6
性能試験とは -種別-
ピーク負荷試験
計画されたピーク負荷量をかけることで、システムが性能要件通りに動作するかを確認する。
限界負荷試験
加えるピーク負荷量を増加させていくことで、システムの限界性能を確認する。
長時間負荷試験
恒常的な負荷量を長時間かけ続けることにより、メモリリーク等の問題が発生しないことを確認する。
縮退時負荷試験
システムのスケールを縮退させた状態でピーク負荷試験を実施する。
© 2021 NTT DATA Corporation 7
限界性能試験の課題
「試験準備→試験実施→結果集計・評価」の繰り返し ※チューニングなしの場合
「試験準備」および「結果集計・評価」
は試験実施者が行う
試験実施中は見守っている必要がある
試験環境が実際に動いているのは、
試験実施の期間のみ
ランニングコストも大きくなる
© 2021 NTT DATA Corporation 8
限界性能試験の課題
「試験準備→試験実施→結果集計・評価」の繰り返し ※チューニングなしの場合
負荷量調整・試
験準備
性能試験実施 結果まとめ・評価
「試験準備」および「結果集計・評価」
は試験実施者が行う
試験実施中は見守っている必要がある
試験環境が実際に動いているのは、
試験実施の期間のみ
ランニングコストも大きくなる
負荷量調整・試
験準備
性能試験実施 結果まとめ・評価
© 2021 NTT DATA Corporation
限界性能試験自動化システム
9
© 2021 NTT DATA Corporation 10
限界性能試験自動化のためのシステム概要
負荷掛け メトリクス取得
メトリクス確認・
評価
負荷量変化
2. Prometheus
1. Locust
APP
負荷掛け メトリクス取得
メトリクス監視
負荷量変化
2. Prometheus
1. Locust
APP
3. Manager
負荷量調整・試
験準備
性能試験実施 結果まとめ・評価
© 2021 NTT DATA Corporation 11
1. 負荷掛けツール -Locust-
Locustとは…Pythonで動作する負荷掛けツール
Master
Slave
ユーザ数
時間
ユーザ数
増やして!
計画値
シームレスにユーザ数を変更することが可能
Master-Slave構成を取ることが可能
→スケールイン/アウトが容易
負荷掛け メトリクス取得
メトリクス監視
負荷量変化
2. Prom etheus
1. Locust
APP
3. Manag er
© 2021 NTT DATA Corporation 12
2. メトリクス取得 -Istio・Prometheus-
各サービスごとに専用のProxyを用意し、リクエスト時はそ
れを経由させることで、リクエストに対するレスポンスタイムや
リクエストルートを記録し、管理する
Istio
Proxy Proxy
Istio
KubernetesノードやIstio(Exporter)が出力するメト
リクスを一元的に集約し、ユーザからの問い合わせに対し、
情報を提供する。
Prometheus
自作の
Exporter
ユーザ
負荷掛け メトリクス取得
メトリクス監視
負荷量変化
2. Prom etheus
1. Locust
APP
3. Manag er
© 2021 NTT DATA Corporation 13
限界性能試験自動化のためのシステム概要
負荷掛け メトリクス取得
メトリクス監視
負荷量変化
2. Prometheus
1. Locust
APP
3. Manager
負荷量調整・試
験準備
性能試験実施 結果まとめ・評価
再掲
© 2021 NTT DATA Corporation 14
3. 限界性能試験を司るManager
以下のロジックを組み込んだコンテナイメージをGo言語で作成
1. Prometheusにスクレイピングをかけ、
Istio(あるいは、その他)から収集されたメトリクス情報を取得
2. 監視対象メトリクスの各値に対し、
あらかじめ設定しておいた閾値を抵触しないかをチェック
3. もし判定結果がOKなら、
(適宜負荷量を増加させながら)試験を続行
4. もし判定結果がNGなら、試験終了
Jobとして実行し、必要なときにPodを立ち上げ動作する
メトリクスを取得
判定OKか?
試験開始
試験終了
一定時間待つ
負荷量を増加
3
4
2
1
YES
NO
負荷掛け メトリクス取得
メトリクス監視
負荷量変化
2. Prom etheus
1. Locust
APP
3. Manag er
© 2021 NTT DATA Corporation 15
3. 限界性能試験を司るManager
メトリクスを取得
判定OKか?
試験開始
試験終了
一定時間待つ
負荷量を増加
YES
NO
負荷掛け メトリクス取得
メトリクス監視
負荷量変化
2. Prom etheus
1. Locust
APP
3. Manag er
© 2021 NTT DATA Corporation
Operatorの作成
16
© 2021 NTT DATA Corporation 17
独自Operatorの作成
負荷掛け メトリクス取得
メトリクス監視
負荷量変化
2. Prometheus
1. Locust
APP
3. Manager
「性能試験で使うリソース群」として、
一括で作成・操作できるようにOperator化!
© 2021 NTT DATA Corporation 18
Deployment
Operatorとは(1/2)
ReplicaSet
Reconciliationを独自に定義できる
リソースの状態をユーザの期待通りの状態に保ち続ける機能
Pod
例えば…
Deployment Controller
ReplicaSet Controller
Update
Watch
Update
Watch
Controller Manager
Podが異常停止しても、再度自動的に立ち上がる(Self-Healing)
© 2021 NTT DATA Corporation 19
Operatorとは(2/2)
https://hi1280.hatenablog.com/entry/2020/06/07/114712
全てのリソースの状態は
etcdに格納される
全ての処理はAPI Serverを
介して行われる
Kubeletは各々のNodeに
割り当てられてリソース状況を
Masterに通知する
© 2021 NTT DATA Corporation 20
Operatorとは(2/2)
https://hi1280.hatenablog.com/entry/2020/06/07/114712
kubectl create deployment
① ユーザのリソース作成に応じて、
etcdに期待するリソース状態が記録される
② リソース状態の変化を契機に
ControllerがReconcile処理をする
③ Reconciliationに応じて、
Scheduler等を通して、状態が更新される
© 2021 NTT DATA Corporation 21
Operator作成のためのフレームワーク(1/2)
気にかけないといけないコンポーネントがたくさん
• Informer
• リソース情報の変化を監視し、イベントトリガ時に適切な処理命令を発火する
• WorkQueue
• Informerにより発火された処理命令を溜めておく
• Processor
• WorkQueueから処理命令を取り出す
• 適切なReconciliationを実行する
• 成功した場合は、処理命令を破棄する
• 失敗した場合は、WorkQueueに適切にRequeueする
※より詳しい内容については、ぜひ「実践入門 Kubernetesカスタムコントローラーへの道」をご参照ください。
Reconciliationの処理と、
その処理対象だけに集中したい!
© 2021 NTT DATA Corporation 22
Operator作成のためのフレームワーク(2/2)
Reconciliationのロジックのみに集中できるように、Operator開発用のフレームワークが提供されている
• Kubebuilder
• Special Interest Groups(SIGs)によって開発されているフレームワーク
• Operator SDK
• CoreOS社によって提供されたOperator Frameworkの一つ
© 2021 NTT DATA Corporation 23
Operatorとして管理する対象リソース
LoadTestController
負荷スクリプト
負荷対象
Master
Slave
負荷試験Manager 負荷試験Status
Locustアクセス
Job起動
試験開始
Status更新
試験終了
© 2021 NTT DATA Corporation 24
作成したOperatorのReconciliation部分
Specの定義
• リソースを作成する際に
マニフェスト内でユーザが
指定できる部分
Statusの定義
• 作成されたリソースの
状態を表す
RBACの定義
• 他のリソースに対して
どのような操作権限を持たせるか
Reconciliationの定義
• Reconcileのメイン部分
(関数で分けているので
全体としてはもう少し長い)
© 2021 NTT DATA Corporation
どんな感じで動くの?
-デモ動画・画像-
25
© 2021 NTT DATA Corporation 26
負荷掛け対象として使ったサンプルアプリ
Online Boutique
• https://github.com/GoogleCloudPlatform/microservices-demo.git
ホーム画面 決済画面
© 2021 NTT DATA Corporation 27
コマンド入力〜Jobのキック
Job
コマンド入力 ConfigMap (CM)
コマンド入力(裏でCMのstatusをrequiredに書き換えている)を検知し、
CMのstatusは、standby(→required)→runningへ切り替わり、
それをきっかけに新しいJobが作成されている
© 2021 NTT DATA Corporation 28
Job実行中のPodのログ
Jobにより作成されたPodのログ
各負荷量において、
Response time, Success rate, CPU utilizationを確認し、
予め設定した値に抵触していなければOKと判断し、負荷量を増加させている
チェックOK
チェックNG
試験終了
© 2021 NTT DATA Corporation 29
Grafanaで見たメトリクス 負荷量が次第に増えていくにつれて、
レスポンスタイム、CPU使用率が上昇し
ていく様子がわかる。
途中レスポンスタイムが急激に増加し、
予め設定した閾値2秒を超過したところ
で、試験が終了している。
© 2021 NTT DATA Corporation 30
負荷掛けツールLocust側の設定値・メトリクス
ユーザ数
レスポンスタイム
スループット
レスポンスタイムが
閾値(2sec)を上回り、
負荷試験終了
ユーザ数が徐々に
増加している
© 2021 NTT DATA Corporation 31
負荷掛けツールLocust側の設定値・メトリクス
ユーザ数
レスポンスタイム
スループット
負荷量調整・試
験準備
性能試験実施 結果まとめ・評価
区間ごとに上記の手順が実施されている形
人間の作業を排除することで、省力化が図れている
© 2021 NTT DATA Corporation
まとめ
32
© 2021 NTT DATA Corporation 33
まとめ
限界性能試験における繰り返しの手順を自動化し、省人力化が期待できるツールを作成した
 Observerbility (Metrics) の使い方を知り、それを応用することができた
負荷掛けツールLocust、および、負荷掛けManagerを含むKubernetes Operatorを作成した
 Reconciliationの概念を学ぶことができた
【おまけ】取り組みの中で利用・作成したコードたち
1. 検証環境のセットアップ・サンプルアプリのデプロイ
https://github.com/itohdak/kubernetes-experiment
2. Kubebuilderを用いて作成したOperator
https://github.com/itohdak/maca-operator/tree/deploy
© 2021 NTT DATA Corporation

Mais conteúdo relacionado

Mais procurados

PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)NTT DATA Technology & Innovation
 
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Appsグリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & AppsGoogle Cloud Platform - Japan
 
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)NTT DATA Technology & Innovation
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門Kohei Tokunaga
 
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...NTT DATA Technology & Innovation
 
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGoogle Cloud Platform - Japan
 
ストリーム処理勉強会 大規模mqttを支える技術
ストリーム処理勉強会 大規模mqttを支える技術ストリーム処理勉強会 大規模mqttを支える技術
ストリーム処理勉強会 大規模mqttを支える技術Keigo Suda
 
分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方Recruit Lifestyle Co., Ltd.
 
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較Akihiro Suda
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021Preferred Networks
 
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮Hibino Hisashi
 
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)NTT DATA Technology & Innovation
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドAkihiro Suda
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなKentaro Matsui
 
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話Yuta Shimada
 
新卒3年目のぼくが、でぶおぷす???なインフラおじさん方にAnsibleを導入してみた
新卒3年目のぼくが、でぶおぷす???なインフラおじさん方にAnsibleを導入してみた新卒3年目のぼくが、でぶおぷす???なインフラおじさん方にAnsibleを導入してみた
新卒3年目のぼくが、でぶおぷす???なインフラおじさん方にAnsibleを導入してみたShuntaro Saiba
 
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)VirtualTech Japan Inc.
 
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 

Mais procurados (20)

PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
 
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Appsグリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
 
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
 
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
 
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
 
ストリーム処理勉強会 大規模mqttを支える技術
ストリーム処理勉強会 大規模mqttを支える技術ストリーム処理勉強会 大規模mqttを支える技術
ストリーム処理勉強会 大規模mqttを支える技術
 
分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方
 
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
 
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
 
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
 
新卒3年目のぼくが、でぶおぷす???なインフラおじさん方にAnsibleを導入してみた
新卒3年目のぼくが、でぶおぷす???なインフラおじさん方にAnsibleを導入してみた新卒3年目のぼくが、でぶおぷす???なインフラおじさん方にAnsibleを導入してみた
新卒3年目のぼくが、でぶおぷす???なインフラおじさん方にAnsibleを導入してみた
 
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
 
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
 

Semelhante a 限界性能試験を自動化するOperatorを作ってみた(Kubernetes Novice Tokyo #14 発表資料)

0201_Hinemos機能紹介_202101
0201_Hinemos機能紹介_2021010201_Hinemos機能紹介_202101
0201_Hinemos機能紹介_202101Hinemos
 
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)NTT DATA Technology & Innovation
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)NTT DATA Technology & Innovation
 
ITフォーラム2021 先端IT活用推進コンソーシアム(6/7)
ITフォーラム2021 先端IT活用推進コンソーシアム(6/7)ITフォーラム2021 先端IT活用推進コンソーシアム(6/7)
ITフォーラム2021 先端IT活用推進コンソーシアム(6/7)aitc_jp
 
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)NTT DATA Technology & Innovation
 
0101 Hinemos製品紹介_202101
0101 Hinemos製品紹介_2021010101 Hinemos製品紹介_202101
0101 Hinemos製品紹介_202101Hinemos
 
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...NTT DATA Technology & Innovation
 
OpManager導入事例 日テレITプロデュース様
OpManager導入事例 日テレITプロデュース様OpManager導入事例 日テレITプロデュース様
OpManager導入事例 日テレITプロデュース様ManageEngine, Zoho Corporation
 
Kubernetes アプリケーションにオブザーバビリティを
Kubernetes アプリケーションにオブザーバビリティをKubernetes アプリケーションにオブザーバビリティを
Kubernetes アプリケーションにオブザーバビリティをGOTO Satoru
 
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)NTT DATA Technology & Innovation
 
Operator reading and writing ( Operator SDK 編 )
Operator reading and writing ( Operator SDK 編 )Operator reading and writing ( Operator SDK 編 )
Operator reading and writing ( Operator SDK 編 )ロフト くん
 
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化Hinemos
 
Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!Boss4434
 
Sc2012概説 120512
Sc2012概説 120512Sc2012概説 120512
Sc2012概説 120512wintechq
 
IoT Agents をデバッグする方法 - FIWARE WednesdayWebinars
IoT Agents をデバッグする方法 - FIWARE WednesdayWebinarsIoT Agents をデバッグする方法 - FIWARE WednesdayWebinars
IoT Agents をデバッグする方法 - FIWARE WednesdayWebinarsfisuda
 
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)NTT DATA Technology & Innovation
 
運用管理はHinemosで!Hinemosのご紹介~Hinemos4.1による本格ジョブ運用~
運用管理はHinemosで!Hinemosのご紹介~Hinemos4.1による本格ジョブ運用~運用管理はHinemosで!Hinemosのご紹介~Hinemos4.1による本格ジョブ運用~
運用管理はHinemosで!Hinemosのご紹介~Hinemos4.1による本格ジョブ運用~Hinemos
 
1.コース概要
1.コース概要1.コース概要
1.コース概要openrtm
 
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?Kuniyasu Suzaki
 
Prometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdfPrometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdf勇 黒沢
 

Semelhante a 限界性能試験を自動化するOperatorを作ってみた(Kubernetes Novice Tokyo #14 発表資料) (20)

0201_Hinemos機能紹介_202101
0201_Hinemos機能紹介_2021010201_Hinemos機能紹介_202101
0201_Hinemos機能紹介_202101
 
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
 
ITフォーラム2021 先端IT活用推進コンソーシアム(6/7)
ITフォーラム2021 先端IT活用推進コンソーシアム(6/7)ITフォーラム2021 先端IT活用推進コンソーシアム(6/7)
ITフォーラム2021 先端IT活用推進コンソーシアム(6/7)
 
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
 
0101 Hinemos製品紹介_202101
0101 Hinemos製品紹介_2021010101 Hinemos製品紹介_202101
0101 Hinemos製品紹介_202101
 
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
 
OpManager導入事例 日テレITプロデュース様
OpManager導入事例 日テレITプロデュース様OpManager導入事例 日テレITプロデュース様
OpManager導入事例 日テレITプロデュース様
 
Kubernetes アプリケーションにオブザーバビリティを
Kubernetes アプリケーションにオブザーバビリティをKubernetes アプリケーションにオブザーバビリティを
Kubernetes アプリケーションにオブザーバビリティを
 
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
 
Operator reading and writing ( Operator SDK 編 )
Operator reading and writing ( Operator SDK 編 )Operator reading and writing ( Operator SDK 編 )
Operator reading and writing ( Operator SDK 編 )
 
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
 
Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!
 
Sc2012概説 120512
Sc2012概説 120512Sc2012概説 120512
Sc2012概説 120512
 
IoT Agents をデバッグする方法 - FIWARE WednesdayWebinars
IoT Agents をデバッグする方法 - FIWARE WednesdayWebinarsIoT Agents をデバッグする方法 - FIWARE WednesdayWebinars
IoT Agents をデバッグする方法 - FIWARE WednesdayWebinars
 
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
 
運用管理はHinemosで!Hinemosのご紹介~Hinemos4.1による本格ジョブ運用~
運用管理はHinemosで!Hinemosのご紹介~Hinemos4.1による本格ジョブ運用~運用管理はHinemosで!Hinemosのご紹介~Hinemos4.1による本格ジョブ運用~
運用管理はHinemosで!Hinemosのご紹介~Hinemos4.1による本格ジョブ運用~
 
1.コース概要
1.コース概要1.コース概要
1.コース概要
 
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
 
Prometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdfPrometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdf
 

Mais de NTT DATA Technology & Innovation

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)NTT DATA Technology & Innovation
 
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方NTT DATA Technology & Innovation
 
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...NTT DATA Technology & Innovation
 
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)NTT DATA Technology & Innovation
 
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)NTT DATA Technology & Innovation
 
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...NTT DATA Technology & Innovation
 
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)NTT DATA Technology & Innovation
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...NTT DATA Technology & Innovation
 
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)NTT DATA Technology & Innovation
 
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)NTT DATA Technology & Innovation
 
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)NTT DATA Technology & Innovation
 
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...NTT DATA Technology & Innovation
 
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)NTT DATA Technology & Innovation
 
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)NTT DATA Technology & Innovation
 
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 

Mais de NTT DATA Technology & Innovation (20)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
 
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
 
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
 
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
 
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
 
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
 
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
 
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
 
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
 
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
 
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
 
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
 
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
 
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
 
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
 

限界性能試験を自動化するOperatorを作ってみた(Kubernetes Novice Tokyo #14 発表資料)

  • 1. © 2021 NTT DATA Corporation 限界性能試験を自動化するOperatorを作ってみた 2021年10月19日 NTTデータ 伊藤秀朗
  • 2. © 2021 NTT DATA Corporation 2 目次 1. はじめに 2. 性能試験とは 3. 限界性能試験の課題 4. 限界性能試験自動化システム 5. Operatorの作成 6. まとめ
  • 3. © 2021 NTT DATA Corporation 3 はじめに -自己紹介- 伊藤秀朗(Twitter: @itohdak) 所属:NTTデータ(新卒2年目) 仕事:性能試験・性能問題解決 趣味:謎解き・競技プログラミング ここに貼るバッジを集めたい、 とは思っている。。 Kubernetes歴 半年
  • 4. © 2021 NTT DATA Corporation 4 はじめに -ざっくり概要- Observability + Kubernetes Operator Kubernetes APIの機能を拡張したアプリケーション 固有のコントローラー Operatorとは… 分散システムを開発/運用するにあたり必要な、 横断的な監視のための「可観測性」 Observabilityとは… Metrics Tracing Logging What is an operator? https://cloud.redhat.com/learn/topics/operators 関連する様々なリソースを 一括で作成・設定・管理! Observability 3本の柱
  • 5. © 2021 NTT DATA Corporation 5 性能試験とは ウォーターフォール開発における下流フェーズ 製造したシステムが、要件定義で定めた通りの性能が発揮できるか確認する ここで性能が担保されない場合、リリースに黄色信号 必要があれば、チューニングも実施する ここ!
  • 6. © 2021 NTT DATA Corporation 6 性能試験とは -種別- ピーク負荷試験 計画されたピーク負荷量をかけることで、システムが性能要件通りに動作するかを確認する。 限界負荷試験 加えるピーク負荷量を増加させていくことで、システムの限界性能を確認する。 長時間負荷試験 恒常的な負荷量を長時間かけ続けることにより、メモリリーク等の問題が発生しないことを確認する。 縮退時負荷試験 システムのスケールを縮退させた状態でピーク負荷試験を実施する。
  • 7. © 2021 NTT DATA Corporation 7 限界性能試験の課題 「試験準備→試験実施→結果集計・評価」の繰り返し ※チューニングなしの場合 「試験準備」および「結果集計・評価」 は試験実施者が行う 試験実施中は見守っている必要がある 試験環境が実際に動いているのは、 試験実施の期間のみ ランニングコストも大きくなる
  • 8. © 2021 NTT DATA Corporation 8 限界性能試験の課題 「試験準備→試験実施→結果集計・評価」の繰り返し ※チューニングなしの場合 負荷量調整・試 験準備 性能試験実施 結果まとめ・評価 「試験準備」および「結果集計・評価」 は試験実施者が行う 試験実施中は見守っている必要がある 試験環境が実際に動いているのは、 試験実施の期間のみ ランニングコストも大きくなる 負荷量調整・試 験準備 性能試験実施 結果まとめ・評価
  • 9. © 2021 NTT DATA Corporation 限界性能試験自動化システム 9
  • 10. © 2021 NTT DATA Corporation 10 限界性能試験自動化のためのシステム概要 負荷掛け メトリクス取得 メトリクス確認・ 評価 負荷量変化 2. Prometheus 1. Locust APP 負荷掛け メトリクス取得 メトリクス監視 負荷量変化 2. Prometheus 1. Locust APP 3. Manager 負荷量調整・試 験準備 性能試験実施 結果まとめ・評価
  • 11. © 2021 NTT DATA Corporation 11 1. 負荷掛けツール -Locust- Locustとは…Pythonで動作する負荷掛けツール Master Slave ユーザ数 時間 ユーザ数 増やして! 計画値 シームレスにユーザ数を変更することが可能 Master-Slave構成を取ることが可能 →スケールイン/アウトが容易 負荷掛け メトリクス取得 メトリクス監視 負荷量変化 2. Prom etheus 1. Locust APP 3. Manag er
  • 12. © 2021 NTT DATA Corporation 12 2. メトリクス取得 -Istio・Prometheus- 各サービスごとに専用のProxyを用意し、リクエスト時はそ れを経由させることで、リクエストに対するレスポンスタイムや リクエストルートを記録し、管理する Istio Proxy Proxy Istio KubernetesノードやIstio(Exporter)が出力するメト リクスを一元的に集約し、ユーザからの問い合わせに対し、 情報を提供する。 Prometheus 自作の Exporter ユーザ 負荷掛け メトリクス取得 メトリクス監視 負荷量変化 2. Prom etheus 1. Locust APP 3. Manag er
  • 13. © 2021 NTT DATA Corporation 13 限界性能試験自動化のためのシステム概要 負荷掛け メトリクス取得 メトリクス監視 負荷量変化 2. Prometheus 1. Locust APP 3. Manager 負荷量調整・試 験準備 性能試験実施 結果まとめ・評価 再掲
  • 14. © 2021 NTT DATA Corporation 14 3. 限界性能試験を司るManager 以下のロジックを組み込んだコンテナイメージをGo言語で作成 1. Prometheusにスクレイピングをかけ、 Istio(あるいは、その他)から収集されたメトリクス情報を取得 2. 監視対象メトリクスの各値に対し、 あらかじめ設定しておいた閾値を抵触しないかをチェック 3. もし判定結果がOKなら、 (適宜負荷量を増加させながら)試験を続行 4. もし判定結果がNGなら、試験終了 Jobとして実行し、必要なときにPodを立ち上げ動作する メトリクスを取得 判定OKか? 試験開始 試験終了 一定時間待つ 負荷量を増加 3 4 2 1 YES NO 負荷掛け メトリクス取得 メトリクス監視 負荷量変化 2. Prom etheus 1. Locust APP 3. Manag er
  • 15. © 2021 NTT DATA Corporation 15 3. 限界性能試験を司るManager メトリクスを取得 判定OKか? 試験開始 試験終了 一定時間待つ 負荷量を増加 YES NO 負荷掛け メトリクス取得 メトリクス監視 負荷量変化 2. Prom etheus 1. Locust APP 3. Manag er
  • 16. © 2021 NTT DATA Corporation Operatorの作成 16
  • 17. © 2021 NTT DATA Corporation 17 独自Operatorの作成 負荷掛け メトリクス取得 メトリクス監視 負荷量変化 2. Prometheus 1. Locust APP 3. Manager 「性能試験で使うリソース群」として、 一括で作成・操作できるようにOperator化!
  • 18. © 2021 NTT DATA Corporation 18 Deployment Operatorとは(1/2) ReplicaSet Reconciliationを独自に定義できる リソースの状態をユーザの期待通りの状態に保ち続ける機能 Pod 例えば… Deployment Controller ReplicaSet Controller Update Watch Update Watch Controller Manager Podが異常停止しても、再度自動的に立ち上がる(Self-Healing)
  • 19. © 2021 NTT DATA Corporation 19 Operatorとは(2/2) https://hi1280.hatenablog.com/entry/2020/06/07/114712 全てのリソースの状態は etcdに格納される 全ての処理はAPI Serverを 介して行われる Kubeletは各々のNodeに 割り当てられてリソース状況を Masterに通知する
  • 20. © 2021 NTT DATA Corporation 20 Operatorとは(2/2) https://hi1280.hatenablog.com/entry/2020/06/07/114712 kubectl create deployment ① ユーザのリソース作成に応じて、 etcdに期待するリソース状態が記録される ② リソース状態の変化を契機に ControllerがReconcile処理をする ③ Reconciliationに応じて、 Scheduler等を通して、状態が更新される
  • 21. © 2021 NTT DATA Corporation 21 Operator作成のためのフレームワーク(1/2) 気にかけないといけないコンポーネントがたくさん • Informer • リソース情報の変化を監視し、イベントトリガ時に適切な処理命令を発火する • WorkQueue • Informerにより発火された処理命令を溜めておく • Processor • WorkQueueから処理命令を取り出す • 適切なReconciliationを実行する • 成功した場合は、処理命令を破棄する • 失敗した場合は、WorkQueueに適切にRequeueする ※より詳しい内容については、ぜひ「実践入門 Kubernetesカスタムコントローラーへの道」をご参照ください。 Reconciliationの処理と、 その処理対象だけに集中したい!
  • 22. © 2021 NTT DATA Corporation 22 Operator作成のためのフレームワーク(2/2) Reconciliationのロジックのみに集中できるように、Operator開発用のフレームワークが提供されている • Kubebuilder • Special Interest Groups(SIGs)によって開発されているフレームワーク • Operator SDK • CoreOS社によって提供されたOperator Frameworkの一つ
  • 23. © 2021 NTT DATA Corporation 23 Operatorとして管理する対象リソース LoadTestController 負荷スクリプト 負荷対象 Master Slave 負荷試験Manager 負荷試験Status Locustアクセス Job起動 試験開始 Status更新 試験終了
  • 24. © 2021 NTT DATA Corporation 24 作成したOperatorのReconciliation部分 Specの定義 • リソースを作成する際に マニフェスト内でユーザが 指定できる部分 Statusの定義 • 作成されたリソースの 状態を表す RBACの定義 • 他のリソースに対して どのような操作権限を持たせるか Reconciliationの定義 • Reconcileのメイン部分 (関数で分けているので 全体としてはもう少し長い)
  • 25. © 2021 NTT DATA Corporation どんな感じで動くの? -デモ動画・画像- 25
  • 26. © 2021 NTT DATA Corporation 26 負荷掛け対象として使ったサンプルアプリ Online Boutique • https://github.com/GoogleCloudPlatform/microservices-demo.git ホーム画面 決済画面
  • 27. © 2021 NTT DATA Corporation 27 コマンド入力〜Jobのキック Job コマンド入力 ConfigMap (CM) コマンド入力(裏でCMのstatusをrequiredに書き換えている)を検知し、 CMのstatusは、standby(→required)→runningへ切り替わり、 それをきっかけに新しいJobが作成されている
  • 28. © 2021 NTT DATA Corporation 28 Job実行中のPodのログ Jobにより作成されたPodのログ 各負荷量において、 Response time, Success rate, CPU utilizationを確認し、 予め設定した値に抵触していなければOKと判断し、負荷量を増加させている チェックOK チェックNG 試験終了
  • 29. © 2021 NTT DATA Corporation 29 Grafanaで見たメトリクス 負荷量が次第に増えていくにつれて、 レスポンスタイム、CPU使用率が上昇し ていく様子がわかる。 途中レスポンスタイムが急激に増加し、 予め設定した閾値2秒を超過したところ で、試験が終了している。
  • 30. © 2021 NTT DATA Corporation 30 負荷掛けツールLocust側の設定値・メトリクス ユーザ数 レスポンスタイム スループット レスポンスタイムが 閾値(2sec)を上回り、 負荷試験終了 ユーザ数が徐々に 増加している
  • 31. © 2021 NTT DATA Corporation 31 負荷掛けツールLocust側の設定値・メトリクス ユーザ数 レスポンスタイム スループット 負荷量調整・試 験準備 性能試験実施 結果まとめ・評価 区間ごとに上記の手順が実施されている形 人間の作業を排除することで、省力化が図れている
  • 32. © 2021 NTT DATA Corporation まとめ 32
  • 33. © 2021 NTT DATA Corporation 33 まとめ 限界性能試験における繰り返しの手順を自動化し、省人力化が期待できるツールを作成した  Observerbility (Metrics) の使い方を知り、それを応用することができた 負荷掛けツールLocust、および、負荷掛けManagerを含むKubernetes Operatorを作成した  Reconciliationの概念を学ぶことができた 【おまけ】取り組みの中で利用・作成したコードたち 1. 検証環境のセットアップ・サンプルアプリのデプロイ https://github.com/itohdak/kubernetes-experiment 2. Kubebuilderを用いて作成したOperator https://github.com/itohdak/maca-operator/tree/deploy
  • 34. © 2021 NTT DATA Corporation