ITの教科書検索
入門読了 約11分

FinOpsとは ― クラウド費用の見える化と最適化

FinOpsは、開発・財務・事業が一緒にクラウド費用を管理する取り組みです。請求が増えた原因の探し方、タグでの配分、削減の定番、1件あたりの費用の見方が分かります。

目次
  1. FinOpsとは
  2. 費用が想定を超える理由
  3. 3つの段階
  4. フレームワークの原則と関わる人
  5. タグで費用を配分する
  6. 費用を削減する定番の方法
  7. 総額ではなく1件あたりの費用で見る
  8. 小さく始める手順
  9. 練習問題

FinOpsとは、開発・財務・事業の部門が一緒にクラウド費用を管理する取り組み

月末のクラウドの請求が前月の倍になり、どのチームの何が増えたのか誰も説明できません。FinOpsは、こうした状態をなくすための取り組みです。開発・財務・事業の部門が同じ費用のデータを見て、どこにいくら使うかを一緒に決めます。

目的は、費用を減らすことそのものではありません。注文が伸びて請求が増えたのなら、減らさないほうが正しいこともあります。使った費用に見合う価値が出ているかを判断できる状態にするのが目的です。

FinOpsは、FinanceとDevOpsを合わせた語です。FinOps Foundationは、技術の事業価値を最大化する運用の枠組みであり、組織の文化でもあると定義しています。対象もクラウドだけでなく、SaaSやAI、データセンターの費用に広がっています。

TCOは導入前に案を比べるときの考え方で、FinOpsは使い始めた後の費用を毎月管理するやり方です。請求が増える理由、原因の探し方、減らす方法、小さな始め方の順に説明します。

クラウド費用が想定を超える理由は、従量課金と、作る人の多さと、請求の細かさ

オンプレミスでは、機器を買う前に見積もりを出し、財務が金額を確かめます。クラウドでは、開発者が画面から数分でサーバを作れます。財務が金額を知るのは、使った後に届く請求を見たときです。

オンプレミス見積もりを申請財務が金額を確認機器を買う使い始める提出発注設置使う前に金額が分かるクラウド開発者が作る使い始める請求が届く財務が金額を確認数分月末開く使った後に金額が分かるオンプレミス見積もりを申請財務が金額を確認機器を買う使い始める提出発注設置使う前に確認クラウド開発者が作る使い始める請求が届く財務が金額を確認数分月末開く使った後に確認
オンプレミスでは、財務が使い始める前に金額を確認します。クラウドでは、金額を確認できるのは使った後の請求が届いてからです。

1つ目の理由は、クラウドの従量課金です。使った分だけ払うので、止め忘れたサーバの分も、増えた通信の分も、そのまま翌月の請求に出ます。

2つ目は、資源を作る人が多いことです。購入の手続きが要らないので、費用を決める人が開発の現場に広がります。検証用に作ったサーバが、誰にも気づかれずに動き続けることもあります。

3つ目は、請求が細かいことです。サーバ・ディスク・通信ごとに行が分かれ、行を見ただけでは誰が使った費用か分かりません。料金の形は事業者ごとに違い、AWSの例はAWSの料金の記事で確かめられます。

FinOpsの3つの段階は、見える化・最適化・運用

FinOpsは、3つの段階を繰り返して進めます。FinOps Foundationの呼び方では、Inform、Optimize、Operateです。

FinOpsの3つの段階と、請求が倍になったときの例
段階やること請求が倍になった例
見える化(Inform)費用と使用量を集め、誰の費用かを振り分ける検証環境の費用が増えたと分かる
最適化(Optimize)減らせる箇所を探し、効果の大きい順に並べる夜間に止める案を第一候補にする
運用(Operate)担当者が改善を実行し、続く仕組みにする夜間に自動で止める設定を入れる
見える化Inform費用を集めるタグで振り分ける最適化Optimize減らせる箇所を探す効果の順に並べる運用Operate担当者が実行する続く仕組みにする原因改善案翌月の請求で効果を確認見える化Inform費用を集めるタグで振り分ける最適化Optimize減らせる箇所を探す効果の順に並べる運用Operate担当者が実行する続く仕組みにする原因改善案翌月の請求で効果を確認
見える化で分かった原因から改善案を作り、運用で実行します。翌月の請求で効果を確かめて、また見える化に戻ります。

1周で終わりではありません。クラウドの構成も使い方も毎月変わるので、翌月の請求で効果を確かめて、また見える化に戻ります。FinOps Foundationは、この3つをすばやく繰り返すことを勧めています。チームの中で、人ごとに違う段階の作業をしていても構いません。

FinOpsフレームワークの6つの原則と、関わる人

FinOps Foundationは、ここまでの進め方をFinOpsフレームワークとして公開しています。原則・関わる人・段階・成熟度に加えて、やるべき作業を領域ごとに整理したものです。原則は6つあり、順番はありません。

6つの原則と、現場で変わること

FinOpsの6つの原則の要約と、現場で変わること
原則現場で変わること
チームが協力する財務・開発・事業が同じ数字を見て話す
事業の価値で判断する総額より1件あたりの費用や価値の指標で、費用と品質と速さを比べる
全員が自分の利用に責任を持つ開発者が設計の段階から費用を考える
データは入手しやすく、早く、正確に月末を待たず、費用をすぐ確かめられる
中央のチームが推進する進め方の共有や割引の管理を1か所でまとめる
クラウドの変動費を生かす需要に合わせて買い方と量を変える

財務と開発だけでなく、調達と経営層も関わる

FinOps Foundationは、中心となる人を6種類に分けています。FinOpsは1人の担当者の仕事ではなく、それぞれの立場の人の働き方を変える取り組みです。

FinOpsに関わる6種類の人と、やること
関わる人やること
FinOps担当データを整え、部門の間をつなぐ
エンジニア使用量を減らす改善を実行する
財務予算と予測を立て、会計に反映する
事業の担当製品が費用に見合う価値を出しているかを判断する
調達事業者と契約や割引を交渉する
経営層費用と成長のどちらを優先するかを決める

見える化はタグで費用を配分し、誰の費用かを決めることから始める

請求を見えるようにするとは、1行ごとに持ち主を決めることです。チームや製品ごとにアカウントやプロジェクトを分けるだけでも、大まかな内訳は分かります。もっと細かく分けるときに使うのがタグです。

タグは、リソースに付けるキーと値の組です。事業者によってはラベルと呼びます。次の表は、架空の請求100万円に、チームを表すteamと環境を表すenvのタグを付けた例です。

架空の請求100万円の行に、タグの値を並べた例
請求の行teamenv金額
サーバ web-01shopprod50万円
サーバ dev-01shopdev28万円
ディスク vol-17なしなし12万円
ストレージと通信shopprod10万円

この例では、開発環境の28万円がshopチームの費用だと分かります。持ち主のいないディスクの12万円は、誰にも止められないまま請求に載り続けます。タグのない費用は、誰も減らせない費用です。

タグは、後から付けて回るより、リソースを作るときに必須にするほうが漏れません。IaCで環境を作っていれば、タグもコードに書いておけます。

共有費用は、分け方を先に決める

サポート料金や共通のネットワークのように、複数のチームで使う費用は1つのチームに結び付きません。使用量の比率で分けるのか、均等に分けるのかを先に決めておきます。最初は無理に分けず、中央の予算でまとめて持つと決める組織も多くあります。

ショーバックとチャージバックの違い

配分した費用の使い方は2つあります。費用を各チームに見せるだけのやり方がショーバックで、部門の予算に正式に計上するやり方がチャージバックです。

ショーバックとチャージバックの違い
観点ショーバックチャージバック
すること費用をチームに見せる費用を部門の予算に計上する
会計への計上しないする
使う場面チームに費用を意識してもらうとき会計の方針で部門ごとに負担を分けるとき

FinOps Foundationは、どちらが成熟しているとも考えないとしています。チャージバックがすべての組織に必要なわけでもありません。

月末を待たずに、異常な増え方に気づく

請求だけを見ていると、気づくのは月末です。そこで、ふだんの費用から大きく外れた増え方を検知して、担当者に通知します。タグがあれば、増えた費用の持ち主がすぐに分かり、誰に確かめればよいかで迷いません。

マルチクラウドでは、事業者ごとに請求データの形が違うことも問題になります。FOCUSは、この形をそろえるためにFinOps Foundationが進めている公開の仕様です。

クラウド費用を削減する定番の方法は、使用量を減らすことと単価を下げること

クラウドの費用は、使用量と単価の掛け算で決まります。減らす方法も、この2つのどちらかを変えるものに分かれます。

クラウド費用を減らす定番の方法と、変えるもの
方法変えるもの気をつけること
未使用のリソースの整理使用量消す前に持ち主に確かめる
サイズの見直し使用量混む時間帯の余裕を確かめる
スケジュール停止使用量止めても困らない環境に絞る
割引の約束単価約束した分は使わなくても払う
余った資源の利用単価途中で止められてもよい処理に使う

使用量を減らす:整理・サイズの見直し・スケジュール停止

最初に手を付けやすいのは、どのサーバにもつながっていないディスクのような未使用のリソースです。次がサイズの見直しです。性能に余裕があるかはCPU使用率などのメトリクスで確かめ、SLOを守れる範囲で小さくします。

開発環境は、夜間と休日に止めるだけで大きく減ります。平日に12時間だけ動かすと、週168時間のうち60時間で済むからです。本番のように負荷が変わる環境では、需要に合わせて台数を自動で増減するオートスケールが同じ働きをします。

単価を下げる:割引の約束と、余った資源の利用

割引の約束は、1年や3年の利用を約束する代わりに単価を下げてもらう買い方です。コミットメント割引とも呼びます。約束の対象は、特定の資源の場合と、利用額の場合があります。

この割引はクーポンに近いもので、資源を買うわけではありません。使う資源が約束と合わなくなっても、約束した分は払い続けます。そのため、ずっと動かし続ける資源に使います。

余った資源を割安に使うやり方もあります。多くの事業者が、これをスポットと呼びます。事業者が資源を回収すると処理が止まるので、途中で止まってもやり直せる処理に向きます。夜間の集計や動画の変換が、その例です。

施策を組み合わせると、効果は足し算にならない

次の部品で、架空の月100万円の請求に4つの施策を組み合わせられます。割引は3割引きとし、開発環境は平日12時間だけ動かします。本番サーバのサイズの見直しでは、費用が8割になるものとします。

施策を押すと、架空の月100万円の請求がいくらになるかが変わります。もう一度押すと外せます。
月の請求は100万円
本番サーバ
50万円
開発環境サーバ
28万円
未使用のディスク
12万円
ストレージと通信
10万円
施策を選ぶと、請求の内訳が変わります。

4つすべてを選ぶと、請求は48万円になります。別々に見積もった削減額を足すと55万円ですが、実際の削減は52万円です。本番のサイズを下げると割引の対象も10万円減るので、その3割の3万円を二重に数えていたことになります。

順番でも差が出ます。先に本番の50万円分を約束すると、支払いは月35万円です。後からサイズを下げても約束した額が残るので、先に8割へ下げてから約束した場合の28万円より月7万円高くなります。

だからといって、減らし終えるまで約束を待つのも得策ではありません。FinOps Foundationは、待つとほとんどの場合で多く払うことになると注意しています。これからも確実に使う量の分だけを先に約束します。

総額ではなく注文1件あたりの費用で見る

総額だけを見ていると、事業が伸びて増えた費用と、無駄で増えた費用を区別できません。そこで、費用を注文数のような事業の量で割って見ます。FinOpsではユニットエコノミクスと呼び、注文1件あたりや利用者1人あたりの費用がその例です。

請求の総額100万円1月120万円2月150万円3月180万円4月注文1件あたりの費用10円1月8円2月7.5円3月9円4月請求の総額100万円1月120万円2月150万円3月180万円4月注文1件あたりの費用10円1月8円2月7.5円3月9円4月
総額は毎月増えていますが、1件あたりの費用が上がったのは4月だけです。金額と件数は説明のための架空の例です。

注文は1月から順に10万件、15万件、20万件、20万件と増えた例です。2月と3月は請求が増えていますが、1件あたりの費用は下がっているので、減らす理由はありません。4月は注文が増えていないのに請求が30万円増え、1件あたりも7.5円から9円に上がりました。調べるべきなのは4月です。

割る量は、事業の担当者がふだん見ている数字から選びます。財務も開発も同じ数字を見られるようになり、請求の話が事業の話としてできるようになります。

FinOpsを小さく始める手順

最初から専用のチームやツールをそろえる必要はありません。次の順に、できるところから始めます。

  1. 先月の請求を、サービス別とアカウント別に分けて、金額の大きい順に並べます。
  2. 上位の費用それぞれに、持ち主のチームを決めます。
  3. teamとenvのような少数のタグを決め、新しいリソースでは必須にします。
  4. 未使用のリソースの整理など、すぐ減らせるものから実行します。
  5. 予算を決めて、超えそうなときに通知が届くようにします。
  6. 月に1回、開発と財務で集まり、前月の改善の効果を請求で確かめます。

FinOps Foundationは、取り組みの進み具合をCrawl、Walk、Runの3段階で表しています。すべての作業をRunまで上げることが目標ではありません。事業への効果が大きい作業から、段階を上げていきます。

成熟度の3段階と、FinOps Foundationが示す目標の例
段階状態費用の持ち主が分かる割合の例
Crawl報告もツールも少なく、取り組みやすい課題から手を付ける70%以上
Walk組織で理解され、作業の大半を自動化や手順で回している85%以上
Runすべてのチームが実践し、自動化を優先している90%超

参考にした資料

練習問題(全5問)

Q1FinOpsの説明として、最も適切なものはどれ?
Q2FinOpsの3つの段階の組み合わせとして、正しいものはどれ?
Q3ショーバックとチャージバックの違いとして、正しいものはどれ?
Q4月額50万円の本番サーバを8割のサイズに下げ、そのうえで単価を3割下げる割引を約束した。月額はいくら?
Q5請求が1か月で150万円から180万円に増え、注文数は20万件のまま変わらなかった。注文1件あたりの費用はどう変わった?

選んでから「採点する」を押すと、解説つきで答え合わせができます。

関連記事

クラウドの記事を続けて読む

クラウド 全36本中3本目