データ活用施策 1 横断データ プロダクト 2 横断データ プロダクト 1 … … 事業 A プロダクト 事業 B プロダクト … … 横断データ プロダクト 3 ユーザー クライアント … 事業 A データ活用施策 2 事業 B データ活用施策 1 Data App1 Data App1 Data App2 Data App1 Data App1
Features Knile API Platform Self Service Features Monitoring Billing Prediction API Functions (FaaS) Key-Value API Routing, A/B Testing Project Resources Alerting CI/CD Auth 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 Task Switch Backend Workflow Engine Event Filtering, Simple Aggregation Knile API Integration Custom Image Custom CPU, GPU Knile API Integration
A Project B Prj. B namespace Prj. A namespace ProjectResource CustomResource Project CustomResource Prj. A Repo / Team CI/CD pipeline / … Prj. B Repo / Team CI/CD pipeline / … Prj. A Dashboard Prj. B Dashboard Project CI/CD ResourceQuota CustomResource … Projects Repo knile-operator namespace knile-operator Deployment Prj. A Bucket, Dataset, Secret, SA, Policy Prj. B Bucket, Dataset, Secret, SA, Policy Knile Team API ServiceAccount CustomResource Job ServiceAccount CustomResource StorageBucket cnrm Resource … … IAMPolicy cnrm Resource Project xxx 申請 Forms Prj. A Prj. B Reconcile ※簡略化のために、部分的に省略 / 改変して表示しています。
API Knile Router • API Endpoint や I / F を 固定化し後段の API 群に ルーティング • A / B Testing • Canary Release [Pick up!] Knile API Platform Features Knile Auth • 認証 • JWT • API Key • IP 制限 • Key-Value Store のデー タを API 経由で取得する 機能 • 事前推論データやマスター データ等 • Function as a Service • Go or Python • API Integration • オンライン推論機能 • モデル学習による定期更 新 Load Testing • 負荷テスト機能 • 負荷に応じた水平スケーリ ング
ML / データ エンジニア プラットフォーム エンジニア ② ① 実行ログ検索性の向上・データ施策ごとの リソース モニタリング ダッシュボードの提供 ・docs 拡充・docs 自動生成・ etc. ② セルフサービス開発のデバッガビリティの 改善により問い合わせ対応工数を削減 ① ③ ③ エンジニアはプラットフォームの 機能開発・自動化・信頼性向上に集中
/ アーキテクチャの設計を導入※ ② インフラおよびミドルウェア全体に クラウドネイティブ設計ポリシーを導入※ データ サイエンティスト ML / データ エンジニア インフラ / ミドルウェアの 変更容易性が高いプラットフォーム Data App 1 Data App N Middleware / Backend Infrastructure ……… ③ プラットフォーム エンジニア ③ 移行作業の自動化や安定性向上などにより、 利用者向けの調整コストも削減 ② ※設計・実装についての詳細は以下をご参照ください。 クラウドネイティブ × 持続可能 セルフサービス型データ分析ジョブプラットフォーム 設 計プラクティス | Cloud Native Days Tokyo 2021 ① 疎結合 & クラウドネイティブ化
し、保守コストが占める割合が大きくなった データ サイエンティスト ML / データ エンジニア 多機能化によって 運用負荷が増大したプラットフォーム Feature 1 Feature M Backend 1 Infrastructure ……… ① プラットフォーム エンジニア Backend N ……… ②
② 保守コストが削減され、注力機能への集中投 資が可能になった データ サイエンティスト ML / データ エンジニア 注力機能への「選択と集中」によって 運用負荷が軽減されたプラットフォーム Feature 1 Feature n Backend 1 Infrastructure …… プラットフォーム エンジニア Backend m … ① ②
Job Platform Knile API Platform 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 v1 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 VM Knile Streaming by Cloud Dataflow 株式会社リクルートライフスタイル 株式会社リクルート 移行中 除却済み 運用中 Knile API v2 on GKE ( Router, Key-Value, BFF, Prediction, Auth ) Query Job by AppEngine 今後の注力プロダクト