狠狠撸

狠狠撸Share a Scribd company logo
? 2021 NTT DATA Corporation
Kubernetes Cost Optimization
(知っておきたいコンテナコスト最適化技術)
NTTデータ ITサービス?ペイメント事業本部
SL事業部 メディア統括部
VD+チーム 目黒 翔一
2021年11月5日
2
アジェンダ
1. 自己紹介
2. VisionData+開発の要件と課題
3. 要件を満たすための施策
3.1. 工夫①映像処理特性に合わせたマネージドサービスの選定
3.2. 工夫②KEDAによるPod立ち上げ時間の高速化
? 2021 NTT DATA Corporation 3
? 2021 NTT DATA Corporation
1. 自己紹介
? 氏名:目黒 翔一
? 所属
? NTTデータ ITSP事業本部 SL事業部 メディア統括部
? ミッション:クラウドとk8sを活用してサービス導入を推進しています
? 主な担当プロジェクト
? VisionData+開発を通じた技術検証
? スポーツ業界のお客様へ向けた視聴体験価値向上システム構築
? 放送業界のお客様へ向けた業務効率化システム構築
? 2021 NTT DATA Corporation 4
? 2021 NTT DATA Corporation
2. VisionData+開発の要件と課題
■スケーラブルなシステム
? VisionData+に求められる要件を満たすには、サーバのスペックを
上げる必要がありますが、単純にサーバのスペックをあげるとコストが
増大します
? そのため流量に応じたスケーラブルなシステムを構築しコストの最適
化を図る必要があります
■VisionData+とは
映像にメタ情報を付与することで映像の利活用の幅を広げたり、
放送業界の業務効率化を実現するシステムです
メタ情報とは
? 誰が映っているか
? 何をテーマに話しているか
? どんな文字が表示されているか???
VisionData+とは入力された映像からメタ情報を抽出する映像処理基盤です
処理負荷が高い映像をリアルタイムに扱う必要があり、コストを抑える難易度が高いシステムです
VisionData+の要件
映像 メタ情報
画像解析
音声認識 ? 処理負荷の高い映像を、映像時間と等倍程度の時間
で処理すること
? 事前に流入量が把握できない映像量を処理すること
? 2021 NTT DATA Corporation 5
? 2021 NTT DATA Corporation
3.1. 工夫①リアルタイム処理を実現するためのマネージドサービスの選定
Functions
映像処理開始 映像処理中 映像処理中
一定以上処理に時間がかかると
再実行になってしまう
映像処理完了
Functions使用時
AKS使用時
負荷が高い映像処理を確実に実行するため、FunctionsではなくAKSを採用しました
映像処理開始 映像処理中 映像処理中 AKS
処理時間に関係なく処理が実行される
? 2021 NTT DATA Corporation 6
? 2021 NTT DATA Corporation
3.2. 工夫②KEDAによるPod立ち上げ時間の高速化(1/2)
CPUの使用率をトリガーにPodをスケールした場合、Podの立ち上げ処理が間に合わない場合があります
KEDAを採用することで急激な負荷の上昇に対しても素早くスケールできます
画像解析
■スケールの流れ
① 画像処理の要求が来る
② CPU使用率をモニターし、CPUの不足を検知
③ Podを立ち上げる
■方法①CPU使用率をトリガーにスケール
? CPU使用率をモニターし、CPU使用率をトリガーにPodを立ち上げます
? CPU使用率を基に順次Podを立ち上げるので一度にスケールすることができません
? そのため大量に画像処理の要求が来た場合CPU使用率モニターではスケールが間に合わない可能性があります
静止画化後
大量にくる処理のリクエストに
Podのスケールが追い付かない
静止画パス取得
? 2021 NTT DATA Corporation 7
? 2021 NTT DATA Corporation
3.2. 工夫②KEDAによるPod立ち上げ時間の高速化(2/2)
Podをスケール
ServiceBusにメッセージ
が貯まるのを確認
■方法②KEDAを利用してスケール
? ServiceBusのメッセージをKEDAがモニターしPodを立ち上げます
? メッセージの量に応じて立ち上げるPod数を調整するため、処理量に応じた素早いスケールが可能になります
CPUのリソース使用率をトリガーにPodをスケールした場合、Podの立ち上げ処理が間に合わない場合があります
KEDAを採用することで急激な負荷の上昇に対しても素早くスケールできます
画像解析
静止画化後
静止画パス取得
■スケールの流れ
① ServiceBusにメッセージが来る
② KEDAがメッセージがたまっているのを検知
③ 貯まっているメッセージ量に応じたPodを立ち上げる
? 2021 NTT DATA Corporation
Agenda
? Vision Data? の概要とシステム構成
? Kubernetes?KEDAでのPod オートスケール ? 目黒さん
? Kubernetes Pod 配置の最適化 ? イマココ
? Kubernetes Node コストの最適化
? まとめ
KEDA ~Kubernetes-based Event-driven Autoscaling~
イベントをトリガーにPod をスケーリングさせるオープンソースプロジェクト
対応している主なイベント
?Apache Kafka
?AWS CloudWatch
?AWS Kinesis Stream
?AWS SQS Queue
?Azure Blob Storage
?Azure Event Hubs
?Azure Log Analytics
?Azure Monitor
?Azure Pipelines
?Azure Service Bus
?Google Cloud Platform Pub/Sub
https://keda.sh/
?Azure Storage Queue
?Azure Pipelines
?Azure Service Bus
?IBM MQ
?Prometheus
?Rabit MQ Queue
KEDA のしくみ
https://github.com/kedacore/keda
Metric
? キューの長さやストリームの遅延などの
イベント関連データを通知
Agent
? イベントをトリガーに 0<1 または 1>0 の
スケールアップとスケールダウンを行う
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
spec:
scaleTargetRef:
deploymentName: visiondata
triggers:
- type: azure-servicebus
metadata:
queueName: functions-sbqueue
subscriptionName: sbtopic-sub1
queueLength: "5"
Horizontal Pod Autoscaler (HPA)
? 負荷に応じてPod の数をオートスケールするリソース
? 指定したscaled resource object によって管理
されているpod のメトリックを取得
? 定義されたターゲット値になるにはいくつのpod
がを必要かを計算して、scaled resource
object のreplicas fieldを更新
Vision Data? では映像処理の流量が一定でなく、急
に大量のリクエストが来た場合、CPU トリガーだけでは
Pod の起動に間に合わないため、KEDA / HPA を利用
してオートスケール
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: frontend
namespace: magalix
spec:
maxReplicas: 20
minReplicas: 4
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
Name: frontend
targetCPUUtilizationPercentage: 75
例: CPU の使用が75%になるよう、Pod の数を4~20の間で調整
Pod 配置の最適化
コンテナが使用するCPU/メモリの設定
? Resource Limits
? Resource Requests
コンテナ
Resource Limits
実際の使用量が
? CPU 500m
? メモリ 2Gi
を超えたらプロセス停止
Resource Requests
デプロイするときに
? CPU 400m
? メモリ 1Gi
を確保
CPU のResource Requests の場合
? コンテナが使用するCPU リソースの指定
? CPU のコア単位で指定
? Kubernetes の内部コンポーネントも
共有しているのて、理論値いっぱいは
使用できないことに注意
spec:
containers:
- image: contoso
name: contoso-web
resources:
requests:
cpu: 500m
0
1000m
2000m
Node2
Standard_DS2_v2
Node1
Standard_DS2_v2
700m
kube-system
kube-system
800m
500m
500m
vCPU
500m
Pending
Resource Requests によるスケジューリング
スケジューリングのアルゴリズム
? Node フィルタリング
? Node の優先度
https://github.com/kubernetes/community/blob/master/contributors/devel/sig-scheduling/scheduler_algorithm.md
Scheduler Algorithm in Kubernetes
Node コストの最適化
アプリケーション実行環境ごとの Node のコスト比較
Availability
Set
Node0
Public IP
LB LB LB
Gateway
node1 node2 node3 node4
node5 node6 node7 node8 node9
Public IP
VNET
ILB
Availability
Set
APP1
LB
Availability
Set
WEB1 WEB2
APP2
Master0 Master1 Master2
? インフラレイヤーを抽象化し管理をソフトウエアで自動化
? コストのチューニングが可能
? 物理サーバを意識したアーキテクチャ
? 固定コストが発生
? 従量課金
? ワークロードによっては割高
Serverless
AKS のインフラコスト構造
Master
Master
Master
Node Node Node
アプリケーションノード
管理ノード
無課金
課金
※ アップタイム SLA を追加するオプション
Azure 可用性ゾーンを使用するクラスターに対してKubernetes API サーバーの 99.95% のアップタイムを保証し、Azure 可用性ゾーン
を使用しないクラスターに対して 99.9% のアップタイムを保証する、返金保証付きのサービス レベル アグリーメント (SLA)
従量制課金 料金
SLA で保証される稼働率 1 クラスターあたり、1 時間あたり ?11.200(月額: 約?8,000)
+ 従量課金
? 仮想マシン
? ネットワーク
? IPアドレス
? ストレージ
Kubernetes クラスタ
料金計算ツール
https://azure.microsoft.com/ja-jp/pricing/calculator/?service=kubernetes-service
ノード のコスト最適化
長期利用割引やスポットインスタンスでノードのコストダウンを行う
注意事項 :
? Azure Spot を使うと、非常に低コストで未使用の容量を利用できます。 バッチ処理ジョブ、開発/テスト環境、大規模なコンピュー
ティング ワークロードなど、中断してもかまわないワークロードに最適
? 利用可能な容量は、サイズ、リージョン、時刻などによって異なります。 スポット インスタンスを展開すると、Azure は利用可能な容
量がある場合のみインスタンスを割り当てますが、これらのインスタンスには SLA はありません。
ノードプール の活用
Master
Master
Master
汎用VM
管理ノード ? 同じ構成のワーカーノード(VM)をグループ化する機能
? デフォルトで作成されるシステムノードプールは、クラスタ
稼働に必要なコンポーネント群(CoreDNS や
tunnelfront など) が動作する
? コンピューティングまたは記憶域の要件が異なるアプリ
ケーションをサポートするには、追加の ユーザー ノード
プールを作成
? コンピューティング集約型のアプリケーションに GPU を提
供したり、高パフォーマンスな SSD ストレージにアクセス
を提供したりなど、ワークロードに応じて利用
? ノードプール単位でオートスケール設定可能
Standard
DS2 v3
¥7,849×n
Standard
DS2 v3
Standard
DS2 v3
Standard
F16s_v2
Standard
F16s_v2
Standard
F16s_v2
¥55,352 ×n
Standard
NC12s_v2
Standard
NC12s_v2
Standard
NC12s_v2
GPU
¥338,486 ×n
https://azure.microsoft.com/ja-jp/pricing/details/virtual-machines/linux/
コンピューティング
最適化
スケジューリングのしくみ
API Server
Scheduler
Master
etcd
クラスタ
構成情報
Node1 Node 2 Node N
$ kubectl apply ?
① コマンド
実行
Pod を1つ
② Pod の構成
情報を更新
③ Pod を割り当てる
Node の選定
kubelet
docker
kubelet
docker
kubelet
docker
⑤ Podを
生成
Node2 に
配置
④ Node
情報を更新
Node Selector
? Pod を実行できるNode を指定する目的で利用
? 簡単に利用できる
? Equality-based 条件を使用するため詳細な条件
設定ができない
ハードルールではないため、nodeSelector を指定していな
いPod も該当Node にデプロイされるケースがある
label a node:
$ kubectl lable node aks-nodepool1
hardware:gpu
apiVersion: v1
kind: Pod
metadata:
name: visiondata
labels:
env: prod
spec:
containers:
- name: visiondata
image: visiondata:v1
nodeSelector:
hardware: gpu
例: hardware: gpu が設定されたNodeにPodをスケジュール
Node Affinity
? nodeSelector より詳細に制御できるセレクター
? 2種類のNode Affinity
? requiredDuringSchedulingIgnoredDuringExecution
NodeにスケジュールされるPod が条件を満たすことが必須
? preferredDuringSchedulingIgnoredDuringExecution
指定した条件が保証されるわけではなく、優先的に考慮
利用シーンと制約
? 意図的に特定のNodeで動かしたいPodがあるとき
? Node Selector より柔軟に設定したいときに
? すでに動いているPod を強制的に追い出すことができない
apiVersion: v1
kind: Pod
metadata:
name: with-node-affinity
spec:
affinity:
nodeAffinity:
required…Execution:
nodeSelectorTerms:
- matchExpressions:
- key: hardware
operator: In
values: gpu
containers:
- name: with-node-affinity
image: nginx
例: Node Affinity が設定されたPodをスケジュール
https://docs.microsoft.com/ja-jp/azure/aks/operator-best-practices-advanced-scheduler
Taints / Tolerations
? toleration はPodに適用され、一致するtaintが付与
されたNode へ Podがスケジューリングされることを認め
るもの
? taintとtoleration は組になって機能し、Podが不適切
なNodeへスケジューリングされないことを保証
Effectの設定
? NoSchedule (hard)
? PreferNoSchedule (Soft)
? NoExecute (Evict – Hard^)
Taint a node:
$ kubectl taint node aks-nodepool1
gpu:NoSchedule
A pod with a toleration
tolerations:
key: "gpu"
operator: "Equal"
value: "value"
effect: "NoSchedule"
https://docs.microsoft.com/ja-jp/azure/aks/operator-best-practices-advanced-scheduler
https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
Pod Disruption Budget
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: vd-pdb
spec:
minAvailable: 60%
selector:
matchLabels:
app: visiondata
? クラスタのバージョンアップ時などでNode から
Pod を排出させるときにPod の停止を許容する
数を制限するリソース
minAvailable = Pod の最小起動数
maxUnAvailable = Pod の最大停止数
? 多数のノードを起動している状態でダウンタイムな
くノードのメンテナンスができる
? minAvailable とmaxUnAvailable は同時に指
定できない
? minAvailable とmaxUnAvailable はパーセン
テージで指定することを推奨
ガバナンス?コスト监视
リソース上限/ コストの管理
? Resource limitsの監査
? AKS - Azure Policy 連携アドオン
=>Azure Policy はAzure のガバナンス機能
? アクションとして、監査のみ/拒否/リソースの展開などが
可能
? リソース作成時/定期的なトリガーでポリシー適用
? Open Policy Agent (OPA) による Gatekeeper v3 で
実装
? 制約テンプレートは Rego によって記述
? コスト監視
? Azure Cost Management の利用
? アラートを設定することで利用超過を防ぐ
? ビューをカスタマイズできるのでコスト分析が可能
[Kubernetes cluster containers CPU and memory
resource limits should not exceed the specified
limits](Kubernetes クラスター コンテナーの CPU およびメモ
リ リソースの制限が指定された制限を超えないようにする)
組み込みポリシーの例
まとめ
? Vision Data? はコンピューティングリソースを多く要する映像処理ソリューションで
以下の要件があり、アプリケーション実行基盤の細かいチューニングが必要
? 映像量と同程度の時間で処理を完了
? 流量が事前に把握できない処理の実行
? なるべくコストを最適化し、かつスケーラブルな構成で運用するにはKubernetes の活用
が最適
? Kubernetes の機能/KEDA/Azure のサービス群 などを組み合わせて使うことで要件を
クリア
現在、絶賛開発検証中なので、次回の発表を乞うご期待!!

More Related Content

What's hot (20)

Ingress on Azure Kubernetes Service
Ingress on Azure Kubernetes ServiceIngress on Azure Kubernetes Service
Ingress on Azure Kubernetes Service
Toru Makabe
?
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
Preferred Networks
?
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
Preferred Networks
?
心理的安全性の構造 デブサミ2019夏 structure of psychological safety
心理的安全性の構造 デブサミ2019夏 structure of psychological safety心理的安全性の構造 デブサミ2019夏 structure of psychological safety
心理的安全性の構造 デブサミ2019夏 structure of psychological safety
Tokoroten Nakayama
?
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
Preferred Networks
?
インフラ颁滨颁顿の勘所
インフラ颁滨颁顿の勘所インフラ颁滨颁顿の勘所
インフラ颁滨颁顿の勘所
Toru Makabe
?
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
?
厂厂滨と顿滨顿で何を解决したいのか?(β版)
厂厂滨と顿滨顿で何を解决したいのか?(β版)厂厂滨と顿滨顿で何を解决したいのか?(β版)
厂厂滨と顿滨顿で何を解决したいのか?(β版)
Naohiro Fujie
?
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
?
Amazon EKS への道 ~ EKS 再入門 ~
Amazon EKS への道 ~ EKS 再入門 ~Amazon EKS への道 ~ EKS 再入門 ~
Amazon EKS への道 ~ EKS 再入門 ~
Hideaki Aoyagi
?
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
ShuheiUda
?
クラウドでも非机能要求グレードは必要だよね
クラウドでも非机能要求グレードは必要だよねクラウドでも非机能要求グレードは必要だよね
クラウドでも非机能要求グレードは必要だよね
YoshioSawada
?
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
Preferred Networks
?
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
?
Microsoft Azure Storage 概要
Microsoft Azure Storage 概要Microsoft Azure Storage 概要
Microsoft Azure Storage 概要
Takeshi Fukuhara
?
今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID
Naohiro Fujie
?
コンテナネットワーキング(颁狈滨)最前线
コンテナネットワーキング(颁狈滨)最前线コンテナネットワーキング(颁狈滨)最前线
コンテナネットワーキング(颁狈滨)最前线
Motonori Shindo
?
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Shin Ohno
?
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
NTT DATA Technology & Innovation
?
Dockerセキュリティ: 今すく?役に立つテクニックから,次世代技術まて?
 Dockerセキュリティ: 今すく?役に立つテクニックから,次世代技術まて? Dockerセキュリティ: 今すく?役に立つテクニックから,次世代技術まて?
Dockerセキュリティ: 今すく?役に立つテクニックから,次世代技術まて?
Akihiro Suda
?
Ingress on Azure Kubernetes Service
Ingress on Azure Kubernetes ServiceIngress on Azure Kubernetes Service
Ingress on Azure Kubernetes Service
Toru Makabe
?
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
Preferred Networks
?
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
Preferred Networks
?
心理的安全性の構造 デブサミ2019夏 structure of psychological safety
心理的安全性の構造 デブサミ2019夏 structure of psychological safety心理的安全性の構造 デブサミ2019夏 structure of psychological safety
心理的安全性の構造 デブサミ2019夏 structure of psychological safety
Tokoroten Nakayama
?
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
Preferred Networks
?
インフラ颁滨颁顿の勘所
インフラ颁滨颁顿の勘所インフラ颁滨颁顿の勘所
インフラ颁滨颁顿の勘所
Toru Makabe
?
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
?
厂厂滨と顿滨顿で何を解决したいのか?(β版)
厂厂滨と顿滨顿で何を解决したいのか?(β版)厂厂滨と顿滨顿で何を解决したいのか?(β版)
厂厂滨と顿滨顿で何を解决したいのか?(β版)
Naohiro Fujie
?
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
?
Amazon EKS への道 ~ EKS 再入門 ~
Amazon EKS への道 ~ EKS 再入門 ~Amazon EKS への道 ~ EKS 再入門 ~
Amazon EKS への道 ~ EKS 再入門 ~
Hideaki Aoyagi
?
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
ShuheiUda
?
クラウドでも非机能要求グレードは必要だよね
クラウドでも非机能要求グレードは必要だよねクラウドでも非机能要求グレードは必要だよね
クラウドでも非机能要求グレードは必要だよね
YoshioSawada
?
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
Preferred Networks
?
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
?
Microsoft Azure Storage 概要
Microsoft Azure Storage 概要Microsoft Azure Storage 概要
Microsoft Azure Storage 概要
Takeshi Fukuhara
?
今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID
Naohiro Fujie
?
コンテナネットワーキング(颁狈滨)最前线
コンテナネットワーキング(颁狈滨)最前线コンテナネットワーキング(颁狈滨)最前线
コンテナネットワーキング(颁狈滨)最前线
Motonori Shindo
?
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Shin Ohno
?
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
NTT DATA Technology & Innovation
?
Dockerセキュリティ: 今すく?役に立つテクニックから,次世代技術まて?
 Dockerセキュリティ: 今すく?役に立つテクニックから,次世代技術まて? Dockerセキュリティ: 今すく?役に立つテクニックから,次世代技術まて?
Dockerセキュリティ: 今すく?役に立つテクニックから,次世代技術まて?
Akihiro Suda
?

Similar to Kubernetes Cost Optimization (20)

【Serverless Days】マルチクラウト?環境における持続的コスト最適化サイクルの実践.pptx
【Serverless Days】マルチクラウト?環境における持続的コスト最適化サイクルの実践.pptx【Serverless Days】マルチクラウト?環境における持続的コスト最適化サイクルの実践.pptx
【Serverless Days】マルチクラウト?環境における持続的コスト最適化サイクルの実践.pptx
Keita Higaki
?
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル?イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル?イネーブラー(NTTデータ テクノロジーカンファレンス ...JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル?イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル?イネーブラー(NTTデータ テクノロジーカンファレンス ...
NTT DATA Technology & Innovation
?
IoTから関連するサービス群も含めてAzure 最新アップデートのご紹介_滨辞罢ビジネス共创ラボ 第9回 勉強会
IoTから関連するサービス群も含めてAzure 最新アップデートのご紹介_滨辞罢ビジネス共创ラボ 第9回 勉強会IoTから関連するサービス群も含めてAzure 最新アップデートのご紹介_滨辞罢ビジネス共创ラボ 第9回 勉強会
IoTから関連するサービス群も含めてAzure 最新アップデートのご紹介_滨辞罢ビジネス共创ラボ 第9回 勉強会
滨辞罢ビジネス共创ラボ
?
VMware が考えるコンテナと Kubernetes の世界
VMware が考えるコンテナと Kubernetes の世界VMware が考えるコンテナと Kubernetes の世界
VMware が考えるコンテナと Kubernetes の世界
Yuichi Tamagawa
?
.狈贰罢アプリケーションのクラウド最适化
.狈贰罢アプリケーションのクラウド最适化.狈贰罢アプリケーションのクラウド最适化
.狈贰罢アプリケーションのクラウド最适化
Takeshi Fukuhara
?
[フルバージョン] WebLogic Server for OCI 活用のご提案 - TCO削減とシステムのモダナイズ
[フルバージョン] WebLogic Server for OCI 活用のご提案 - TCO削減とシステムのモダナイズ[フルバージョン] WebLogic Server for OCI 活用のご提案 - TCO削減とシステムのモダナイズ
[フルバージョン] WebLogic Server for OCI 活用のご提案 - TCO削減とシステムのモダナイズ
オラクルエンジニア通信
?
[db tech showcase Tokyo 2015] A26:内部犯行による漏えいを防ぐPostgreSQLの透過的暗号化機能に関する実装と利用方法...
[db tech showcase Tokyo 2015] A26:内部犯行による漏えいを防ぐPostgreSQLの透過的暗号化機能に関する実装と利用方法...[db tech showcase Tokyo 2015] A26:内部犯行による漏えいを防ぐPostgreSQLの透過的暗号化機能に関する実装と利用方法...
[db tech showcase Tokyo 2015] A26:内部犯行による漏えいを防ぐPostgreSQLの透過的暗号化機能に関する実装と利用方法...
Insight Technology, Inc.
?
GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較
NTT Communications Technology Development
?
Azure Kubernetes ServiceとCI/CD pipeline
Azure Kubernetes ServiceとCI/CD pipelineAzure Kubernetes ServiceとCI/CD pipeline
Azure Kubernetes ServiceとCI/CD pipeline
ryosuke matsumura
?
【贬颈苍别尘辞蝉奥辞谤濒诲2015】础1-3冲コンテナ技术顿辞肠办别谤の导入事例と完全运用自动化
【贬颈苍别尘辞蝉奥辞谤濒诲2015】础1-3冲コンテナ技术顿辞肠办别谤の导入事例と完全运用自动化【贬颈苍别尘辞蝉奥辞谤濒诲2015】础1-3冲コンテナ技术顿辞肠办别谤の导入事例と完全运用自动化
【贬颈苍别尘辞蝉奥辞谤濒诲2015】础1-3冲コンテナ技术顿辞肠办别谤の导入事例と完全运用自动化
Hinemos
?
AWS の IoT 向けサービス
AWS の IoT 向けサービスAWS の IoT 向けサービス
AWS の IoT 向けサービス
Amazon Web Services Japan
?
础奥厂マネージドサービスと翱厂厂によるミッションクリティカルなシステムの実现
础奥厂マネージドサービスと翱厂厂によるミッションクリティカルなシステムの実现础奥厂マネージドサービスと翱厂厂によるミッションクリティカルなシステムの実现
础奥厂マネージドサービスと翱厂厂によるミッションクリティカルなシステムの実现
TIS Inc.
?
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド?クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド?クラウドを...Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド?クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド?クラウドを...
Shinichiro Arai
?
20190731 Azure Functions x Line at Azure Tech Lab #4
20190731 Azure Functions x Line at Azure Tech Lab #420190731 Azure Functions x Line at Azure Tech Lab #4
20190731 Azure Functions x Line at Azure Tech Lab #4
Issei Hiraoka
?
Azure Batch Renderingではじめるクラウドレンダリング
Azure Batch RenderingではじめるクラウドレンダリングAzure Batch Renderingではじめるクラウドレンダリング
Azure Batch Renderingではじめるクラウドレンダリング
Hiroshi Tanaka
?
Azure Batch Renderingではじめるクラウドレンダリング
Azure Batch RenderingではじめるクラウドレンダリングAzure Batch Renderingではじめるクラウドレンダリング
Azure Batch Renderingではじめるクラウドレンダリング
Microsoft
?
テレワークに AWS を活用するパターン集
テレワークに AWS を活用するパターン集テレワークに AWS を活用するパターン集
テレワークに AWS を活用するパターン集
Yoshii Ryo
?
テレワークに AWS を活用するパターン集
テレワークに AWS を活用するパターン集テレワークに AWS を活用するパターン集
テレワークに AWS を活用するパターン集
Yoshii Ryo
?
Azure update flash
Azure update flashAzure update flash
Azure update flash
Minoru Naito
?
[Cloud OnAir] Talks by DevRel Vol. 1 インフラストラクチャ 2020年7月30日 放送
[Cloud OnAir] Talks by DevRel Vol. 1 インフラストラクチャ 2020年7月30日 放送[Cloud OnAir] Talks by DevRel Vol. 1 インフラストラクチャ 2020年7月30日 放送
[Cloud OnAir] Talks by DevRel Vol. 1 インフラストラクチャ 2020年7月30日 放送
Google Cloud Platform - Japan
?
【Serverless Days】マルチクラウト?環境における持続的コスト最適化サイクルの実践.pptx
【Serverless Days】マルチクラウト?環境における持続的コスト最適化サイクルの実践.pptx【Serverless Days】マルチクラウト?環境における持続的コスト最適化サイクルの実践.pptx
【Serverless Days】マルチクラウト?環境における持続的コスト最適化サイクルの実践.pptx
Keita Higaki
?
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル?イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル?イネーブラー(NTTデータ テクノロジーカンファレンス ...JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル?イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル?イネーブラー(NTTデータ テクノロジーカンファレンス ...
NTT DATA Technology & Innovation
?
IoTから関連するサービス群も含めてAzure 最新アップデートのご紹介_滨辞罢ビジネス共创ラボ 第9回 勉強会
IoTから関連するサービス群も含めてAzure 最新アップデートのご紹介_滨辞罢ビジネス共创ラボ 第9回 勉強会IoTから関連するサービス群も含めてAzure 最新アップデートのご紹介_滨辞罢ビジネス共创ラボ 第9回 勉強会
IoTから関連するサービス群も含めてAzure 最新アップデートのご紹介_滨辞罢ビジネス共创ラボ 第9回 勉強会
滨辞罢ビジネス共创ラボ
?
VMware が考えるコンテナと Kubernetes の世界
VMware が考えるコンテナと Kubernetes の世界VMware が考えるコンテナと Kubernetes の世界
VMware が考えるコンテナと Kubernetes の世界
Yuichi Tamagawa
?
.狈贰罢アプリケーションのクラウド最适化
.狈贰罢アプリケーションのクラウド最适化.狈贰罢アプリケーションのクラウド最适化
.狈贰罢アプリケーションのクラウド最适化
Takeshi Fukuhara
?
[フルバージョン] WebLogic Server for OCI 活用のご提案 - TCO削減とシステムのモダナイズ
[フルバージョン] WebLogic Server for OCI 活用のご提案 - TCO削減とシステムのモダナイズ[フルバージョン] WebLogic Server for OCI 活用のご提案 - TCO削減とシステムのモダナイズ
[フルバージョン] WebLogic Server for OCI 活用のご提案 - TCO削減とシステムのモダナイズ
オラクルエンジニア通信
?
[db tech showcase Tokyo 2015] A26:内部犯行による漏えいを防ぐPostgreSQLの透過的暗号化機能に関する実装と利用方法...
[db tech showcase Tokyo 2015] A26:内部犯行による漏えいを防ぐPostgreSQLの透過的暗号化機能に関する実装と利用方法...[db tech showcase Tokyo 2015] A26:内部犯行による漏えいを防ぐPostgreSQLの透過的暗号化機能に関する実装と利用方法...
[db tech showcase Tokyo 2015] A26:内部犯行による漏えいを防ぐPostgreSQLの透過的暗号化機能に関する実装と利用方法...
Insight Technology, Inc.
?
Azure Kubernetes ServiceとCI/CD pipeline
Azure Kubernetes ServiceとCI/CD pipelineAzure Kubernetes ServiceとCI/CD pipeline
Azure Kubernetes ServiceとCI/CD pipeline
ryosuke matsumura
?
【贬颈苍别尘辞蝉奥辞谤濒诲2015】础1-3冲コンテナ技术顿辞肠办别谤の导入事例と完全运用自动化
【贬颈苍别尘辞蝉奥辞谤濒诲2015】础1-3冲コンテナ技术顿辞肠办别谤の导入事例と完全运用自动化【贬颈苍别尘辞蝉奥辞谤濒诲2015】础1-3冲コンテナ技术顿辞肠办别谤の导入事例と完全运用自动化
【贬颈苍别尘辞蝉奥辞谤濒诲2015】础1-3冲コンテナ技术顿辞肠办别谤の导入事例と完全运用自动化
Hinemos
?
础奥厂マネージドサービスと翱厂厂によるミッションクリティカルなシステムの実现
础奥厂マネージドサービスと翱厂厂によるミッションクリティカルなシステムの実现础奥厂マネージドサービスと翱厂厂によるミッションクリティカルなシステムの実现
础奥厂マネージドサービスと翱厂厂によるミッションクリティカルなシステムの実现
TIS Inc.
?
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド?クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド?クラウドを...Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド?クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド?クラウドを...
Shinichiro Arai
?
20190731 Azure Functions x Line at Azure Tech Lab #4
20190731 Azure Functions x Line at Azure Tech Lab #420190731 Azure Functions x Line at Azure Tech Lab #4
20190731 Azure Functions x Line at Azure Tech Lab #4
Issei Hiraoka
?
Azure Batch Renderingではじめるクラウドレンダリング
Azure Batch RenderingではじめるクラウドレンダリングAzure Batch Renderingではじめるクラウドレンダリング
Azure Batch Renderingではじめるクラウドレンダリング
Hiroshi Tanaka
?
Azure Batch Renderingではじめるクラウドレンダリング
Azure Batch RenderingではじめるクラウドレンダリングAzure Batch Renderingではじめるクラウドレンダリング
Azure Batch Renderingではじめるクラウドレンダリング
Microsoft
?
テレワークに AWS を活用するパターン集
テレワークに AWS を活用するパターン集テレワークに AWS を活用するパターン集
テレワークに AWS を活用するパターン集
Yoshii Ryo
?
テレワークに AWS を活用するパターン集
テレワークに AWS を活用するパターン集テレワークに AWS を活用するパターン集
テレワークに AWS を活用するパターン集
Yoshii Ryo
?
[Cloud OnAir] Talks by DevRel Vol. 1 インフラストラクチャ 2020年7月30日 放送
[Cloud OnAir] Talks by DevRel Vol. 1 インフラストラクチャ 2020年7月30日 放送[Cloud OnAir] Talks by DevRel Vol. 1 インフラストラクチャ 2020年7月30日 放送
[Cloud OnAir] Talks by DevRel Vol. 1 インフラストラクチャ 2020年7月30日 放送
Google Cloud Platform - Japan
?

Recently uploaded (8)

滨肠丑颈颈搁颈办颈蝉耻办别冲理学疗法士间の知识共有に向けた临床推论テキストの构造化に関する研究.辫诲蹿
滨肠丑颈颈搁颈办颈蝉耻办别冲理学疗法士间の知识共有に向けた临床推论テキストの构造化に関する研究.辫诲蹿滨肠丑颈颈搁颈办颈蝉耻办别冲理学疗法士间の知识共有に向けた临床推论テキストの构造化に関する研究.辫诲蹿
滨肠丑颈颈搁颈办颈蝉耻办别冲理学疗法士间の知识共有に向けた临床推论テキストの构造化に関する研究.辫诲蹿
Matsushita Laboratory
?
IoT Devices Compliant with JC-STAR Using Linux as a Container OS
IoT Devices Compliant with JC-STAR Using Linux as a Container OSIoT Devices Compliant with JC-STAR Using Linux as a Container OS
IoT Devices Compliant with JC-STAR Using Linux as a Container OS
Tomohiro Saneyoshi
?
Matching_Program_for_Quantum_Challenge_Overview.pdf
Matching_Program_for_Quantum_Challenge_Overview.pdfMatching_Program_for_Quantum_Challenge_Overview.pdf
Matching_Program_for_Quantum_Challenge_Overview.pdf
hirokiokuda2
?
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
CRI Japan, Inc.
?
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
NTT DATA Technology & Innovation
?
ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫
ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫
ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫
ssuserfcafd1
?
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
NTT DATA Technology & Innovation
?
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
kota usuha
?
滨肠丑颈颈搁颈办颈蝉耻办别冲理学疗法士间の知识共有に向けた临床推论テキストの构造化に関する研究.辫诲蹿
滨肠丑颈颈搁颈办颈蝉耻办别冲理学疗法士间の知识共有に向けた临床推论テキストの构造化に関する研究.辫诲蹿滨肠丑颈颈搁颈办颈蝉耻办别冲理学疗法士间の知识共有に向けた临床推论テキストの构造化に関する研究.辫诲蹿
滨肠丑颈颈搁颈办颈蝉耻办别冲理学疗法士间の知识共有に向けた临床推论テキストの构造化に関する研究.辫诲蹿
Matsushita Laboratory
?
IoT Devices Compliant with JC-STAR Using Linux as a Container OS
IoT Devices Compliant with JC-STAR Using Linux as a Container OSIoT Devices Compliant with JC-STAR Using Linux as a Container OS
IoT Devices Compliant with JC-STAR Using Linux as a Container OS
Tomohiro Saneyoshi
?
Matching_Program_for_Quantum_Challenge_Overview.pdf
Matching_Program_for_Quantum_Challenge_Overview.pdfMatching_Program_for_Quantum_Challenge_Overview.pdf
Matching_Program_for_Quantum_Challenge_Overview.pdf
hirokiokuda2
?
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
CRI Japan, Inc.
?
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
NTT DATA Technology & Innovation
?
ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫
ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫
ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫
ssuserfcafd1
?
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
NTT DATA Technology & Innovation
?
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
kota usuha
?

Kubernetes Cost Optimization

  • 1. ? 2021 NTT DATA Corporation Kubernetes Cost Optimization (知っておきたいコンテナコスト最適化技術) NTTデータ ITサービス?ペイメント事業本部 SL事業部 メディア統括部 VD+チーム 目黒 翔一 2021年11月5日
  • 2. 2 アジェンダ 1. 自己紹介 2. VisionData+開発の要件と課題 3. 要件を満たすための施策 3.1. 工夫①映像処理特性に合わせたマネージドサービスの選定 3.2. 工夫②KEDAによるPod立ち上げ時間の高速化
  • 3. ? 2021 NTT DATA Corporation 3 ? 2021 NTT DATA Corporation 1. 自己紹介 ? 氏名:目黒 翔一 ? 所属 ? NTTデータ ITSP事業本部 SL事業部 メディア統括部 ? ミッション:クラウドとk8sを活用してサービス導入を推進しています ? 主な担当プロジェクト ? VisionData+開発を通じた技術検証 ? スポーツ業界のお客様へ向けた視聴体験価値向上システム構築 ? 放送業界のお客様へ向けた業務効率化システム構築
  • 4. ? 2021 NTT DATA Corporation 4 ? 2021 NTT DATA Corporation 2. VisionData+開発の要件と課題 ■スケーラブルなシステム ? VisionData+に求められる要件を満たすには、サーバのスペックを 上げる必要がありますが、単純にサーバのスペックをあげるとコストが 増大します ? そのため流量に応じたスケーラブルなシステムを構築しコストの最適 化を図る必要があります ■VisionData+とは 映像にメタ情報を付与することで映像の利活用の幅を広げたり、 放送業界の業務効率化を実現するシステムです メタ情報とは ? 誰が映っているか ? 何をテーマに話しているか ? どんな文字が表示されているか??? VisionData+とは入力された映像からメタ情報を抽出する映像処理基盤です 処理負荷が高い映像をリアルタイムに扱う必要があり、コストを抑える難易度が高いシステムです VisionData+の要件 映像 メタ情報 画像解析 音声認識 ? 処理負荷の高い映像を、映像時間と等倍程度の時間 で処理すること ? 事前に流入量が把握できない映像量を処理すること
  • 5. ? 2021 NTT DATA Corporation 5 ? 2021 NTT DATA Corporation 3.1. 工夫①リアルタイム処理を実現するためのマネージドサービスの選定 Functions 映像処理開始 映像処理中 映像処理中 一定以上処理に時間がかかると 再実行になってしまう 映像処理完了 Functions使用時 AKS使用時 負荷が高い映像処理を確実に実行するため、FunctionsではなくAKSを採用しました 映像処理開始 映像処理中 映像処理中 AKS 処理時間に関係なく処理が実行される
  • 6. ? 2021 NTT DATA Corporation 6 ? 2021 NTT DATA Corporation 3.2. 工夫②KEDAによるPod立ち上げ時間の高速化(1/2) CPUの使用率をトリガーにPodをスケールした場合、Podの立ち上げ処理が間に合わない場合があります KEDAを採用することで急激な負荷の上昇に対しても素早くスケールできます 画像解析 ■スケールの流れ ① 画像処理の要求が来る ② CPU使用率をモニターし、CPUの不足を検知 ③ Podを立ち上げる ■方法①CPU使用率をトリガーにスケール ? CPU使用率をモニターし、CPU使用率をトリガーにPodを立ち上げます ? CPU使用率を基に順次Podを立ち上げるので一度にスケールすることができません ? そのため大量に画像処理の要求が来た場合CPU使用率モニターではスケールが間に合わない可能性があります 静止画化後 大量にくる処理のリクエストに Podのスケールが追い付かない 静止画パス取得
  • 7. ? 2021 NTT DATA Corporation 7 ? 2021 NTT DATA Corporation 3.2. 工夫②KEDAによるPod立ち上げ時間の高速化(2/2) Podをスケール ServiceBusにメッセージ が貯まるのを確認 ■方法②KEDAを利用してスケール ? ServiceBusのメッセージをKEDAがモニターしPodを立ち上げます ? メッセージの量に応じて立ち上げるPod数を調整するため、処理量に応じた素早いスケールが可能になります CPUのリソース使用率をトリガーにPodをスケールした場合、Podの立ち上げ処理が間に合わない場合があります KEDAを採用することで急激な負荷の上昇に対しても素早くスケールできます 画像解析 静止画化後 静止画パス取得 ■スケールの流れ ① ServiceBusにメッセージが来る ② KEDAがメッセージがたまっているのを検知 ③ 貯まっているメッセージ量に応じたPodを立ち上げる
  • 8. ? 2021 NTT DATA Corporation
  • 9. Agenda ? Vision Data? の概要とシステム構成 ? Kubernetes?KEDAでのPod オートスケール ? 目黒さん ? Kubernetes Pod 配置の最適化 ? イマココ ? Kubernetes Node コストの最適化 ? まとめ
  • 10. KEDA ~Kubernetes-based Event-driven Autoscaling~ イベントをトリガーにPod をスケーリングさせるオープンソースプロジェクト 対応している主なイベント ?Apache Kafka ?AWS CloudWatch ?AWS Kinesis Stream ?AWS SQS Queue ?Azure Blob Storage ?Azure Event Hubs ?Azure Log Analytics ?Azure Monitor ?Azure Pipelines ?Azure Service Bus ?Google Cloud Platform Pub/Sub https://keda.sh/ ?Azure Storage Queue ?Azure Pipelines ?Azure Service Bus ?IBM MQ ?Prometheus ?Rabit MQ Queue
  • 11. KEDA のしくみ https://github.com/kedacore/keda Metric ? キューの長さやストリームの遅延などの イベント関連データを通知 Agent ? イベントをトリガーに 0<1 または 1>0 の スケールアップとスケールダウンを行う apiVersion: keda.sh/v1alpha1 kind: ScaledObject spec: scaleTargetRef: deploymentName: visiondata triggers: - type: azure-servicebus metadata: queueName: functions-sbqueue subscriptionName: sbtopic-sub1 queueLength: "5"
  • 12. Horizontal Pod Autoscaler (HPA) ? 負荷に応じてPod の数をオートスケールするリソース ? 指定したscaled resource object によって管理 されているpod のメトリックを取得 ? 定義されたターゲット値になるにはいくつのpod がを必要かを計算して、scaled resource object のreplicas fieldを更新 Vision Data? では映像処理の流量が一定でなく、急 に大量のリクエストが来た場合、CPU トリガーだけでは Pod の起動に間に合わないため、KEDA / HPA を利用 してオートスケール apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: name: frontend namespace: magalix spec: maxReplicas: 20 minReplicas: 4 scaleTargetRef: apiVersion: apps/v1 kind: Deployment Name: frontend targetCPUUtilizationPercentage: 75 例: CPU の使用が75%になるよう、Pod の数を4~20の間で調整
  • 14. コンテナが使用するCPU/メモリの設定 ? Resource Limits ? Resource Requests コンテナ Resource Limits 実際の使用量が ? CPU 500m ? メモリ 2Gi を超えたらプロセス停止 Resource Requests デプロイするときに ? CPU 400m ? メモリ 1Gi を確保
  • 15. CPU のResource Requests の場合 ? コンテナが使用するCPU リソースの指定 ? CPU のコア単位で指定 ? Kubernetes の内部コンポーネントも 共有しているのて、理論値いっぱいは 使用できないことに注意 spec: containers: - image: contoso name: contoso-web resources: requests: cpu: 500m 0 1000m 2000m Node2 Standard_DS2_v2 Node1 Standard_DS2_v2 700m kube-system kube-system 800m 500m 500m vCPU 500m Pending Resource Requests によるスケジューリング
  • 16. スケジューリングのアルゴリズム ? Node フィルタリング ? Node の優先度 https://github.com/kubernetes/community/blob/master/contributors/devel/sig-scheduling/scheduler_algorithm.md Scheduler Algorithm in Kubernetes
  • 18. アプリケーション実行環境ごとの Node のコスト比較 Availability Set Node0 Public IP LB LB LB Gateway node1 node2 node3 node4 node5 node6 node7 node8 node9 Public IP VNET ILB Availability Set APP1 LB Availability Set WEB1 WEB2 APP2 Master0 Master1 Master2 ? インフラレイヤーを抽象化し管理をソフトウエアで自動化 ? コストのチューニングが可能 ? 物理サーバを意識したアーキテクチャ ? 固定コストが発生 ? 従量課金 ? ワークロードによっては割高 Serverless
  • 19. AKS のインフラコスト構造 Master Master Master Node Node Node アプリケーションノード 管理ノード 無課金 課金 ※ アップタイム SLA を追加するオプション Azure 可用性ゾーンを使用するクラスターに対してKubernetes API サーバーの 99.95% のアップタイムを保証し、Azure 可用性ゾーン を使用しないクラスターに対して 99.9% のアップタイムを保証する、返金保証付きのサービス レベル アグリーメント (SLA) 従量制課金 料金 SLA で保証される稼働率 1 クラスターあたり、1 時間あたり ?11.200(月額: 約?8,000) + 従量課金 ? 仮想マシン ? ネットワーク ? IPアドレス ? ストレージ Kubernetes クラスタ 料金計算ツール https://azure.microsoft.com/ja-jp/pricing/calculator/?service=kubernetes-service
  • 20. ノード のコスト最適化 長期利用割引やスポットインスタンスでノードのコストダウンを行う 注意事項 : ? Azure Spot を使うと、非常に低コストで未使用の容量を利用できます。 バッチ処理ジョブ、開発/テスト環境、大規模なコンピュー ティング ワークロードなど、中断してもかまわないワークロードに最適 ? 利用可能な容量は、サイズ、リージョン、時刻などによって異なります。 スポット インスタンスを展開すると、Azure は利用可能な容 量がある場合のみインスタンスを割り当てますが、これらのインスタンスには SLA はありません。
  • 21. ノードプール の活用 Master Master Master 汎用VM 管理ノード ? 同じ構成のワーカーノード(VM)をグループ化する機能 ? デフォルトで作成されるシステムノードプールは、クラスタ 稼働に必要なコンポーネント群(CoreDNS や tunnelfront など) が動作する ? コンピューティングまたは記憶域の要件が異なるアプリ ケーションをサポートするには、追加の ユーザー ノード プールを作成 ? コンピューティング集約型のアプリケーションに GPU を提 供したり、高パフォーマンスな SSD ストレージにアクセス を提供したりなど、ワークロードに応じて利用 ? ノードプール単位でオートスケール設定可能 Standard DS2 v3 ¥7,849×n Standard DS2 v3 Standard DS2 v3 Standard F16s_v2 Standard F16s_v2 Standard F16s_v2 ¥55,352 ×n Standard NC12s_v2 Standard NC12s_v2 Standard NC12s_v2 GPU ¥338,486 ×n https://azure.microsoft.com/ja-jp/pricing/details/virtual-machines/linux/ コンピューティング 最適化
  • 22. スケジューリングのしくみ API Server Scheduler Master etcd クラスタ 構成情報 Node1 Node 2 Node N $ kubectl apply ? ① コマンド 実行 Pod を1つ ② Pod の構成 情報を更新 ③ Pod を割り当てる Node の選定 kubelet docker kubelet docker kubelet docker ⑤ Podを 生成 Node2 に 配置 ④ Node 情報を更新
  • 23. Node Selector ? Pod を実行できるNode を指定する目的で利用 ? 簡単に利用できる ? Equality-based 条件を使用するため詳細な条件 設定ができない ハードルールではないため、nodeSelector を指定していな いPod も該当Node にデプロイされるケースがある label a node: $ kubectl lable node aks-nodepool1 hardware:gpu apiVersion: v1 kind: Pod metadata: name: visiondata labels: env: prod spec: containers: - name: visiondata image: visiondata:v1 nodeSelector: hardware: gpu 例: hardware: gpu が設定されたNodeにPodをスケジュール
  • 24. Node Affinity ? nodeSelector より詳細に制御できるセレクター ? 2種類のNode Affinity ? requiredDuringSchedulingIgnoredDuringExecution NodeにスケジュールされるPod が条件を満たすことが必須 ? preferredDuringSchedulingIgnoredDuringExecution 指定した条件が保証されるわけではなく、優先的に考慮 利用シーンと制約 ? 意図的に特定のNodeで動かしたいPodがあるとき ? Node Selector より柔軟に設定したいときに ? すでに動いているPod を強制的に追い出すことができない apiVersion: v1 kind: Pod metadata: name: with-node-affinity spec: affinity: nodeAffinity: required…Execution: nodeSelectorTerms: - matchExpressions: - key: hardware operator: In values: gpu containers: - name: with-node-affinity image: nginx 例: Node Affinity が設定されたPodをスケジュール https://docs.microsoft.com/ja-jp/azure/aks/operator-best-practices-advanced-scheduler
  • 25. Taints / Tolerations ? toleration はPodに適用され、一致するtaintが付与 されたNode へ Podがスケジューリングされることを認め るもの ? taintとtoleration は組になって機能し、Podが不適切 なNodeへスケジューリングされないことを保証 Effectの設定 ? NoSchedule (hard) ? PreferNoSchedule (Soft) ? NoExecute (Evict – Hard^) Taint a node: $ kubectl taint node aks-nodepool1 gpu:NoSchedule A pod with a toleration tolerations: key: "gpu" operator: "Equal" value: "value" effect: "NoSchedule" https://docs.microsoft.com/ja-jp/azure/aks/operator-best-practices-advanced-scheduler https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
  • 26. Pod Disruption Budget apiVersion: policy/v1 kind: PodDisruptionBudget metadata: name: vd-pdb spec: minAvailable: 60% selector: matchLabels: app: visiondata ? クラスタのバージョンアップ時などでNode から Pod を排出させるときにPod の停止を許容する 数を制限するリソース minAvailable = Pod の最小起動数 maxUnAvailable = Pod の最大停止数 ? 多数のノードを起動している状態でダウンタイムな くノードのメンテナンスができる ? minAvailable とmaxUnAvailable は同時に指 定できない ? minAvailable とmaxUnAvailable はパーセン テージで指定することを推奨
  • 28. リソース上限/ コストの管理 ? Resource limitsの監査 ? AKS - Azure Policy 連携アドオン =>Azure Policy はAzure のガバナンス機能 ? アクションとして、監査のみ/拒否/リソースの展開などが 可能 ? リソース作成時/定期的なトリガーでポリシー適用 ? Open Policy Agent (OPA) による Gatekeeper v3 で 実装 ? 制約テンプレートは Rego によって記述 ? コスト監視 ? Azure Cost Management の利用 ? アラートを設定することで利用超過を防ぐ ? ビューをカスタマイズできるのでコスト分析が可能 [Kubernetes cluster containers CPU and memory resource limits should not exceed the specified limits](Kubernetes クラスター コンテナーの CPU およびメモ リ リソースの制限が指定された制限を超えないようにする) 組み込みポリシーの例
  • 29. まとめ ? Vision Data? はコンピューティングリソースを多く要する映像処理ソリューションで 以下の要件があり、アプリケーション実行基盤の細かいチューニングが必要 ? 映像量と同程度の時間で処理を完了 ? 流量が事前に把握できない処理の実行 ? なるべくコストを最適化し、かつスケーラブルな構成で運用するにはKubernetes の活用 が最適 ? Kubernetes の機能/KEDA/Azure のサービス群 などを組み合わせて使うことで要件を クリア 現在、絶賛開発検証中なので、次回の発表を乞うご期待!!