25
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ツール調査まとめ】お金のムダづかいにさようなら。Continuous Optimizationでシステムを最適化

Posted at

はじめに

こんにちは。

私は情報システムやサービス運用の研究開発業務を担当するグループに所属している初級エンジニアです。

今回も以前の記事に引き続き、研究開発に必要な知識を得るためにCNCFのLandscapeに掲載されたOSSについて調査していこうと思います。

現状、「Observability and Analysis」のうち2種類のツール群について調査しました。
次のターゲットはシステムの最適化に必要な『Continuous Optimization』です!!

CNCF Landscape Observability and Analysis.png

今までの調査記事は以下の通りです。

No. タイトル テーマ概要
1 初心者がObservabilityの世界を探索してみた システムの状態を確認するための運用監視技術
2 初心者がChaos Engineeringの世界を探索してみた システムの回復性を確認するための障害注入技術

本記事はIT初級者の私が、CNCFのLandscapeに掲載されていたContinuous Optimizationツールについて調査した内容をまとめたものになります。

まずは前提知識をおさらいし、各ツールの紹介をした後に調査して気づいたことについてまとめます。

前提知識

「Continuous Optimization」というツール群はあまりなじみがなかったため、基本的なところから調べて整理してみました。
また、関連する考え方である「FinOps」についても調査しました。

Continuous Optimizationって何?

Continuous Optimizationとは、継続的にシステムをプロファイリングして最適化する技術のことです。

具体的には、性能・コスト・リソースなどを最適な状態に保たせます。

定義についてですが、明確なものを見つけられませんでした、、、
そのため、CNCF LandscapeのGitHub上のIssueに記載されていた内容を以下に記載します。
(調べても数学のほうの用語がでてきちゃいます....)

CNCF LandscapeのGitHub上のIssueコメント

クラウドネイティブのエコシステムには、(継続的な)プロファイリングにフォーカスしたプロジェクトや製品が数多く存在する。 これらはモニタリング、ロギング、トレーシングには当てはまらず、むしろ継続的なプロファイリングはこれらを補完する。
引用元:CNCF LandscapeのGitHub上のIssue

FinOpsって何?

FinOpsとは、クラウドリソースを「見える化」してビジネス価値を最大化するという文化・実践手法のことです。

Continuous Optimizationのツール群を調査していると、たびたび「FinOps」という用語に出会います
クラウド運用が当たり前になった今、このFinOpsは欠かせない考え方の一つです。
「Finance(財務)」と「DevOps(開発運用)」を組み合わせたこの用語は、クラウドコストの可視化と最適化を、エンジニア・運用・経理といった異なる立場のチームが連携して進めていく取り組みを指します。

以下にFinOps FoundationによるFinOpsの定義を示します。

FinOpsの定義

FinOps(フィンオプス)とは、クラウドやテクノロジーのビジネス価値を最大化するための運用フレームワークであり、文化的な実践です。エンジニアリング、財務、ビジネスの各チームが連携することで、財務面での責任を明確にし、タイムリーでデータに基づいた意思決定を可能にします。
引用元:What is FinOps?

Continuous Optimizationツールの紹介

ここから本題のツール紹介に入ります。現在、CNCFのLandscapeに掲載されているContinuous Optimizationツールは26ツールであり、他ツールと比較しても少ない部類です(2025年7月時点)。その中でもGitHubにソースコードを公開している5ツールについて紹介していきます。

調査対象ツール

  • OpenCost
  • Crane
  • Infracost
  • nOps
  • Karpenter

調査内容

  • 機能概要
  • 最新版バージョン
  • 初版リリース
  • CNCFによる成熟度の分類
  • ツール開発に使用している言語とその比率
  • ライセンス
  • Contributor数
  • GitHubリポジトリURL

調査方法

  • WEB上(公式ホームページ、GitHub等)

成熟度はCNCFの技術監査委員会に対して複数の組織からのコミットや健全な変更率を維持していることなどの持続可能性を示すことで高められます。
参考情報:CNCF Project Metrics

紹介するツールはこのブログ執筆時点(2025/7/28)のデータとなっています。

1. OpenCost

OpenCostはKubernetesの支出とリソース配分を可視化するツールです。

特徴

  • Kubernetes視点での粒度で監視
  • Prometheusと連携したリアルタイム監視
  • マルチクラウド対応
  • 商用版も存在(Kubecost)

ツール内で気になった用語

  • Kubecost:OpenCostの元になった、完成度の高い商用プロダクト
OpenCost
開発元 Apptio→Vista Equity Partners→IBM
最新版 v.1.115.0(2025年5月)
初版リリース 2019年
成熟度 INCUBATING
開発言語 Go(99.9%)
ライセンス Apache-2.0
Contributor数 132
GitHubリポジトリURL https://github.com/opencost/opencost

コメント

Continuous Optimizationの中で唯一成熟度がINCUBATINGであることから、信頼性が高く多くの企業やユーザに使用されていることが伺えます。

OpenCostは特にKubernetesに特化しているツールであり、Kubernetes環境におけるコストの見える化が簡単にできます。
他ツールとの連携もスムーズにできるため、FinOps入門にぴったりなツールです!

OpenCost、Kubecost Free、Kubecost Enterpriseの比較ページがありますので、気になった方は参考にしてみてください!
参考情報:OpenCost Product Comparison

また、登録や導入なしでOpenCostを体験できるデモ版がHPにて用意されています。
軽く触れてみたい方は以下をチェックしてみてください!
参考情報:OpenCost Demo

2. Crane

CraneはKubernetesスタック上でクラウドリソースを管理するツールです。

特徴

  • コストの可視化と最適化の手助け
  • クラウドリソースのレコメンデーション
  • 水平オートスケーリング
  • 負荷を考慮した効率的なスケジューリング
  • マルチクラウド対応
Crane
開発元 Tencent Cloud
最新版 v0.11.0(2023年7月)
初版リリース 2021年
成熟度 -
開発言語 Go(80.1%)、TypeScript(16.8%)
ライセンス Apache-2.0
Contributor数 56
GitHubリポジトリURL https://github.com/gocrane/crane

コメント

Craneはクラウド料金や利用状況を収集・分析し、Prometheusのような監視システムに送信することで可視化の手助けをすることができます。
クラウドだけではなく、Kubernetes上のPodの自動スケジューリングも可能となっています。

そのため、複数のクラウドをまたいだコスト管理をしたい方や、Kubernetesクラスタの自動配置したい方におすすめです!

しかし、最新の更新が2023年であることから、今後の発展は望めないかもしれません...

3. Infracost

Infracostはコード変更によるコスト変動を示す事前見積ツールです。

特徴

  • Terraformで書いたインフラ構成図(IaC)の見積もり
  • CI/CDとの統合でコスト差分を自動表示
  • マルチクラウド対応
  • 商用版も存在(ダッシュボード・APIアクセス・予算アラートなど)

ツール内で気になった用語

  • IaC(Infrastructure as Code):インフラの構成をコードで管理する方法
Infracost
開発元 Infracost
最新版 v0.10.42(2025年7月)
初版リリース 2020年
成熟度 -
開発言語 Go(98.3%)、Shell(1.4%)
ライセンス Apache-2.0
Contributor数 93
GitHubリポジトリURL https://github.com/infracost/infracost

コメント

Infracostを使用することで、IaCで記述したインフラ変更が実際にどのくらいのコスト増減をもたらすかを、デプロイ前に正確に把握することができます。これにより、予期せぬコストの急増や予算オーバーを防ぐことができます。
また、CI/CDパイプラインと連携することで、プルリクごとにコスト差分を自動で報告できるため、チーム全体でコスト変動を共有することができます。

Terraformを用いてIaCを書いている方はぜひ使ってみてください!

4. nOps(k8s-agent)

nOpsはKubernetesとAWSの最適化を支援するツールです。

特徴

  • Kubernetesクラスタからメタデータを収集
  • 収集したデータをS3バケットへ安全に転送
  • IPv6クラスタをサポートし、最新のネットワーク環境にも対応
  • NVIDIA GPUのメトリクス収集
  • 商用版が存在し、併用が必要(データ分析・コストとリソースの可視化)
nOps
開発元 nOps
最新版 v0.8.16(2024年7月)
初版リリース 2022年
成熟度 -
開発言語 Python(87.5%)、Shell(8.74%)
ライセンス -
Contributor数 5
GitHubリポジトリURL https://github.com/nops-io/nops-k8s-agent

コメント

nops-k8s-agentはnOps商用版と連携して動作するKubernetes用のエージェントであり、クラスタ内のメタデータやGPU利用状況を収集し、nOpsプラットフォームに送信する役割を担います。
nOpsプラットフォームでは、送信されたデータをもとに、クラウドコストの最適化、リソースの無駄検出などを行うことができます。

商用版と連携して初めて機能するため、nops-k8s-agent単体では完結したOSSツールとして動作しない点に注意が必要です。

5. Karpenter

KarpenterはKubernetesノードのオートスケーリングツールです。

特徴

  • 高速なスケーリングが可能
  • ノードのプロビジョニング
  • 最適なCPU・メモリのEC2インスタンスを自動選択可能
  • 不要なノードの自動停止
  • マルチクラウド対応
Karpenter
開発元 AWS
最新版 v1.6.1(2025年7月)
初版リリース 2022年
成熟度 -
開発言語 Go(98.7%)
ライセンス Apache-2.0
Contributor数 74
GitHubリポジトリURL https://github.com/kubernetes-sigs/karpenter

コメント

Karpenterは特にAWSと高い親和性を持ついオートスケーリングツールです。
従来のKubernetesクラスタスケーリングツールである「Cluster Autoscaler」よりも高速で柔軟なスケーリングが可能です。
これにより、Podのリソース要求に合わせて最適なインスタンスを即座にプロビジョニングし、無駄のないリソース利用を実現することができます!

EKSなどAWS環境でKubernetesクラスタを運用している方はぜひ使ってみてください!

まとめ

以上の5ツールについて調査してみました。

実際に調査してみて、想像以上に重要性の高いツールが多いと感じました。
特に印象的だったのは、OSSのみで完結しているツールは少なく、多くのツールが商用版と連携して利用されるケースが多いという点です。

また、どのツールもドキュメントが非常に充実しており、導入のハードルはそれほど高くなさそうだと感じました。

以下に、Continuous Optimizationの分類、近年の傾向を示します。

Continuous Optimizationの分類

Continuous Optimizationツールは、大きく4つのカテゴリ(2×2のマトリクス)に分類できます。下図では、今回調査した各ツールをそのマトリクス上に整理しています。

なお、これはあくまで主な特徴に基づいた分類であり、たとえばOpenCostもクラウドコストの管理に活用可能です。ツールによっては複数の領域をまたいで利用できる場合もあります。

業務上で使用する場合は、自社の運用フェーズや課題に合わせて、複数のツールを組み合わせて活用することが効果的な最適化につながると考えられます。
一方で、商用ツールであれば完成度が高く、サポートや連携機能も充実しているため、単一のツールで広範囲なニーズをカバーできます!

クラウド×リソース最適化に適したツールのほとんどは商用プロダクトやクラウド公式サービスとして提供されています。これはクラウドごとの仕様やAPIが複雑であるからだと考えられます。
そのため、今回の調査では該当するOSSは見つかりませんでした。

Continuous Optimizationツールの分類.png

近年の傾向

新規ツールの初版リリースは3年前(2022年)となっているため、新しいツールは最近登場していないことがわかります。
しかし、いくつかのツールでは最新版への更新を継続しており、機能追加やバグ修正、クラウド環境の変化への対応など、活発なメンテナンスが行われていることが確認できます。

特にクラウドコストとの可視化や最適化といった領域は、FinOpsの考え方の広がりとともに実運用の中でのニーズが着実に高まっています。この傾向は今後も続くと見られ、引き続き注目すべき分野です。

以上より、今後は新規ツールの登場よりも、既存ツールをどう組み合わせて活用するか、またはどのように進化させていくかがポイントになってくるかもしれません!

おわりに

今回はIT初級者の私が、CNCFのLandscapeに掲載されていたContinuous Optimizationツールについて調査し、その概要についてまとめてみました。

調査前はContinuous Optimizationという用語の定義があいまいであったこともあり、正直そこまで重要な分野ではないのでは?と思っていました。
.....なめてました。

実際に調べてみると、クラウド時代のインフラ運用において不可欠だと感じました!
特に「FinOps」という考え方は今後もさらに重要となっていくと思います。

クラウドコストやリソースの管理に困っている方の参考になっていれば幸いです。

最後までお読みいただき、ありがとうございました。

25
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?