The Source プラットフォームとインフラストラクチャ
記事

FinOps:財務責任とイノベーションをバランスよく実現

FinOpsがどのように財務責任とビジネス目標を調和させ、現代企業において費用対効果の高いイノベーションを促進するかをご説明します。

November 26, 2024 5分で読めます
Lee Faus
Lee Faus Global Field CTO

エンジニアリングチームとともにクラウドへの支出が増加すると、出荷時期を早めるようデベロッパーに催促するか、増大するコストを抑えるかという厳しいトレードオフがしばしば発生します。では、プロジェクトコストを25%削減しつつ、デベロッパーの生産性を30%向上させることは可能でしょうか?これは不可能に思えるかもしれませんが、FinOps(財務オペレーション)を導入している企業にとっては現実的な目標です。FinOpsとは、ソフトウェア開発ライフサイクル全体にDevOpsの原則と手法を適用することで、人、プロセス、テクノロジー関連のコストを最適化するデータドリブンアプローチです。

これまで、FinOpsの導入によってソフトウェア開発のあらゆる側面に財務上の透明性がもたらされることで、組織が変わっていく様子を実際に見てきました。先日、FinOpsを採用したばかりの保険会社のDevOpsチームと話しました。初期段階で話し合った内容は、クラウドへの支出などの基本的な測定方法の決定や、バリューストリーム管理による収益促進、コスト削減に関するその他のメトリクスの特定などについてです。FinOpsプラクティショナーにとって、このような話し合いは、チームとリソースの編成と割り当てを評価し、どのようなプロセスとツールを導入すれば変化を促進できるかを検討する上で非常に重要です。

チーム構造から開発プロセス、テクノロジーの選択まで可視化することで、リーダーがオペレーション全体にわたって投資を最適化しやすくなります。FinOpsは、財務チーム、製品チーム、エンジニアリングチームをまとめることで、CFOやCPO、CTOが情報に基づいた意思決定を行えるようにし、ビジネス全体の効率を向上させます。

効率性の向上およびコストの最適化は、技術的な課題であるだけでなく、特に組織がクラウドにより多くの投資を行う今、企業にとって戦略面でも重要な課題となっています。FinOpsによって、クラウドの変動費モデルに必要な財務責任を確保できます。FinOpsのメリットと、運用ワークフローにFinOps手法を取り入れる方法を見ていきましょう。

FinOpsとは?

FinOpsは、Financial Operations(財務オペレーション)の略で、財務、エンジニアリング、テクノロジー、ビジネスの各チームの運営方法を変革することで成功をもたらす手法です。リアルタイムのデータと分析を通じて、チームはクラウドへの支出を即座に可視化し、コストが増大する前に対応できます。このように財務責任に対して積極的なアプローチを取ることで、リソースの割り当てについて情報に基づいた迅速な意思決定を行うことができ、結果として測定可能なコスト削減を実現できます。

FinOpsは根本的には、このような変革を持続可能にする文化的慣習です。明確なプロセスと共通のメトリクスを確立することで、各チームが日々行うテクノロジーに関する意思決定が、企業のビジネス目標の達成に貢献できるようになります。

今FinOpsが人気な理由

多くの企業が生成AIとデベロッパーの生産性に重点的に取り組む中、推奨される方法を確実に採用できるように、デリバリーにおいて自動化されたワークフローや再利用可能なテンプレートなどのガードレールが必要となっています。これは、アプリケーションをモダナイズし、本番環境でもクラウドアーキテクチャを使用する組織にとって今や不可欠です。

継続的インテグレーション(CI)コストのような非生産的コストを管理する場合、さらに難しい課題に直面します。企業がデータドリブンアプローチを採用している場合、CIコストをより深く可視化できます。CIの水平展開または垂直展開が、フィードバックサイクルとさまざまなプロセッサアーキテクチャのコストの両方にどのような影響をもたらすかを正確に把握できます。一時的なテスト環境などの標準を実装することで、支出を最適化しつつ、コード品質とセキュリティを実現することが可能になります。

通常、製品ラインの予算の責任者であるプロダクトオーナーが、ITチームやエンジニアリングリーダーと協力して、透明性に関するメトリクスを提供することもできます。このような協力関係を通じて、リーダーは複数のサービスにわたる予算予測をまとめ、インフラストラクチャリソースが最適な状態で活用されるようにすることができます。その結果、財務チームが、最終的に最も投資効果の高いアプリケーションを把握できるようになります。

技術領域と財務領域の橋渡し

FinOpsモデルを構築する際は、場合によってアメとムチの手法が両方とも必要になります。アメの手法を取り入れることで、より協調的で透明性の高い環境が構築されます。一方、大抵の場合、ムチの手法(予算を超過した開発チームへの厳重注意など)を取り入れると、プロセスが破綻することになります。FinOpsによって、デベロッパーのクラウドリソースの利用をモニタリングするだけでなく、デベロッパーの業務に必要なものと、それが会社の収益にどのような影響を及ぼしているかを把握できるようにする必要があります。

最近、年間500万ドル近くをCI Runnerフリートに費やしている大手航空会社の担当者と話をしました。この航空会社では、セキュリティスキャン、依存関係スキャン、トークンスキャンをすべてRunnerフリート内で実行していました。支出を削減するために、セキュリティ措置を取らないことも可能でしたが、Runnerフリートに費やすコストよりもセキュリティ問題が発生する可能性をより一層懸念していました。同社は、セキュリティ措置をスキップすることなく、支出の削減に加え、デベロッパーによる実験とイノベーションを促進するために、Runnerフリート全体の効率化を実現する方法を見つける必要がありました。

FinOpsプログラムを成功させるために、FinOps専門家の専任チームを常時置く必要はありません。FinOpsは、財務、製品、エンジニアリングなど、機能横断型チーム間の戦略的に結びつける役割を担います。FinOpsプログラムには通常、CTOやエンジニアリング部門副社長、財務リーダー、定期的に連携して問題の評価を行い、新たな効率化の機会を特定し、修正計画を策定する1人以上のエンジニアリングリーダーなど、さまざまな職務と部門が関与します。

財務目標に沿って技術的な運用を行うことで、クラウドインフラストラクチャとソフトウェア開発への投資対効果が最大化されます。これによって、DevSecOpsチームは、自分たちの業務がどのように収益の増加に直接つながり、どのようにコストを削減できるか、またはその両方を把握できます。

デベロッパーのワークフロー内でスマートな財務管理を実現

FinOpsでは、ユーザーと運用の両方の観点からリソースの消費をモニタリングすることで、デベロッパーのワークフローを最適化できるようにします。そのための方法には、CIジョブを分析し、価値を正当化できる以上にコストがかかるジョブを特定することなどが考えられます。各ソフトウェア開発パイプラインには複数のジョブが含まれ、それぞれ仮想マシン(VM)やコンテナなどの実行リソースが必要となります。各ジョブの実行にかかる時間が長くなるほど、コストも高くなります。FinOpsを実践することで、デベロッパーがどのジョブのパフォーマンスが低いかを確認して、リファクタリングする必要があるジョブを把握できます。

これにより、セルフサービスモデルが構築されるため、DevSecOpsチームが明確なガイドラインに従って作業できるようになります。たとえば、ポリシーによってAWS上で10万ドル相当のリソースをプロビジョニングすることは禁じられているとしても、テスト実施の目的でEC2イメージをスピンアップすることは可能な場合もあります。しかしながら、10万ドル相当のリソースをプロビジョニングする必要がある理由を正当化できる場合は、リクエストを提出して、そのプロジェクトによって会社にどれだけの収益を生み出せる可能性があるかを説明できます。リクエストが承認されれば、作業を開始できます。

一方、DevOpsの担当者には、FinOpsはモニタリングによってイノベーションを制限するものではないことをあらためてお伝えしたいと思います。そうではなく、組織におけるクラウドの使用とコストを完全に可視化することで、チームがクラウドの生産性を高める機会を特定できるようにするものです。FinOpsを実践することで、財務、テクノロジー、ビジネスの各チーム間のコラボレーションが促進されるだけでなく、使用パターンを分析し、需要を予測できます。これにより、予算超過が発生する前に、将来のニーズに合わせてリソースの増減が必要かどうかを事前に予測することが可能です。

緊張の緩和

エンジニアリングチームと運用チームの間には、常に攻防が繰り広げられています。エンジニアリングチームの使命は、顧客に素晴らしい体験を提供できるようにしつつ、新たな収益源をもたらすイノベーションを推進することです。一方、運用チームは、コストを削減しながら生産性を最大化することに重点を置いています。FinOpsは、クラウドへの支出を削減しながらデベロッパーの生産性を向上させることで、これらのチーム間の緊張を緩和し、技術面での効率性と財務上の慎重さを両立できるようにします。

FinOpsを実践することで、DevSecOpsチームは主観的なコストではなく、正確な数値をもとに考えられるようになります。プロジェクトによって収益が増えるか、コストが削減されるかという2つの重要な基準に基づき、プロジェクトの継続について十分な情報をもとに決定を下すためには、組織に対する財務的影響を明確に理解した上でソフトウェア開発に取り組むことが不可欠です。

根本的にFinOpsは、コスト削減を実現するだけでなく、ソフトウェア開発ライフサイクル全体を最適化する手法でもあります。FinOpsの目標は、エンジニアチームや運用チームが技術革新とともに財務上の効率性を考慮し、各自の業務が組織の収益向上にどのように結びつくかを把握できるようにすることです。

FinOpsの詳細については、FinOps Foundationウェブサイトをご覧ください。

ソフトウェア開発の変革

GitLab Ultimateによってどのようにコストの最小化、パフォーマンスの最大化、組織の成長目標の促進を実現できるかについては、Forrester Consultingに委託した2024年の『Total Economic Impact™』調査の結果をご確認ください。

今すぐ調査レポートの全文をダウンロード

主要なポイント
  • FinOpsは、財務、エンジニアリング、ビジネスの各チーム間のコラボレーションを促進し、戦略的なビジネス目標に合わせてクラウドへの投資を調整することで、最大限の価値を引き出します。
  • FinOpsにより財務面での透明性が高まることで、組織はデータに基づいて迅速な意思決定を行えるようになり、クラウドへの支出が最適化されます。
  • FinOpsを導入することで、イノベーションとコスト管理のバランスが取れ、製品開発チームと運用チーム間の緊張が緩和されます。