💰
Managing Cloud Computing Costs with FinOps
IaC に取り組み始めて数ヶ月。
engineer が予想以上に適応していると思う。
嬉しい驚きだった。
Shift-left の重要性を再認識した。例えば、後になって IaC にするのは import の手間もある。
一方で、コストについて意識を高めすぎるのも危険。本質は価値の提供。繊細なコミュニケーションが必要。
改めて 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 が形になったら文字おこししたい。
-
https://cloud.google.com/recommender/docs/overview?hl=ja ↩︎ ↩︎
-
https://cloud.google.com/recommender/docs/quickstart-recommendation-hub?hl=ja ↩︎
-
https://cloud.google.com/billing/docs/how-to/export-data-bigquery?hl=ja ↩︎
-
https://cloud.google.com/bigquery/docs/connected-sheets?hl=ja ↩︎
-
https://cloud.google.com/billing/docs/how-to/budgets?hl=ja ↩︎
Discussion