Findy Tools
開発ツールのレビューサイト

カオナビの「サービスブリッジ」のインフラアーキテクチャ図

Xのツイートボタン
このエントリーをはてなブックマークに追加
Xのツイートボタン
このエントリーをはてなブックマークに追加

カオナビの「サービスブリッジ」のインフラアーキテクチャ図

最終更新日 投稿日
kaonavi.png

アーキテクチャの工夫ポイント

『カオナビ』は、社員の個性・才能を発掘し戦略人事を加速させるタレントマネジメントシステムで、企業規模や業種問わず3,600社以上(2024年3月末時点)にご利用いただいております。
今回は昨年リリースした「サービスブリッジ」という他システムとのデータ連携機能のアーキテクチャ図について説明します。「サービスブリッジ」では、直感的なUIでデータ変換ルールを定義することでシステム間のデータ構造の差異を吸収し、他システムから『カオナビ』へ、または『カオナビ』から他システムへのデータ連携を自動化できます。

「サービスブリッジ」では、連携データの取得・加工とデータ登録の処理をそれぞれ分割して LambdaECS/Fargateで実装し、Step Functionsをインターフェイスとして連携させるサーバレスアーキテクチャを採用しました。
このような構成となった主な理由は以下の3点です。

  •  データ量が小・中規模のお客様の利用を想定していた
  •  バッチ処理でエラーが発生した場合のリトライを細かい単位で行いたかった
  •  コスト観点も含めてスモールスタートで開発し、徐々に機能追加・拡張を進める方針を取った

当初は連携データの取得・加工処理もLambdaで実装していましたが、Lambdaのタイムアウト制限(15分)をオーバーすることもあったため、ECSタスクに置き換えることで解決しました。
当初の想定よりも開発スケジュールが大幅に早まり、本格的な設計開始から2〜3ヶ月でのリリースが求められましたが、開発初期のスピードが出しやすい傾向にある点でもサーバレスのメリットがありました。

現在のアーキテクチャの課題と今後の改善予定

機能追加に伴いLambdaやS3バケットなどリソースが少しずつ増加することで構成が複雑になっていく傾向にあるため、少しずつLambda→ECS/Fargateへの移行を検討しています。
例えば、ユーザがブラウザから連携データをファイルアップロードする機能があります。この機能では、API Gatewayのペイロードサイズの制限(10MB)を回避するため、S3バケットの署名付きURLをアプリケーションで発行し、ユーザがファイルをアップロードする際に利用しています。ファイルアップロードをトリガーに、S3バケットのイベント通知をLambda関数に発行し、バッチ処理の入力としています。
ALB+ECSでWeb APIを置き換えることでこの制約を解消し、インフラアーキテクチャを簡素化できることが期待されます。

◆執筆:プロダクトデベロップメント本部 技術基盤部 インフラグループ  水谷圭佑 @m1ztch

【サービス公式サイト】
https://www.kaonavi.jp/

アーキテクチャを構成するツール

Snowflake

データ基盤

Snowflake

Amazon CloudWatch

監視・オブザーバビリティ

Amazon CloudWatch

Amazon EventBridge

Amazon EventBridge

Amazon API Gateway

API

Amazon API Gateway

Amazon Athena

サーバレス

Amazon Athena

Amazon CloudFront

CDN

Amazon CloudFront

Amazon ElastiCache

データベース

Amazon ElastiCache

AWS Lambda

サーバレス

AWS Lambda

Amazon S3

サーバレス

Amazon S3

AWS Step Functions

AWS Step Functions

会社情報

株式会社カオナビ

株式会社カオナビ

社員の個性・才能を発掘し、戦略人事を加速させるタレントマネジメントシステム「カオナビ」を提供しています。企業の人材情報をクラウド上で一元管理し、社員の顔や名前、経験、評価、スキル、才能などの人材情報を可視化することで、最適な人材配置や抜擢といった戦略的なタレントマネジメントの実現を支援しています。今後も、人材マネジメントのプラットフォームとして、日本の「働き方」を変えていきたいと考えています。