
こんにちは!プロダクト開発グループに所属している槇です。
アクセルラボが提供するスマートホームサービス「SpaceCore」。その中核を担うのが、私たちが「自社開発」したIoTプラットフォーム「alie+」(アリープラス)です。alie+は、多種多様なデバイスを繋ぐ「IoTプラットフォーム」として、私たちの目指す「スマートライフ」を実現するための心臓部と言えるシステムです。
紹介する「alie+」(アリープラス)は、下図の青枠部分にあたります。

本連載では、この「alie+」の技術的な側面を3回にわたって深掘りしていきます。
第1回は、alie+を支える技術アーキテクチャがテーマです。ユーザーが体験する「いってきます」の一言で家電が動く、その裏側にある堅牢なシステムの全体像と、私たちが採用している技術スタックについて詳しく解説します。
なお、私たちがalie+を自社開発するに至った経緯については、こちらの記事で詳しく紹介していますので、ぜひ併せてご覧ください。
alie+の心臓部:スケーラブルな技術アーキテクチャ
alie+は、複数の技術を組み合わせたスマートホーム統合プラットフォームです。その中核をなすのは、堅牢でスケーラブルなアーキテクチャです。
アーキテクチャ概要
alie+は多種多様なベンダーのクラウドサービスと連携し、様々な通信規格のデバイスを統合管理します。このアーキテクチャの鍵は、「操作の抽象化」にあります。
例えば、A社とB社の照明をONにするAPIは内部的に全く異なります。この差異を、各ベンダー専用のモジュールが「翻訳者」の役割を果たし、吸収します。coreモジュールは「照明をONにする」という統一された命令を出すだけで、各モジュールがデバイス固有の命令に翻訳します。
この仕組みにより、新しいデバイスベンダーへの対応が迅速かつ柔軟になります。関連ロジックはベンダーごとにnpm package化し、AWSのLambda Layerとして各Lambda関数から参照します。これにより、コードの共通化、効率的な管理、デプロイパッケージの軽量化を実現しています。

主要技術スタック
- TypeScript/Node.js ベースのバックエンド
alie+の主要なシステムは、TypeScriptというプログラミング言語で作られています。API(アプリ間のデータ連携部分)を作る際には、Koa.jsというフレームワークを採用しています。また、システム全体を小さな機能ごとに分けるマイクロサービスアーキテクチャという仕組みを取り入れることで、それぞれの開発を効率的に進め、不具合の発生リスクを低減しています。
- AWS クラウドインフラ
AWS CDKを活用して環境構築を自動化し、再現性の高いインフラを実現しています。APIはAPI Gateway + Lambda、定時バッチはEventBridge + Lambdaというサーバーレス構成を基本としており、高い可用性とスケーラビリティを確保しています。その他にも、DynamoDB、SNS、Step Functionsなど、用途に応じて最適なAWSサービスを組み合わせて活用しています。
- 依存性注入(DI)フレームワーク
InversifyJSを使用することで、モジュラーで拡張可能なアーキテクチャを実現しています。
CI/CD
開発の効率化と品質担保のため、CI/CDパイプラインを構築しています。ソースコード管理はGitHubで行い、GitHub ActionsやCircleCI、AWS CodePipeline、AWS CodeBuildを連携させることで、ビルドからテスト、デプロイまでの一連のプロセスを自動化し、開発効率と品質の両立を実現しています。
次回予告
今回は、alie+の基盤となる技術アーキテクチャについて解説しました。 次回は、このアーキテクチャの上で「どのようにして多様なメーカーのデバイスを繋ぎ、連携させているのか」、デバイス統合と自動化の仕組みの秘密に迫ります。どうぞお楽しみに!
📩 お問い合わせ・採用情報
本ブログを読んでいただきありがとうございます。 もし内容にご興味を持っていただけましたら、以下よりお気軽にお問い合わせ・ご応募ください。
スマートホームの導入をご検討中の企業様へ:
技術にご興味を持たれたエンジニアへ:
アクセルラボではエンジニア採用を強化しています。 私たちの技術やビジョンに共感し、スマートホームの未来を共に創っていきたい方のご応募をお待ちしています。
