Upgrade to Pro — share decks privately, control downloads, hide ads and more …

分散型と集中型で切り開くクラウドコスト最適化: リクルート横断プロダクトCroisのFinOps実践

分散型と集中型で切り開くクラウドコスト最適化: リクルート横断プロダクトCroisのFinOps実践

2025/06/28に、FinOps X Day Tokyo 2025で発表した、大澤と茅原の資料です。

Avatar for Recruit

Recruit PRO

July 24, 2025
Tweet

More Decks by Recruit

Other Decks in Technology

Transcript

  1. © Recruit Co., Ltd. All Rights 2 1. リクルートとは 2.

    データ利活用と横断プロダクト 3. 横断プロダクトにおけるFinOpsの必要性 4. CroisにおけるFinOpsの実践 1. CroisにおけるFinOpsの課題 2. FinOpsを支えるデータ基盤 3. 分散型の取り組み 4. 集中型の取り組み 5. まとめ Agenda
  2. © Recruit Co., Ltd. All Rights 3 3 データ推進室 データプロダクトマネジメント1部

    DPRE2G グループマネージャー 2020-2022 リクルートにキャリア入社 複数の横断プロダクト(Sugar, Crois, Knileなど)の プロダクトマネージャを担当 2023- Coris, Knileが所属するデータプロダクトエンジニアリング 2グループ(DPRE2G)のグループマネージャーに従事 大澤 恭平 Osawa Kyohei Profile 経歴 所属
  3. © Recruit Co., Ltd. All Rights 5 株式会社リクルートについて MMT SBU

    HRテクノロジーSBU 人材派遣SBU 国内派遣 海外派遣 選択・意思決定を支援する情報サービスを提供し、 「まだ、ここにない、出会い。より速く、シンプルに、もっと近くに。」を実現する ※一部サービスのみを記載
  4. © Recruit Co., Ltd. All Rights 6 リクルートのビジネスモデルについて ユーザーとクライアントを新しい接点で結び、 「まだ、ここにない、出会い。より速く、シンプルに、もっと近くに。」の場を創造する

    リクルート マッチングプラットフ ォーム クライアントとユーザーを結びつける 対価としてクライアントからフィーを受領 ユーザー クライアント • リクルートにはユーザーとクライアントという2つのお客様が存在 • 「企業と人(B to C)」 「企業と企業(B to B)」 「人と人(C to C)」のすべての間に立ち、双 方にとって最適なマッチングを図る「場」を提供
  5. © Recruit Co., Ltd. All Rights 7 リクルートにおけるデータ活用事例 複数領域でデータ活用施策が実施されており、下記はその一例。 ユーザー向けの施策、クライアント向けの施策など、施策種別も多種多様。

    機械学習モデル予測値を用いて、新ジャンルの予約 数と配信に伴う利用金額を予測。ギフト券配信の予 算の制約がある中、新ジャンルの利用者数を全ての ジャンルにおいて増やす、最適な配信を実現。 『Airレジ オーダー』から定常取得される業務データ を活用することで提供遅れ時間の最小化を実現し、 調理遅れの件数を削減。 プロダクト利用者の 57% が「旅行代理店のような接 客力を感じられた」と回答し、チャット接客の有用 性を実証。 [引用] データ推進室 事例紹介 | 株式会社リクルート キャリア採用特設ページ
  6. © Recruit Co., Ltd. All Rights 9 各事業でのデータ利活用と「横断プロダクト」 横断プロダクト X

    各事業 事業 A データ組織 事業 B データ組織 横断プロダクト Y … … 領 域 横 断 リクルートのデータ組織は、各事業領域に対応する 「領域データ組織」 と、事業や案件を横断 して活用可能なシステム (横断プロダクト) を提供する 「横断データ組織」 で構成。 データ組織 各事業のデータ利活用へのコミットメント
  7. © Recruit Co., Ltd. All Rights 10 各事業でのデータ利活用と「横断プロダクト」 横断プロダクト X

    各事業 事業 A データ組織 事業 B データ組織 横断プロダクト Y … … 領 域 横 断 リクルートのデータ組織は、各事業領域に対応する 「領域データ組織」 と、事業や案件を横断 して活用可能なシステム (横断プロダクト) を提供する 「横断データ組織」 で構成。 データ組織 各事業のデータ利活用へのコミットメント 横断プロダクト
  8. © Recruit Co., Ltd. All Rights 11 横断プロダクトCroisとは 多くのデータ利活用施策でバッチ処理 (ML

    学習・推論パイプライン、ETL 等) は不可欠 これらのインフラを 各領域データ組織 で構築するのは非効率的… 社外製品 ・ OSS だとカバーできない特殊要件がある… → プラットフォーム (横断プロダクト) として内製開発 バッチ処理特化の ワークフローエンジン ・ ジョブスケジューラ Run SQL inference 1 inference 2 x 1000 x 1000 delivery 毎日2時に 実行したい 23時を過ぎたら 強制終了してほしい DB へ接続する ジョブは同時に4個 までにしたい
  9. © Recruit Co., Ltd. All Rights 12 Croisがもたらす価値 Crois が

    プラットフォーム として - 汎用的なワークフローエンジン・ジョブスケジューラ機能 - よく使われる処理を再利用可能にした 「公式モジュール」 - スケーラビリティ・セキュリティの確保されたインフラ を提供することで、 各領域データ組織 のデータサイエンティスト・データエンジニアがよ り創造性の高いタスクに注力できる 各事業 事業 A データ組織 事業 B データ組織 … 領 域 横 断 データ組織 横断プロダクト 開発生産性をブースト
  10. © Recruit Co., Ltd. All Rights 13 Croisの6年間 ジョブ実行数 重複する機能を持つ

    社内基盤の統合・移行 各事業領域での データ利活用の拡大 2019 年にリリース。 多くのデータ利活用施策を支える基盤として、利用が増え続けている 平均 年3倍 会社統合
  11. © Recruit Co., Ltd. All Rights 14 Croisの運用規模(2025年5月) 22,000+ ジョブ

    / 日 74,000+ コンテナ実行 / 日 (AWSでの実行が約40k, GCPでの実行が約34k) 1000+ プロジェクト 20,000+ ワークフロー 300+ MAU 10+ Crois 開発・運用メンバー 30,000 CPU コアの並列実行 (ピーク時)
  12. © Recruit Co., Ltd. All Rights 16 横断プロダクトの課金ルール • 横断プロダクトは、各種クラウドサービスを活用して開発・提供されている

    • 横断プロダクトを開発する横断データ組織は、発生したクラウドコストを課金請求する責任を担う • 課金の大前提は受益者負担であり、サービスを利用した各領域データ組織がそのコストを負担すること で、領域データ組織側の利用規模の測定および適切な投資意思決定を可能とすることを目的とする • 横断プロダクトの収支は、±0の状態を指向する 課金の大前提=受益者負担 目的:サービスを利用したところ(領域データ組織)がそのコストを負担することで、領域データ組織 側の利用規模の測定および適切な投資意思決定を可能とする 加えて、サービス提供側においても、課金によりコスト最適化を図ることが可能となる
  13. © Recruit Co., Ltd. All Rights 17 2022年のCrois 2021年までは、会社統合前からの利用者が過半数だった -

    ジョブ実行数が大きく変化しない為、発生するインフラコストの変動も少なかった - コスト変動の要因が特定のAWSサービスのみに限定されていた為、それ以外のコスト については固定費として扱うことが可能な状況だった - その為、コスト配分タグを使用した コストの整理と追跡は十全に行われていなかった が、コスト配分の精緻化がされていない状況でも、実運用上は収支が均衡していた
  14. © Recruit Co., Ltd. All Rights 18 2022年のCrois 2021年までは、会社統合前からの利用者が過半数だった -

    ジョブ実行数が大きく変化しない為、発生するインフラコストの変動も少なかった - コスト変動の要因が特定のAWSサービスのみに限定されていた為、それ以外のコスト については固定費として扱うことが可能な状況だった - その為、コスト配分タグを使用した コストの整理と追跡は十全に行われていなかった が、コスト配分の精緻化がされていない状況でも、実運用上は収支が均衡していた ところが、、、
  15. © Recruit Co., Ltd. All Rights 20 急成長によって生まれた課題 2021年までの前提が崩れ、プロダクト収支が合わなくなり、赤字に -

    コスト変動の要因が特定のAWSサービスのみに限定されない状況に変化し、固定費扱 いしていたクラウドサービス費用が、固定費では賄いきれなくなった - コスト配分タグを使用した コストの整理と追跡が十全に行われていなかったことも災 し、「どのコストが急増しているのか」「どの利用者起因のコストなのか」を特定す るのも一苦労だった FinOpsを全く実践していない訳ではなかった。 ただ、間違いなく今のままでは駄目だと認識したのが2022年だった。
  16. © Recruit Co., Ltd. All Rights 22 プロダクト利用者が高い経営効率を実現する 為にプラットフォームができること →

    横断プロダクトの役割を果たす為に、 機能開発とFinOpsは等しく重要 どこを目指してFinOpsを実践するべきか ①プロダクト利用によっ て得られる利得を増やす ②プロダクト利用に かかるコストを最適化 ③施策の最適な意思決定 を助ける ex) - 新機能開発 - 可用性の向上 ex) - 余剰リソースの削減 - コスト最適なアーキテクチ ャに適宜改善 ex) - 利用に応じたコスト - リアルタイムなコストデータ - より良い選択肢の提供 (インスタンス在庫 等) FinOps
  17. © Recruit Co., Ltd. All Rights 23 プラットフォームFinOps “最も成功しているFinOpsの実践は、分散型で使用量を減らし、集中型で料金を減らしている。” クラウドFinOps

    第2版 CroisのFinOpsは、この原則に基づき、 利用者側での「分散的な使用量最適化」と、プラットフォーム側での「集中的な料金最適化」 の 両輪で成果を出した
  18. © Recruit Co., Ltd. All Rights 24 “最も成功しているFinOpsの実践は、分散型で使用量を減らし、集中型で料金を減らしている。” クラウドFinOps 第2版

    CroisのFinOpsは、この原則に基づき、 利用者側での「分散的な使用量最適化」と、プラットフォーム側での「集中的な料金最適化」 の 両輪で成果を出した プラットフォームFinOps Inform Optimize Operate Inform Optimize Operate 利用者 A 利用者 B 分散型 “使用量”を削減
  19. © Recruit Co., Ltd. All Rights 25 “最も成功しているFinOpsの実践は、分散型で使用量を減らし、集中型で料金を減らしている。” クラウドFinOps 第2版

    CroisのFinOpsは、この原則に基づき、 利用者側での「分散的な使用量最適化」と、プラットフォーム側での「集中的な料金最適化」 の 両輪で成果を出した プラットフォームFinOps Inform Optimize Operate Inform Optimize Operate 利用者 A 利用者 B 集中型 “料金”を削減 分散型 “使用量”を削減
  20. © Recruit Co., Ltd. All Rights 27 27 データ推進室 データプロダクトマネジメント1部

    DPRE2G データエンジニア 2022-2024 リクルート入社 内製データ基盤 Crois の開発/運用 2025- Crois チームのリーダー 茅原 拓未 Chihara Takumi Profile 経歴 所属
  21. © Recruit Co., Ltd. All Rights 28 1. リクルートとは 2.

    データ利活用と横断プロダクト 3. 横断プロダクトにおけるFinOpsの必要性 4. CroisにおけるFinOpsの実践 1. CroisにおけるFinOpsの課題 2. FinOpsを支えるデータ基盤 3. 分散型の取り組み 4. 集中型の取り組み 5. まとめ Agenda
  22. © Recruit Co., Ltd. All Rights 29 横断プロダクトCroisとは (再掲) 多くのデータ利活用施策でバッチ処理

    (ML 学習・推論パイプライン、ETL 等) は不可欠 これらのインフラを 各領域データ組織 で構築するのは非効率的… 社外製品 ・ OSS だとカバーできない特殊要件がある… → プラットフォーム (横断プロダクト) として内製開発 バッチ処理特化の ワークフローエンジン ・ ジョブスケジューラ Run SQL inference 1 inference 2 x 1000 x 1000 delivery 毎日2時に 実行したい 23時を過ぎたら 強制終了してほしい DB へ接続する ジョブは同時に4個 までにしたい
  23. © Recruit Co., Ltd. All Rights 30 - API Server,

    Workflowエンジンは AWS上で実装 - コンテナジョブ実行基盤とし て,ECS on EC2, Fargate, GKEを 採用しているマルチクラウド構 成 Croisのアーキテクチャ
  24. © Recruit Co., Ltd. All Rights 31 マルチテナント: 複数領域の施策が一つのプロダクト上で稼働 マルチクラウド:

    AWS/GCPのインフラコストが発生 受益者負担の原則: 横断プロダクトにおけるルール 投資効果を適切に測るため、横断プロダクトは利 用量に応じた額を利用組織に請求 結果としてCroisとしての収支=0 (収入=請求) Croisのコストの特徴 利用組織A 利用組織B 請求 利用組織C 利用量に応じて請求
  25. © Recruit Co., Ltd. All Rights 33 1. 不十分なコストアロケーションロジック →

    一部サービスを除いて固定費として請求、固定費部分の意図せぬ高騰により収支が赤字に 高騰の原因調査も負担 1. コストデータへのアクセスが気軽じゃない → コストデータ算出は担当者のローカル環境で実施、コスト増減を検知できずに請求タイミングで利用 者側とのコミュニケーションが発生 1. コストデータ品質劣化が検知できない → クラウドコストの遅延・仕様変更を検知できておらず、請求タイミングで気付き慌てることに... 従来のFinOpsの課題 請求周りの運用で手がいっぱい、コスト最適化まで辿りつかない
  26. © Recruit Co., Ltd. All Rights 34 どのように進めてきたのか コストアロケーショ ンロジックの見直し

    コスト計算の定期バ ッチ化 2023/04 2025/04 BigQuery / Lookerで のコストデータ公開 コスト差分チェック の自動化 コスト計算ロジック のdbt化 コスト見積もりツー ルの提供 運用負荷解消のため、必要性にかられて進めていたが
  27. © Recruit Co., Ltd. All Rights 35 どのように進めてきたのか コストアロケーショ ンロジックの見直し

    コスト計算の定期バ ッチ化 2023/04 2025/04 BigQuery / Lookerで のコストデータ公開 コスト差分チェック の自動化 コスト計算ロジック のdbt化 コスト見積もりツー ルの提供 利用者のコスト意識向上、Crois 共通リソースの最適化など 運用負荷解消のため、必要性にかられて進めていたが 運用負荷解消以上の成果が生まれ始めた
  28. © Recruit Co., Ltd. All Rights 36 得られたものをまとめると...? - 自動更新されるコストデータ

    - 複雑なコストロジックの管理 - データ品質の検証 - 誰でもアクセスできるコスト データの提供 - 利用料に応じたコストアロ ケーションロジック - コスト見積もりツール - 利用者側でのコスト最適化 - 共有リソースコストの削減 - サービス変更によるコスト 削減 - よりコスト最適化が可能なジ ョブ基盤の提供
  29. © Recruit Co., Ltd. All Rights 37 プラットフォームFinOpsを通じた最適化 得られたものをまとめると...? FinOpsを支えるデータ基盤

    - 自動更新されるコストデータ - 複雑なコストロジックの管理 - データ品質の検証 - 誰でもアクセスできるコスト データの提供 - 利用料に応じたコストアロ ケーションロジック - コスト見積もりツール - 利用者側でのコスト最適化 - 共有リソースコストの削減 - サービス変更によるコスト 削減 - よりコスト最適化が可能なジ ョブ基盤の提供
  30. © Recruit Co., Ltd. All Rights 38 プラットフォームFinOpsを通じた最適化 得られたものをまとめると...? 分散型

    利用者側での最適化支援 集中型 基盤側でのコスト削減 FinOpsを支えるデータ基盤 - 自動更新されるコストデータ - 複雑なコストロジックの管理 - データ品質の検証 - 誰でもアクセスできるコスト データの提供 - 利用料に応じたコストアロ ケーションロジック - コスト見積もりツール - 利用者側でのコスト最適化 - 共有リソースコストの削減 - サービス変更によるコスト 削減 - よりコスト最適化が可能なジ ョブ基盤の提供
  31. © Recruit Co., Ltd. All Rights 39 “最も成功しているFinOpsの実践は、分散型で使用量を減らし、集中型で料金を減らしている。” クラウドFinOps 第2版

    CroisのFinOpsは、この原則に基づき、 利用者側での「分散的な使用量最適化」と、プラットフォーム側での「集中的な料金最適化」 の 両輪で成果を出した プラットフォームFinOps Inform Optimize Operate Inform Optimize Operate 利用者 A 利用者 B 集中型 “料金”を削減 分散型 “使用量”を削減
  32. © Recruit Co., Ltd. All Rights 40 1. リクルートとは 2.

    データ利活用と横断プロダクト 3. 横断プロダクトにおけるFinOpsの必要性 4. CroisにおけるFinOpsの実践 1. CroisにおけるFinOpsの課題解決によって見えてきたもの 2. FinOpsを支えるデータ基盤 3. 分散型の取り組み 4. 集中型の取り組み 5. まとめ Agenda
  33. © Recruit Co., Ltd. All Rights 43 データ収集 - 従来はクラウドにネイティブで用意されているcost

    APIからコストデータの取得をしていたが、 group/filterの自由度が低くソースコードが複雑化 → Cost Usage and Report (CUR)をBigqueryにimportし、SQLでロジックを記述するように 各種割引計算も柔軟に行えるようになった - マネージドのエクスポート機能の活用により運用負荷を抑えている AWS Cost Usage and Report 日次のコストレポートを自動でs3に連携 Cloud Billing 日次のコストレポートを自動でBigqueryに連携
  34. © Recruit Co., Ltd. All Rights 44 データ変換 - DBTの活用

    dbt cliとは? BigQuery等DWH上でデータ変換を行うためのツール 主な機能 Jinjaテンプレートによる変数埋め込み・制御 Document/Lineageの自動生成 データの内容をテスト (unique/not null etc…) dbt 公式サイトより引用 → 複雑なコスト計算ロジックを低い負荷で運用
  35. © Recruit Co., Ltd. All Rights 45 前提: クラウドコストの提供は安定しない -

    コスト提供の遅延 - コスト仕様の変更 Crois提供のコストデータで利用者側も予算管理しているため提供データと実際の請求との乖離は避けたい データ品質の担保
  36. © Recruit Co., Ltd. All Rights 46 前提: クラウドコストの提供は安定しない -

    コスト提供の遅延 - コスト仕様の変更 Crois提供のコストデータで利用者側も予算管理しているため提供データと実際の請求との乖離は避けたい データ品質の担保 → データ品質の定期チェック models: - name: fct_crois_project_billings description: "Crois プロジェクトごとの請求費" config: contract: enforced: true tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - project_id - date - env dbt test 日次/月次での収支チェック 差分がある場合はアラート
  37. © Recruit Co., Ltd. All Rights 47 多様なコストデータの収集・加工・管理: サービス事業者(AWS/GCP)ごとに形式や粒度が異なる複雑なクラウド請求データを、分 析可能な形式に統合し、一元的に扱う

    信頼できるコストデータの提供: クラウドコストデータの遅延や仕様変更を自動で検知 FinOpsデータ基盤で得られたこと コスト分析・最適化のための信頼できるデータ基盤を構築し、 新鮮なコストデータの提供を可能にするだけでなく 請求業務の運用負荷も抑えた
  38. © Recruit Co., Ltd. All Rights 49 分散型の取り組み - FinOps

    の原則 「すべての人が自分のクラウド 使用量に当事者意識を持つ」 を推進 - 利用者独自で、コスト最適化ループを実現する ことを支援する機能を提供 Inform Optimize Operate Inform Optimize Operate 利用者 A 利用者 B 分散型 “使用量”を削減
  39. © Recruit Co., Ltd. All Rights 50 以前は一部サービスを除いて固定費として請求 →Croisのインフラコストを利用量に応じて請求するために、変動費および共通費という分類を設計 変動費:

    利用とインフラコストが紐づく費用 ex) コンテナジョブを動かすインスタンスコスト リソースにlabel/tagを付与して、利用者ごとの利用量を取得 共通費: 複数利用者で共通して利用するリソースの費用 ex)NAT利用料,ログ,APIサーバ, k8s システムノード 変動費の割合によって按分することによって負担分を計算 コストアロケーションの適正化 sku/tag/labelごとに変動費・共通費・取得方法を定義
  40. © Recruit Co., Ltd. All Rights 51 データ提供 プラットフォーム側での可視化 利用者独自クエリで探索

    利用者側のコストダッシュボードと統合 users query user system IAM cost table BigQuery cost table BigQuery user dashbord Looker Studio query コストデータをBigQuery Tableとして公開し、利用者ごとに好ましい形で活用
  41. © Recruit Co., Ltd. All Rights 52 - 利用者自身でCroisコストを見積もれるツールの提供 →

    利用者自身での最適化・ジョブを動かす前の費用対効果の見積もりが可能に - 共通費(共有リソースの按分コスト)についても見積もりも、過去利用実績から予測するこ とで提供 コスト見積もりツール
  42. © Recruit Co., Ltd. All Rights 53 利用者側でのコスト最適化文化 - 利用者側でコスト最適化を行うことのできる環境を

    整備したことで、利用者側での最適化文化が醸成さ れた - ex) - Crois以外のサービスのデータと統合したコ ストダッシュボード - Croisを効率よく使うためのルール - インスタンスのリサイジングポリシー - NATを通さずに通信量を抑える設定 コストは~~を確認して Croisを使う時は~~のようなポリシーを 守って 領域データ組織リーダー 領域データ組織 メンバー 領域データ組織 メンバー 文化の浸透 ツール・データの提供
  43. © Recruit Co., Ltd. All Rights 55 集中型の取り組み - プラットフォーム側から利用の全体感を把握し、

    全体最適な状態を目指す - コストデータ整備によって、これまで見過ごされ ていたリソースの無駄を発見し対応ができるよう になった 集中型 “料金”を削減
  44. © Recruit Co., Ltd. All Rights 56 ex) 課題: NATのコストが高い

    原因: Croisのスケジュール実行は毎分実行するECS Taskによって実現されている ECS TaskがNATを持つネットワークに配置されていた 結果的に毎分コンテナイメージをpullする際にNATを通ってしまいNATコストが高騰した 対応: 毎分実行するECS Taskのネットワーク変更 共有リソースの最適化
  45. © Recruit Co., Ltd. All Rights 57 ex) 課題: AWSのSecret

    Managerコストが余計にかかっている 原因: Croisではパスワードなどの機密情報をセキュアにコンテナタスクに渡す機能を提供 Secret Managerを利用して、機密情報の提供・保管を行っていたが、利用増加にともなって 保管コストが負担になった 対応: AWS parameter storeに移行することで、セキュアなまま保管コストを0にした サービスの見直し
  46. © Recruit Co., Ltd. All Rights 59 - Croisではプロダクト利用者が高い経営効率を実現する 為にFinOpsを実践

    - コスト分析・最適化のための信頼できるコストデータ基盤を構築 - CroisでのFinOpsは利用者側での「分散的な使用量最適化」と、プラットフォーム側で の「集中的な料金最適化」 の両輪によって効率よくFinOpsを推進 まとめ “最も成功しているFinOpsの実践は、分散型で使用量を減らし、集中型で料金を減らしている。” クラウドFinOps 第2版
  47. © Recruit Co., Ltd. All Rights 60 Crois 今後の展望 機能の強化

    - リクルートのデータ活用施策はまだまだ拡大中 - 利用者が施策を早く・安く実装し、正確な検証を行うためのFinOpsはこれからも継続 - コスト異常検知 - コスト改善レコメンド 運用の効率化 - AIOps - エージェント導入による課題の発見・解決を検討中 - FinOps基盤との連携でコスト課題に取り組ませる - AIOpsに対してもFinOpsによって適切な投資となるよう最適化していく
  48. © Recruit Co., Ltd. All Rights 61 We are hiring

    ! カジュアル面談はこちらより お申し込みください データサイエンティスト 機械学習エンジニア データエンジニア アナリティクスエンジニア R&Dエンジニア データアプリケーションエンジニア クラウドエンジニア