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

ハコベル配車計画のインフラアーキテクチャ

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

ハコベル配車計画のインフラアーキテクチャ

最終更新日 投稿日
image1.png

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

ハコベル配車計画」はAIにより配車計画業務の標準化・高速化、配送コストの最小化を実現するプロダクトです。

私たちのプロダクトの特徴として、インフラアーキテクチャにマイクロサービスを、バックエンドサービスのソフトウェアアーキテクチャにCQS/イベントソーシングを採用している点が挙げられます。

イベントソーシングの採用背景・意図

配車計画の最適化を目指すドメイン特性上、以下の要件を考慮する必要がありました。

  • toB向けの業務用アプリケーションが故、操作ログを重要視しその証跡を追えられる
  • 複数ユーザによるデータへの更新を安全かつ機能性を損なわずに実現する
  • 自動計画結果に対するユーザの変更パターンを分析し、AIアルゴリズムを継続的に改善できる
  • ユーザ操作を任意のタイミングまでロールバックできる

これらの要件に対してイベントソーシングの強みがマッチし採用に至りました。

一方で、社内にイベントソーシングの運用経験がなかったこと、結果整合性による不整合の処理に頭を悩まされたことで、厳密なCQRS/イベントソーシングは実現せずに以下の落とし所となりました。

  • コマンド側・クエリ側双方で同一のデータストアを参照、Readモデル・Writeモデルは分離する
  • イベントの保存と同時に最新のスナップショットをデータストアに保存し、イベントのリプレイは実装しない

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

私たちは、シンプルでありながら高可用性と高スループットを実現するアーキテクチャを追求しています。

現在のアーキテクチャの課題

  • スケールアウト・インの最適化ができておらず、導入企業が増えるたびに調整が難航する点
  • コマンド・クエリの双方で同一データストアを参照しているため、スキーマが複雑化し、クエリに特化したスキーマが定義できない点
  • イベントの保存・データストアへの保存を同一トランザクションで行っているため、トランザクションのライフタイムが長く競合が発生のリスクが上がっている点

足元はこれらの課題を解消しつつ、ビジネスの加速・ユーザへの価値提供の最大化をアーキテクチャ面で支えられるよう、最終的にはCQRS/イベントソーシングを実現できる状態に一歩ずつインクリメントさせていきたいと考えています。

【執筆】
堀崎 祥 ハコベル株式会社 システム開発部 エンジニア @H0R15H0
中村 隆宏 ハコベル株式会社 プロダクト開発部 マネージャー @qwinique
吉岡 渉 ハコベル株式会社 システム開発部 テックリード @no7wataru



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

Amazon DynamoDB

データベース

Amazon DynamoDB

Amazon Aurora

データベース

Amazon Aurora

Amazon S3

サーバレス

Amazon S3

Amazon ECS

インフラ

Amazon ECS

会社情報

ハコベル株式会社

ハコベル株式会社

ハコベルは「物流の『次』を発明する」というビジョンの下、荷主と運送会社をつなぐマッチングプラットフォーム事業と、荷主向けのオペレーションDXを支援するSaaS事業を運営しています。テクノロジーの力で物流をもっと透明に、もっとシンプルに効率化して、新しい業界の常識をつくります。