ハコベル配車計画のインフラアーキテクチャ
アーキテクチャの工夫ポイント
「ハコベル配車計画」はAIにより配車計画業務の標準化・高速化、配送コストの最小化を実現するプロダクトです。
私たちのプロダクトの特徴として、インフラアーキテクチャにマイクロサービスを、バックエンドサービスのソフトウェアアーキテクチャにCQS/イベントソーシングを採用している点が挙げられます。
イベントソーシングの採用背景・意図
配車計画の最適化を目指すドメイン特性上、以下の要件を考慮する必要がありました。
- toB向けの業務用アプリケーションが故、操作ログを重要視しその証跡を追えられる
- 複数ユーザによるデータへの更新を安全かつ機能性を損なわずに実現する
- 自動計画結果に対するユーザの変更パターンを分析し、AIアルゴリズムを継続的に改善できる
- ユーザ操作を任意のタイミングまでロールバックできる
これらの要件に対してイベントソーシングの強みがマッチし採用に至りました。
一方で、社内にイベントソーシングの運用経験がなかったこと、結果整合性による不整合の処理に頭を悩まされたことで、厳密なCQRS/イベントソーシングは実現せずに以下の落とし所となりました。
- コマンド側・クエリ側双方で同一のデータストアを参照、Readモデル・Writeモデルは分離する
- イベントの保存と同時に最新のスナップショットをデータストアに保存し、イベントのリプレイは実装しない
現在のアーキテクチャの課題・今後の改善予定
私たちは、シンプルでありながら高可用性と高スループットを実現するアーキテクチャを追求しています。
現在のアーキテクチャの課題
- スケールアウト・インの最適化ができておらず、導入企業が増えるたびに調整が難航する点
- コマンド・クエリの双方で同一データストアを参照しているため、スキーマが複雑化し、クエリに特化したスキーマが定義できない点
- イベントの保存・データストアへの保存を同一トランザクションで行っているため、トランザクションのライフタイムが長く競合が発生のリスクが上がっている点
足元はこれらの課題を解消しつつ、ビジネスの加速・ユーザへの価値提供の最大化をアーキテクチャ面で支えられるよう、最終的にはCQRS/イベントソーシングを実現できる状態に一歩ずつインクリメントさせていきたいと考えています。
【執筆】
堀崎 祥 ハコベル株式会社 システム開発部 エンジニア @H0R15H0
中村 隆宏 ハコベル株式会社 プロダクト開発部 マネージャー @qwinique
吉岡 渉 ハコベル株式会社 システム開発部 テックリード @no7wataru
アーキテクチャを構成するツール
会社情報
ハコベル株式会社
ハコベルは「物流の『次』を発明する」というビジョンの下、荷主と運送会社をつなぐマッチングプラットフォーム事業と、荷主向けのオペレーションDXを支援するSaaS事業を運営しています。テクノロジーの力で物流をもっと透明に、もっとシンプルに効率化して、新しい業界の常識をつくります。
ハコベル株式会社の利用ツールレビュー
テスト
Qaseの導入レビュー
ハコベル株式会社 / SasakiNaomi
メンバー / QAエンジニア / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
CI/CD
【デプロイの属人性解消】 物流プラットフォーム「ハコベル」におけるCodemagicの活用事例
ハコベル株式会社 / bicstone
メンバー / フロントエンドエンジニア / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
認証基盤
【認証を任せて価値提供に集中】 物流業界向けSaaS「ハコベル配車計画」におけるAuth0の活用事例
ハコベル株式会社 / bicstone
メンバー / フロントエンドエンジニア / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名