💰

Managing Cloud Computing Costs with FinOps

2024/01/16に公開

IaC に取り組み始めて数ヶ月。

engineer が予想以上に適応していると思う。

嬉しい驚きだった。

Shift-left の重要性を再認識した。例えば、後になって IaC にするのは import の手間もある。

一方で、コストについて意識を高めすぎるのも危険。本質は価値の提供。繊細なコミュニケーションが必要。

改めて FinOps の主要構成要素について自分が出来ていることをまとめる。

https://cloud.google.com/learn/what-is-finops

tl;dr

  • FinOps のためのサービスは Google Cloud から提供されている。
  • Google の提唱する FinOps 主要構成要素の 50 %くらいは着手できている。残りの 50 %を進めるため、ステークホルダーとのコミュニケーション強化が必要。

Five key

No. Key Status
1 Accountability and enablement todo
2 Measurement and realization in progress
3 Cost optimization in progress
4 Planning and forecasting todo
5 Tools and accelerators in progress

"Measurement and realization"

  • 今後、利用状況を詳細に把握することが必要になると思う。現状 single tenant で dev stg prod を運用しているため、GKE の Cluster も増えている。
Item Status
既存のコストの把握 label と tag 付け Terraform の review 項目とする todo

"Cost optimization"

  • Infracost[1] は traffic や schedule に依存する resource は HCL から算出できない。pricing calculator[2] が必要。
  • 構成図は Pluralith[3] で運用できそう。draw.io は設計時に使い、設計が固まったら HCL -> Pluralith という形で進める。
  • Recommender API を使用した管理は未着手。project 横断的にデータを取得する仕組みを考えたい。
  • Terraform(HCL)への移行と導入は進められそう。一方で HCL を維持してく施策が必要。具体的には console での maintenance による差分の管理が問題になる。driftctl[4] の運用を検討する。
Item Status
Resource optimization snapshot の rotation Terraform の review 項目とする todo
^ idle 状態の instance/node の停止 Recommender[5] の活用 todo
^ over spec の database instance Recommender[5:1] の活用 todo
Pricing optimization 構成変更によるコストへの影響の管理 Infracost[1:1] in progress
^ 推奨事項の適用 Recommendation Hub[6] todo
^ 確定利用割引の適用 in progress
Architecture optimization 視覚的な設計の管理 Pluralith[3:1] in progress

"Tools and accelerators"

  • dashboard について今のところ組織的に利用されていない。利用料が今後膨らんでくると必要性が高まると思う。
Item Status
Deploying Google Cloud cost-management tools to analyze real-time billing and cost data Export Cloud Billing data to BigQuery[7] done
Developing a reporting dashboard to manage cloud spend and value tracking 組織・project 毎に集計された Billing data の Connected Sheets[8] の提供 経理部門との連携 done
Implementing automation scripts to set account guardrails and budget alerts Budget alerts[9] done

BTW

これを書いているのは Aya[10] に苦戦しているから。

「パフォーマンス計測の実装でも」と軽い気持ちで始めたが、、eBPF と Rust は動かすのさえも一苦労。

eBPF が形になったら文字おこししたい。

脚注
  1. https://www.infracost.io/ ↩︎ ↩︎

  2. https://cloud.google.com/products/calculator?hl=ja ↩︎

  3. https://www.pluralith.com/ ↩︎ ↩︎

  4. https://docs.driftctl.com/0.40.0 ↩︎

  5. https://cloud.google.com/recommender/docs/overview?hl=ja ↩︎ ↩︎

  6. https://cloud.google.com/recommender/docs/quickstart-recommendation-hub?hl=ja ↩︎

  7. https://cloud.google.com/billing/docs/how-to/export-data-bigquery?hl=ja ↩︎

  8. https://cloud.google.com/bigquery/docs/connected-sheets?hl=ja ↩︎

  9. https://cloud.google.com/billing/docs/how-to/budgets?hl=ja ↩︎

  10. https://aya-rs.dev/ ↩︎

GitHubで編集を提案

Discussion