AWS IoTとKinesisを活用して太陽光発電の管理システムを開発
システム/プロジェクト概要
各一般家庭に設置された、太陽光発電システム(発電パネル+蓄電池+制御デバイス)を管理・制御するためシステム。
各デバイスの情報をリアルタイムで収集・分析し、また蓄電/発電操作をセンター側から遠隔で制御することが可能。
お客様の課題/要望
スケーラブルかつ現実的なコストで実現できるシステム
各デバイスのデータを取りこぼしなく記録し、きめ細かな制御を行うシステムが必要であり、将来的に数万台のデバイスが稼働することから、それなりに大きなトラフィックを確実にさばけることが課題であった。
各デバイス向けの制御操作を確実に実行できること
各デバイスは基本的にインターネットに常時接続されているが、それでも回線の状況や電源の状況により、センター側から操作できなくなるタイミングがある。このような前提を踏まえたうえで、各デバイスを制御するための仕組みを考える必要があった。
Tech Funが実施したソリューション
スケーラブルかつ現実的なコストを実現
データの取り込みにAWS IoTとKinesisを用いたことで、高いスケーラビリティを実現した。デバイス数/データ量が少ない時は少ない費用で、またデータ量が多くなっても、現実的な費用で収まるシステムとした。
各デバイス向けの制御操作を確実に実行
センターから各デバイスへの制御操作は、Push型とPull型のどちらの方式でも行えるアーキテクチャが必要であると判断。デバイスがセンターと通信できる状態であれば、Push型で制御コマンドを通知し迅速な応答を可能とした。デバイスが停止中/回線が接続されていない場合、デバイスは制御コマンドをセンターからPull型で取得し、確実に制御操作を実行することを可能とした。これを実現するため、AWS
IoT Jobsを活用した仕組みを提案し、構築/実装した。
費用削減・作業時間削減を実現する仕組み
AWSインフラ費用、運用作業の手間を減らすため、基本的に全てサーバレス構成で実現した。
障害を早期発見できる設計
すべての構成要素は壊れる/すべての操作は失敗するという前提で全体的に設計し、要所要所で必要なエラー検知/ハンドリング処理等を実装することで、耐障害性の高いシステムを実現することを可能にした。
プロジェクト情報
対応工程 | 要件定義、基本設計、詳細設計、実装/構築、テスト |
チーム規模 | 最大6名体制(Tech Funチーム体制) |
工数 | 22人月 |
主要技術要素 | AWS (AWS IoT, Kinesis Data Firehose, API Gateway, Lambda, S3, AWS Glue, Athena, Redshift) Python3 |
アーキテクチャ図
リリース後の効果/お客様の声
計画どおりサービスインさせることができ、稼働台数も順調に伸びてきている、との声をいただいた。
機能追加等でサービス拡充も行い、お客様のビジネスの発展に貢献することができた。