LUUPのシステムアーキテクチャ
アーキテクチャの工夫ポイント
LUUP のアーキテクチャの特徴は「Firebase と IoT の統合」です。
モバイルサービス開発プラットフォームである Firebase を用いて高速な開発サイクルを維持しながら、IoT 技術を用いてデバイス(車両)との双方向通信を実施しています。車両との通信プロトコルには MQTT を採用しており、AWS IoT Core を利用しています。一部の車両は TCP のソケット通信を利用するため、GCP 上に TCP サーバーを構築しています。さらに、LUUP にとってミッションクリティカルである車両との通信部分において、可用性やレイテンシーを考慮してシステムの信頼性向上に取り組んでいます。また、モバイルサービスおよび IoT ではフルマネージドを中心に採用し、管理コストの削減とスケーラビリティの確保を図っています。
現在のアーキテクチャの課題と今後の改善予定
大きく分けて三点あります。
マイクロサービス化
LUUPの開発組織も大きくなり、担当チーム間のコミュニケーションコストが増大しています。また、車両運用も複雑化しており、適切な機能の切り出しを行い、開発サイクル速度の維持が課題となっています。可観測性の向上
ユーザーがアプリを操作してから車両に反映されるまで、多くのコンポーネントを通ります。車両ファームウェア側の制限などもあり、どの部分にどれだけ時間がかかっているかを完全には計測できていません。サービスの成長のためには、今後も泥臭く可観測性を向上させる取り組みを続けます。コスト最適化
ユーザー数も増え、現状のアーキテクチャがコスト最適とは呼べなくなってきています。ユーザー・車両との通信を注視し、サーバー・DB・IoT 部分のコストが最適になるように取り組みます。
◆執筆:高原 健輔 株式会社Luup SwD部 IoTチーム
【サービス公式サイト】
https://luup.sc/
アーキテクチャを構成するツール
監視・オブザーバビリティ
Datadog
インシデント管理
Waroom
データ基盤
BigQuery
インフラ
Cloud Pub/Sub
インフラ
Cloud Run
AWS Amplify
AWS IoT Core
サーバレス
AWS Lambda
インフラ
Firebase
会社情報
株式会社Luup
LUUPは、スマホ一つで街じゅうのポートから電動マイクロモビリティへの乗り降りや移動を可能にするシェアリングサービスです。電動マイクロモビリティの普及によるCO2削減と、ご高齢の方も乗ることができる新モビリティの導入を実現し、人々が安全・便利に移動できる持続可能な社会をつくります。