FinOpsとは　クラウド利用のコスト最適化を本質的に考えるために知っておくべきワード

# はじめに
FinOpsという言葉をご存知でしょうか？

CCoEとして2023年のクラウド利用のコスト最適化について調べていたところ、FinOpsというワードに辿り着きました。

参考までにGoogle Trendsで「すべての国」を対象に、2018年から2022年までの期間で検索した結果が以下の通りです。

![スクリーンショット 2023-01-18 21.48.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221759/a55bbc2d-c442-481f-c7e9-30c5233ddabe.png)

後述するFinOps Foundationが設立されたのが2019年で、2022年以降に動向の変化が見られました。
対象を日本で絞ると動向の変化はなく、日本ではまだあまり注目されていないように見えますが、FinOpsについて興味を持ったのでまとめました。

組織でクラウド利用を見直したいという方々の参考になれば幸いです。

## FinOpsの必要性
Flexera社によって公開されている[FLEXERA™ 2022 State of the Cloud Report](https://info.flexera.com/CM-REPORT-State-of-the-Cloud)より、クラウドのコスト増加や、クラウドの使用を最適化することは**世界共通の課題**であることが分かります。

FinOpsを実現するためには、必然的にオンプレミスのシステム導入における減価償却する従来型のキャッシュフローから、クラウドを利用したコンサンプション型のキャッシュフローにシフトする必要があります。

またクラウドの価値を最大化するためには、前提としてクラウドインフラに関する知識だけでなく、本質的な思考を行うためのビジネススキルも必要です。

例えば、数字を正しく見るためには、**モノゴトを正しく見る目**を養うことが重要です。
Executiveに係る人からコスト最適化を命じられたからといって、場当たり的なコスト最適化の実行は、逆に遠回りです。

課題解決を始める前に、コスト管理の本質を理解しましょう。

### 前提
会社の経理の仕事は、会社の資産を管理してお金の流れを可視化することです。

基本は[簿記](https://ja.wikipedia.org/wiki/%E7%B0%BF%E8%A8%98)と言われる作業を行い、仕訳及び勘定科目を記録します。

例えば、AWSなどクラウドサービスの利用一つをとっても、仕訳として取引内容と金額を記録する作業が必要で、貸借対照表や損益計算書などを含めた決算書類の作成にも影響します。

ExecutiveやFinancialに係る人が興味があるのは、事前に決められた予算内に数字が収まっていることや、経費として処理される**コストの妥当性**です。

### 原価管理
[原価](https://ja.wikipedia.org/wiki/%E5%8E%9F%E4%BE%A1)の意味を考えてみましょう。

原価は、一般的には商品を仕入れる際にかかる費用のことを指していることが多いと思いますが、事業の業種や、業態によって扱いが変わってきます。

クラウド利用の原価管理も本質的には同じで、ひとつのサービス/プロダクトにどれだけのコストがかかっているかを知ることで、原価の無駄を把握することではないでしょうか。

ExecutiveやFinancialが、クラウド利用に毎月◯◯万円かかることに対して、何故それだけのコストがかかるのかエンジニアでなもない限り分からないと思います。

従って会社という組織の中でクラウド利用に関わらず、資産を消費することに対して**説明責任**があるのは当然です。

VUCAと言われるこの時代、パンデミック、戦争、為替など様々な不確実性は存在しますが、**見積りの精度を上げる**視点にシフトしましょう。

各クラウドサービスのベンダーは、クラウドサービスに関する利用料金を公開しています。
また見積りを行うために必要なツールを無料で提供しています。

|                  | AWS               | Azure              | GCP               | Oracle Cloud               |
|:-----------------|:------------------:|:-------------------:|:------------------:|:------------------:|
| **料金**              |[AWS 料金](https://aws.amazon.com/jp/pricing/)|[Azure の価格](https://azure.microsoft.com/ja-jp/pricing/)|[Google Cloud の料金](https://cloud.google.com/pricing/?hl=ja)|[OCIの価格設定](https://www.oracle.com/jp/cloud/pricing.html)|
| **料金計算ツール**     |[SIMPLE MONTHLY CALCULATOR](https://calculator.s3.amazonaws.com/index.html)|[料金計算ツール](https://azure.microsoft.com/ja-jp/pricing/calculator/)|[Google Cloud Pricing Calculator](https://cloud.google.com/products/calculator/?hl=ja)|[Cost Estimator](https://www.oracle.com/cloud/cost-estimator.html?source=:ad:pas:go:dg:RC_JPMK180516P00227:BASIC_IaaSPaaS_GSN_2)|
| **サポート**              |[AWS サポートのプラン比較](https://aws.amazon.com/jp/premiumsupport/signup/)|[サポート プランの比較](https://azure.microsoft.com/ja-jp/support/plans/)|[Cloud カスタマーケア](https://cloud.google.com/support/?hl=ja)|標準搭載（無料）|

## What is FinOps
**FinOps**は、FinOps Foundationという非営利団体（現在は[Linux Foundation](https://en.wikipedia.org/wiki/Linux_Foundation)に統合）によって提唱されている言葉です。

https://www.finops.org/introduction/what-is-finops/

以下は上記FinOps Foundationのサイトより、「Cloud FinOps Definition」からの引用です。

>FinOps is an evolving cloud financial management discipline and cultural practice that enables organizations to get maximum business value by helping engineering, finance, technology and business teams to collaborate on data-driven spending decisions.

FinOpsは組織がビジネスの価値を最大化できることを目的とし、クラウド財務管理の規律と文化的実践を行うために、エンジニアリング、財務、テクノロジー、ビジネスの各チームで協力することを実践するための**文化**だと述べています。

![FinOps.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221759/7ba3e9b4-2b6c-d4cf-63c4-28aa53c43069.png)

FinOpsの掲げている**プラクティス**は、クラウドアーキテクチャと投資決定に関する速度、コスト、品質とのトレードオフの集合です。

プラクティスには以下の種類があります。

- Cloud Financial Management
- Cloud Financial Engineering
- Cloud Cost Management
- Cloud Optimization
- Cloud Financial Optimization

:::note
クラウド支出に説明責任をもたらすことが、FinOpsの本質です。
:::

## Framework
FinOpsのFrameworkは、FinOpsの実践を確立し、成功させるための運用モデルを提供します。

[Framework Overview](https://www.finops.org/framework/)から概要が確認できます。
また以下のコア要素で構成されています。

- [FinOps Principles](https://www.finops.org/framework/principles/)
- [FinOps Personas](https://www.finops.org/framework/personas/)
- [FinOps Phases](https://www.finops.org/framework/phases/)
- [FinOps Maturity Model](https://www.finops.org/framework/maturity-model/)
- [FinOps Domains](https://www.finops.org/framework/domains/)
- [FinOps Capabilities](https://www.finops.org/framework/capabilities/)

Frameworkのポイントについて、以下に記載します。

### FinOps Principles
FinOps Principlesは、6本の柱で構成されています。

- Teams need to collaborate
- Everyone takes ownership for their cloud usage
- A centralized team drives FinOps
- Reports should be accessible and timely
- Decisions are driven by business value of cloud
- Take advantage of the variable cost model of the cloud.

2019年9月にCloudyConでAWSが共同で発表したCloud FinOpsブックの執筆の一環として提案されたようです。
これらは時間の経過と変わる可能性があり、全てを理解する必要があります。

https://www.finops.org/framework/principles/

### FinOps Personas
FinOps Personasは、以下の通りです。

- FinOps Practitioner
- Executives
- Business/Product Owner
- Engineering and Operations
- Finance
- Procurement

https://www.finops.org/framework/personas/

組織の規模によってペルソナは変わってくるため、自分の所属する組織におきかえて見るのが良いでしょう。

FinOps Practitionerは、CCoEなど横断組織で代替可能です。
CCoEについては以前書いた「[CCoEを一から構築する　AWSのセキュリティ・ガバナンス・コスト最適化を実現するためのクラウドジャーニー](https://qiita.com/Brutus/items/4d83ab3cc77c099ca65b)」をご参照ください。

以下はGoogle Cloudで公開されている[FinOps の導入と実装](https://cloud.google.com/architecture/framework/cost-optimization/finops?hl=ja)からの引用です。

>一般的なモデルは、中心の FinOps チームまたは Cloud Center of Excellence（CCoE）が、すべてのクラウド ワークロードの費用を最適化するためのプロセスを標準化する場合です。このモデルは、中心チームが、効率性向上に寄与する価値の高い機会を特定するのに必要な知識と専門知識を持っていることを前提としています。

### FinOps Phases
FinOps Phasesは、以下3つの反復フェーズで構成されます。

- Inform
- Optimize
- Operate

https://www.finops.org/framework/phases/

FinOpsを意識していなくても、既に実施しているプロセスはあるのではないでしょうか。

### FinOps Maturity Model
FinOpsは繰り返すことでプロセス、成熟度、ドメイン及び機能などを改善します。

https://www.finops.org/framework/maturity-model/

:::note
組織の成熟度に応じて、予測支出と実際の支出の精度差異が小さくなるのが理想です。
:::

### FinOps Domains
FinOps Domainsは、活動領域を表します。

https://www.finops.org/framework/domains/

### FinOps Capabilities
FinOps Capabilitiesは、FinOps Domainsを細分化した機能群です。

https://www.finops.org/framework/capabilities/

# おわりに
FinOpsは銀の弾丸ではありません。

DevOpsと同じく、構築したら終わりではないため、繰り返しの反復が重要です。

[FinOps Certified Practitioner (FOCP)](https://training.linuxfoundation.org/ja/certification/certified-finops/)という資格も存在するようなので、FinOpsが今後必要なスキルとして注目されているのが分かります。

## 参考
### 概要
- [FinOpsの概要](https://www.ibm.com/jp-ja/topics/finops)

### AWS
- [Tag: FinOps](https://aws.amazon.com/jp/blogs/aws-cloud-financial-management/tag/finops/)

### GCP
- [Cloud FinOps とは](https://cloud.google.com/learn/what-is-finops?hl=ja)
- [FinOps の導入と実装](https://cloud.google.com/architecture/framework/cost-optimization/finops?hl=ja)

### 他社事例
- [FinOpsへの取組 エンジニア組織の意識を変えた「データストーリーテリングに基づいたコスト可視化」](https://engineering.mercari.com/blog/entry/20221205-02701ed73d/)