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

リクルートにおける Platform Engineering / SRE の事例共有

Recruit
December 05, 2023

リクルートにおける Platform Engineering / SRE の事例共有

2023/12/06に、 Platform Engineering Meetup で発表した菅沼の資料です。

Recruit

December 05, 2023
Tweet

More Decks by Recruit

Other Decks in Business

Transcript

  1. © Recruit Co., Ltd. All Rights Reserved リクルートにおける Platform Engineering

    / SRE の事例共有 8年間の歩みと今後の展望 1 株式会社リクルート データ推進室 データプロダクトユニット データプロダクトマネジメント1部 データプロダクトエンジニアリング2グループ 菅沼孝二 @kojisuganuma 2023/12/06 Platform Engineering Meetup #6
  2. © Recruit Co., Ltd. All Rights Reserved アジェンダ 1. はじめに

    1.1. 自己紹介 1.2. リクルートとデータ推進室について 1.3. 横断データプロダクトの活用事例と位置付け 2. Knile Platform の紹介 2.1. 横断データプロダクトの構成概要 2.2. 横断データプロダクト Knile の位置付けと特徴 2.3. Platform Engineering の実践例 2.4. SRE の実践例 3. 8年間の歩みと教訓 4. 今後の展望 5. おわりに 2
  3. © Recruit Co., Ltd. All Rights Reserved はじめに 1. はじめに

    1.1. 自己紹介 1.2. リクルートとデータ推進室について 1.3. 横断データプロダクトの活用事例と位置付け 2. Knile Platform の紹介 2.1. 横断データプロダクトの構成概要 2.2. 横断データプロダクト Knile の位置付けと特徴 2.3. Platform Engineering の実践例 2.4. SRE の実践例 3. 8年間の歩みと教訓 4. 今後の展望 5. おわりに 3
  4. © Recruit Co., Ltd. All Rights Reserved 名前: 菅沼孝二 (Koji

    Suganuma / @kojisuganuma) 所属: データ推進室 DPU DPM1部 データプロダクトエンジニアリング 2 G 自己紹介 4 経歴: • 2016年4月: メディア/ネット広告/ゲーム関連事業会社 新卒入社 ◦ [入社時] Engineer (Data/ML系) • 2017年4月: リクルートライフスタイル (現リクルート)  中途入社 ◦ [入社時] ML Engineer ◦ [その後] SWE (Platform Engineering) にロールチェンジ ◦ [その後] Knile Team Tech Lead ◦ 現在に至る 趣味: 育児🔰・投資🔰・スプラトゥーン [PR]共著
  5. © Recruit Co., Ltd. All Rights Reserved 株式会社リクルートについて 5  マッチング&ソリューションSBU

    HRテクノロジーSBU 人材派遣SBU 国内派遣 海外派遣 選択・意思決定を支援する情報サービスを提供し、 「まだ、ここにない、出会い。より速く、シンプルに、もっと近くに。」を実現する
  6. © Recruit Co., Ltd. All Rights Reserved リクルートのビジネスモデルについて 6 •

    リクルートにはユーザーとクライアントという2つのお客様が存在 • 「企業と人(B to C)」 「企業と企業(B to B)」 「人と人(C to C)」のすべての間に立ち、双方にとって最適なマッチン グを図る「場」を提供 ユーザーとクライアントを新しい接点で結び、 「まだ、ここにない、出会い。より速く、シンプルに、もっと近くに。」の場を創造する リクルート マッチングプラットフォーム クライアントとユーザーを結びつける 対価としてクライアントからフィーを受領 ユーザー クライアント
  7. © Recruit Co., Ltd. All Rights Reserved データ推進室について 7 各事業領域のデータ戦略立案・推進を行う領域特化ユニットと

    領域横断で支援を行う専門職種のユニットが交差するマトリクス型組織 データテクノロジーユニット DPU 販促1 DSU 販促2 DSU 販促3 DSU 販促4 DSU SaaS DSU HR DSU アジリティテクノロジー部  より高度な専門性を基に領域・横断の重要案件の支援を行う DPM1部 DPM2部 主務組織(領域戦略の実現のための活動に責任を持つ) DTL部 Megagon ATL部 D3M部(Data Driven Decision Making) データエンジニアリング部 データサイエンス・機械学習エンジニアリング部 採用・育成を含む 専門性強化に 責任を持つ 所属部署
  8. © Recruit Co., Ltd. All Rights Reserved 横断データプロダクトの活用事例 8 複数領域でデータ活用施策が実施されており、下記はその一例。

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

    複数領域で利用可能なプラットフォームを開発しており、事業領域やプロジェクトを越えて活用可能なシステムを「横 断プロダクト」と認定した上で、各領域への展開を図っています。 横断データプロダクト (横断データプラットフォーム) ProjectA1 Data App1 横断データプロダクト2 横断データプロダクト1 … … 事業領域A Products 事業領域B Products … … 横断データプロダクト3 ユーザー クライアント … DSU DPU ProjectA1 Data App2 ProjectA2 Data App1 ProjectB1 Data App1
  10. © Recruit Co., Ltd. All Rights Reserved Knile Platform の紹介

    10 1. はじめに 1.1. 自己紹介 1.2. リクルートとデータ推進室について 1.3. 横断データプロダクトの活用事例と位置付け 2. Knile Platform の紹介 2.1. 横断データプロダクトの構成概要 2.2. 横断データプロダクト Knile の位置付けと特徴 2.3. Platform Engineering の実践例 2.4. SRE の実践例 3. 8年間の歩みと教訓 4. 今後の展望 5. おわりに
  11. © Recruit Co., Ltd. All Rights Reserved ETL / Delivery

    Ingestion 横断データプロダクト群の構成概要 11 エンドユーザ 事業領域 DB データ収集 データ活用 Real-time Data Ingestion Platform Batch Data Ingestion Platform Data Platform API Platform Job Platform Streaming Platform Notebook Platform 事業領域 サーバー エンドユーザ 事業領域 サーバー 社内 BI ツール Ad-hoc Data Ingestion Platform データ管理 … クラウド ストレージ
  12. © Recruit Co., Ltd. All Rights Reserved ETL / Delivery

    Ingestion 横断データプロダクト Knile Platform の位置付け 12 データ収集 Real-time Data Ingestion Platform Batch Data Ingestion Platform Data Platform Knile API Platform Knile Job Platform Knile Streaming Platform Knile Notebook Platform Ad-hoc Data Ingestion Platform データ管理 … データ活用 エンドユーザ 事業領域 DB 事業領域 サーバー エンドユーザ 事業領域 サーバー 社内 BI ツール クラウド ストレージ
  13. © Recruit Co., Ltd. All Rights Reserved Knile API Platform

    横断データプロダクト Knile Platform の特徴 13 … Key-Value API BFF API Prediction API Router, A/B Testing Auth Knile Job Platform Container Operator Task Python Operator Task Query Operator Task Manage Workflow Knile Streaming Platform Knile Notebook Platform Filtering, Aggregation Knile API Integration Custom Image Custom CPU, GPU データ施策専用 レポジトリ commit deploy Knile 利用者 データ活用のための Data Engineering (ETL / Delivery) に特化した Platform as a Product 設計・実装についての詳細は下記参照 ※1 MLOps勉強会#14資料 ※2 Cloud Native Days Tokyo 2021 ※1 ※2 規模感参考 (2023/12時点) ※1 Knile API 全体 ・ read : 約 200-1200 req/s ・ write: 約 5,000-90,000 row/s ※2 Knile Job 全体 ・ コンテナ起動数: 約 1,000-1,500 / day エンドユーザ 事業領域 サーバー 社内 BI ツール クラウド ストレージ
  14. © Recruit Co., Ltd. All Rights Reserved Knile Platform Self

    Service Features Platform Engineering の実践例 14 Knile API Platform Self Service Features Monitoring Billing Prediction API BFF API Key-Value API Routing, A/B Testing Project Resources Separation Alerting CI/CD AuthN, AuthZ Load Testing Knile Job Platform Self Service Features Workflow Management Scheduling Custom CPU, GPU Knile Streaming Platform Self Service Features Knile Notebook Platform Self Service Features Run Query, Python, Container Switch Backend Workflow Engine Event Filtering, Simple Aggregation Knile API Integration Custom Image Custom CPU, GPU Knile API Integration
  15. © Recruit Co., Ltd. All Rights Reserved Platform Engineering の実践例

    PickUp!! --- Project Resources Separation 15 Knile Project Github Resources generated by Terraform CDK Team Branch Setting CI/CD Config File Repository README.md Team Member Binding Knile Project Google Cloud Resources generated by Kubernetes Operator with config connector Cloud Secret Manager Secret BigQuery Dataset Cloud Storage Bucket Service Account Workload Identity Binding IAM Policy Knile Project Kubernetes Resources generated by Kubernetes Operator ResourceQuota RoleBinding Namespace Service Account Knile Project Management Resources generated by Knile Project CI/CD Knile Project Config Terraform CDK tfstate Knile Project Kubernetes CR Knile Project Datadog Resources generated by Datadog API Datadog Dashboards Knile Project Datadog CI/CD
  16. © Recruit Co., Ltd. All Rights Reserved Platform Engineering の実践例

    PickUp!! --- CI/CD 16 Coding Pull Request Review Merge Job や API などのコードを 書きましょう。 モデル開発のための分析環 境も提供しています。 Pull Request を出すと自 動的に開発環境で Job や API などのリソースが作成 されます。 品質の担保や属人化の削減 をサポートします。 Mergeすることで本番環境 へリソースが作成されます。 GitHubを見ればコードレベ ルで様々な知見が共有され ています。 GitHub 上で完結するデータ活用の開発サイクル
  17. © Recruit Co., Ltd. All Rights Reserved Platform Engineering の実践例

    PickUp!! --- Project Monitoring 17 データ活用施策ごとに、いつ・何に・どれだけ リソース起動・リソース利用されているのかを可視化できる。 ダッシュボードは Datadog 製であり、Project CI/CD 実行時に自動生成される。 (例) Knile チームのサンプル施策用のリソースダッシュボード
  18. © Recruit Co., Ltd. All Rights Reserved Platform Engineering の実践例

    PickUp!! --- Project Billing 18 データ活用施策ごとに、いつ・何に・どれだけ インフラコストが発生したのかを可視化することができる。 ダッシュボードは Looker Studio 製であり、担当施策をまとめて集計などもできる(例えば事業領域単位集計)。 円 (例) Knile チームのサンプル施策用のインフラコストダッシュボード
  19. © Recruit Co., Ltd. All Rights Reserved SRE の実践例 19

    Knile Platform SRE Scalability Availability Cost Optimization Incident Management SLO Monitoring CI/CD Load Testing System Monitoring, Alerting Productivity Monitoring (Four Keys) Infrastructure as Code Toil Manegement Security Maintainability Documentation On-boarding Distributed Tracing Service Level Definition Error Budget Management …
  20. © Recruit Co., Ltd. All Rights Reserved SRE の実践例 PickUp!! --- Service

    Level Definition 20 Service Level の定義および利用者公開。
  21. © Recruit Co., Ltd. All Rights Reserved SRE の実践例 PickUp!! --- SLO

    Monitoring / Error Budget Management 21 SLO 達成状況を日次・週次でモニタリング。月間の SLO 未達にな りうるような障害発生後は、以降の開発計画を調整し、SLO 達成 を目指す。逆に余裕があれば大胆なチャレンジも積極的に実施。
  22. © Recruit Co., Ltd. All Rights Reserved SRE の実践例 PickUp!! --- System

    Monitoring / Alerting 22 各 Platform Product 上で動作するデータ施策アプリケーション全体の 定点モニタリングと異常系アラートチェック。毎日チーム朝会で状況把握。
  23. © Recruit Co., Ltd. All Rights Reserved SRE の実践例 PickUp!! --- Productibity

    Monitoring (Four Keys) 23 Knile Maintainer’s Four Keys Knile Developer’s Four Keys
  24. © Recruit Co., Ltd. All Rights Reserved SRE の実践例 PickUp!! --- Documentation

    / On-Boarding 24 https://diataxis.fr/ プロダクト利用者向けのドキュメンテーションも、プロダクト管 理者向けのドキュメンテーションも、diataxis framework を積極採用。 On-Boarding 時の認知負荷を削減。
  25. © Recruit Co., Ltd. All Rights Reserved 8年間の歩みと教訓 25 1.

    はじめに 1.1. 自己紹介 1.2. リクルートとデータ推進室について 1.3. 横断データプロダクトの活用事例と位置付け 2. Knile Platform の紹介 2.1. 横断データプロダクトの構成概要 2.2. 横断データプロダクト Knile の位置付けと特徴 2.3. Platform Engineering の実践例 2.4. SRE の実践例 3. 8年間の歩みと教訓 4. 今後の展望 5. おわりに
  26. © Recruit Co., Ltd. All Rights Reserved 8年間の歩み 横断データプロダクト 組織 の変遷

    2017 2023 2021 リクルート統合 Data Management G Data Engineering G Data Management 2G Data Engineering 1G Data Management 1G Data Engineering 2G Data Solution 1G Data Solution 2G Data Management G Data Engineering G … Data Solution 1G Data Solution 2G Data Management G Data Engineering G … Data Platform G DMG/DEG の組織再編 プランナー/エンジニアの役割で グループを分割 ソリューション開発組織の編成 事業領域ごとにソリューションGを分割 事業A Data Science 1G/2G/… 事業A Data Engineering 1G/2G/… 事業A Data-driven Decision Making G 事業B Data Science 1G/2G/… 事業B Data Engineering 1G/2G/… 事業B Data-driven Decision Making G Platform 開発組織の編成 Engineering G と Platform G を分割 Science G と Solution G を統合 Data Product Engineering G Platform Product 開発組織の編成 Platform as a product の運営 Data Science G Data Science G Data Science G … 入社 DMG/DEG の組織編成 プランナー/エンジニアが 同グループ ※所属組織および対向組織のみ記載しています ※簡略化のため、実際の組織名/組織構成とは異なる部分があります 株式会社リクルートライフスタイル 株式会社リクルート 所属組織 対向組織
  27. © Recruit Co., Ltd. All Rights Reserved Streaming / Notebook

    Platform Job Platform API Platform 8年間の歩み 横断データプロダクト Knile の変遷 27 Prediction API on GKE BFF API on GKE Apache Airflow on VM Knile Job by Cloud Composer 1 Knile Job by Apache Airflow 2 on GKE Knile API by helm on GKE (Router, Key-Value, BFF, Auth) Cloud Dataflow Knile Job by Argo Workflows on GKE Jupyter Hub on GKE Knile Notebook by Kubeflow Notebooks on GKE Knile Notebooks by Vertex AI Notebooks Knile Job by 内製ワークフローエンジン (Crois) Rundeck on VM Key-Value API on GKE 2017 2023 2021 リクルート統合 入社 Key-Value API on EC2 Knile Streaming by Cloud Dataflow 株式会社リクルートライフスタイル 株式会社リクルート 移行中 除却済み 運用中 Knile API by k8s-operator on GKE (Router, Key-Value, BFF, Prediction, Auth) Query Job by AppEngine ※簡略化のため、実際の時期とは異なる部分があります
  28. © Recruit Co., Ltd. All Rights Reserved 8年間の教訓 サマリー 28

    要求は変わる 果たすべき役割は変わる 組織は変わる ベストプラクティスは変わる 役割の果たし方は変わる 外部環境は変わる (技術・トレンド等) Why/What の変化 How の変化
  29. © Recruit Co., Ltd. All Rights Reserved 8年間の教訓 果たすべき役割は変わる 29

    要求は変わる 果たすべき役割は変わる 組織は変わる Why/What の変化 組織の拡大 戦略の変化 組織の分割と統合 戦術の変化 ニーズの変化 優先度の変化 法令の変化 働き方の変化 社会情勢の変化 … QCD の変化 … 要求が変わることを前提とした、 「変化に柔軟な業務設計」が求められる
  30. © Recruit Co., Ltd. All Rights Reserved 8年間の教訓 役割の果たし方は変わる 30

    ベストプラクティスは変わる 役割の果たし方は変わる 外部環境は変わる (技術・トレンド等) How の変化 クラウド・SaaS の進化 OSS の進化 言語の進化 フレームワークの進化 AI の進化 開発ツールの進化 内製 / 外製 ロックイン / Not 枯れた技術 / モダン Q / C / D ベストプラクティスが変わることを前提とした、 「変更に強いアーキテクチャ実装」が求められる … …
  31. © Recruit Co., Ltd. All Rights Reserved 8年間の教訓 変化に柔軟な業務設計/変更に強いアーキテクチャ実装について 31

    MLOps勉強会#14 資料 Cloud Native Days Tokyo 2021 資料 具体的かつ詳細な設計・実装は、以下の資料内容をご参考ください。
  32. © Recruit Co., Ltd. All Rights Reserved 8年間の教訓 変わるものと変わらないもの 32

    果たすべき役割は変わる 役割の果たし方は変わる 😇 変更は大変 😇 😇 人手不足は変わらない 😇 人手に依存しないスケーラブルなプロダクト・チーム設計と、 対向組織との建設的かつ粘り強いコミュニケーションが求められる
  33. © Recruit Co., Ltd. All Rights Reserved Product Management の実践例 (参考程度)

    33 スケーラブルなプロダクト・チーム設計と対向組織との建設的なコミュニケーションの実現に向けた取り組み Knile Platform Product Management Scrum Management Development Planning Strategy Planning Pricing Feature Request Management Product Marketing KPI Monitoring User Hearing … ※ Product Management についての詳細は下記ブログを参照ください。 Recruit Data Blog: データ基盤 Knile のプロダクトマネジメントの取り組み
  34. © Recruit Co., Ltd. All Rights Reserved 今後の展望 34 1.

    はじめに 1.1. 自己紹介 1.2. リクルートとデータ推進室について 1.3. 横断データプロダクトの活用事例と位置付け 2. Knile Platform の紹介 2.1. 横断データプロダクトの構成概要 2.2. 横断データプロダクト Knile の位置付けと特徴 2.3. Platform Engineering の実践例 2.4. SRE の実践例 3. 8年間の歩みと教訓 4. 今後の展望 5. おわりに
  35. © Recruit Co., Ltd. All Rights Reserved 今後の展望 35 Knile

    Platform SRE Enhancement Knile Platform Platform Engineering Enhancement E2E Test Automation Cost Optimization GitOps CI/CD Replacement APM Distributed Tracing API Cache API Traffic Mirroring Use Managed Services Continuous EOL Management Code Review Automation E2E Test Automation Prediction API Re-Architecture Continuous Technical Debt Management プロダクト利用者向けの self-service 化をさらに推進。特に API Platform の開発体験/デバッガビリティを改善。 プロダクト管理者向けの運用上の優秀性をさらに推進。特にサービス品質改善・コスト改善・技術的負債解消を進める。 … …
  36. © Recruit Co., Ltd. All Rights Reserved おわりに 36 1.

    はじめに 1.1. 自己紹介 1.2. リクルートとデータ推進室について 1.3. 横断データプロダクトの活用事例と位置付け 2. Knile Platform の紹介 2.1. 横断データプロダクトの構成概要 2.2. 横断データプロダクト Knile の位置付けと特徴 2.3. Platform Engineering の実践例 2.4. SRE の実践例 3. 8年間の歩みと教訓 4. 今後の展望 5. おわりに
  37. © Recruit Co., Ltd. All Rights Reserved まとめ 37 果たすべき役割は変わる

    役割の果たし方は変わる 😇 変更は大変 😇 😇 人手不足は変わらない 😇 人手に依存しないスケーラブルなプロダクト・チーム設計と、 対向組織との建設的かつ粘り強いコミュニケーションが求められる 要求が変わることを前提とした、 「変化に柔軟な業務設計」が求められる ベストプラクティスが変わることを前提とした、 「変更に強いアーキテクチャ実装」が求められる 変わるもの 変わらないもの Platform Engineering / SRE with Product Management
  38. © Recruit Co., Ltd. All Rights Reserved [PR] We are

    hiring! 38 カジュアル面談はこちらより お申し込みください データサイエンティスト 機械学習エンジニア データエンジニア アナリティクスエンジニア BIエンジニア R&Dエンジニア データアプリケーションエンジニア パブリッククラウドエンジニア
  39. © Recruit Co., Ltd. All Rights Reserved [PR] 今後のリクルートイベント情報 39

    イベント申し込み用ページ:https://recruit-event.connpass.com/event/302250/
 データ推進室に関する以下ページもぜひご覧ください。 データ推進室 特設採用サイト https://www.recruit.co.jp/employment/mid-career/data_lp/ データ推進室 X(旧Twitter)アカウント https://twitter.com/Recruit_Data データ推進室 ブログ https://blog.recruit.co.jp/data/ 株式会社リクルート connpassページ(イベント情報) https://recruit-event.connpass.com/event/ イベント申し込み用ページ:https://atma.connpass.com/event/301535/
 イベント申し込み用ページ:https://atcoder.jp/contests/ahc029

  40. © Recruit Co., Ltd. All Rights Reserved リクルートグループについて 42 


    グループ従業員数 58,493名 
 連結子会社257社 関連会社10社 グループ企業数 
 連結売上収益 34,295億円 
 連結営業収益 3,443億円 
 ビジョン・ミッション Follow Your Heart まだ、ここにない、出会い。 より速く、シンプルに、もっと近くに。 
 1960年3月31日 創業 「大学新聞広告社」としてスタート (2023年3月31日時点) (2023年3月31日時点) (2022年4月1日~2023年3月31日) (2022年4月1日~2023年3月31日)