制約の大きな省電力デバイスとクラウドの連携
とあるセンサーメーカーから、バッテリーで動作するセンサーからモバイル回線を通じてデータをクラウドにアップロードするシステムのご相談がありました。このお客様はB2Bが主体のため国内での知名度こそ低いですが、高性能なセンサーを開発できるため世界中にクライアントがいます。
今回、そのお客様が開発しようとしているシステムで用いるセンサーデバイスは、バッテリーのみで数ヶ月以上の動作が求められるため、非常に省電力を意識した設計になっていました。そのため搭載メモリの容量が非常に小さく、モバイル通信でデータを送信する際は、データを分割して送信する必要がありました。
このセンサーの計測で得られるデータは、分割したままでは処理ができないため、アップロードされた分割ファイルを、クラウド側で元通りに復元する必要がありました。データを受け取ったクラウド側では、分割されたファイルを復元する際に、データの欠落がないか確認し、もしデータの欠損があった場合はデバイス側に再送信をリクエストする必要があります。
そうやって受信したデータは、最終的に専用のWebサイトを介して利用者が利用することになります。
主な要件は以下の通りです
- センサーデバイスの管理とデータの受信
- 分割されたファイルの復元と検証
- 受信したデータの保存
- データを閲覧するウェブサイトの構築
このなかで、お客様であるこのセンサーメーカーにとって課題となっていたのが、2番目の「分割されたファイルの復元と検証」でした。このお客様は、ハードウェアの開発は得意でしたが、IoTデバイス、すなわちハードウェアとクラウドが連携するシステムの開発経験が不足しており、またクラウド開発の経験も多くはありませんでした。
このため、クラウド側のデータの復元と確認の処理、およびクラウドとIoTデバイスとの連携部分という、このシステムにおける技術的なポイントについて自分達だけでは開発が難しいとして、私どもに内製化および開発の支援についてご相談をいただきました。
AWS上で複数のコードを連動して動作させる
このシステムの主な構成は、ハードウェアの管理はAWS IoT Core、分割ファイルの復元や検証などはAmazon SQSとAWS Lambdaで構成、データはAmazon S3に格納します。お客様向けの専用閲覧サイトもAWS上にサーバーレスで構築しており、完全にサーバーレスアーキテクチャで設計しました。
また、このセンサーはシビアな目的に用いられるため、できるだけ止まらないことも求められたため、同じシステムを2つのリージョンに多重化したマルチリージョン構成を取ることで、高い可用性と耐障害性を実現しました。
システムの構築にあたり、もっともポイントとなったのは、センサーから分割して送られてきたデータを復元、検証してウェブサイトで見られるようにするプロセスを、フルサーバーレスで構築し、かつ数秒以内に処理を完了させるところでした。
仕組みとしては単純ですが、複数のコードが連動して同じタイミングで動作する必要があるため、Lambdaを始めとしたAWSのサービスを熟知した上で、検証しながら慎重に開発する必要がありました。
また、IoTデバイスの場合は、テストにあたり実際のデバイスを用いる必要があるため、そのための仕組みや体制の準備も重要な要件になります。お客様はセンサーデバイスの専門家ですので、その点についてはお客様にお任せしつつ、私どもではお客様のクラウド開発チームと共に、センサーデバイスとの連携システムのクラウド開発に尽力いたしました。
製造業向けのクラウド開発の豊富な経験
お客様と私どもの連携した開発の結果、要望を100%満たしたシステムの開発に成功しました。
製造業では工場におけるFAの普及後、老朽化したFAシステムの仮想化に始まり、現在は更なる効率化やスマート化を目指したクラウド活用のニーズが高まっています。
また、今回のお客様のようにDXや事業機会の拡大のため、ITの内製化体制の構築に取り組まれるケースも増えています。その際、サーバーレスアーキテクチャを採用することで、インフラの調達や維持管理の工数をなくし、価値を生み出すソフトウェアの開発そのものにフォーカスすることができます。
そのなかでもIoTは、パソコンやスマホからだけ利用するウェブサイトとは異なり、通信する相手のデバイスの仕様上の制限が厳しく、またデバイスの状態も考慮しないといけないため、一般的なウェブサービスの開発よりも難易度が高くなります。
私どもには、製造業出身でFA関連や、IoTプロジェクトの経験が豊富なメンバーがいるため、様々なお客様のご要望に応えることができます。「こんなことがしたいけど、どうやってAWSを使ったらいいのかわからない」、「自分達だけで構築したけれど、どうも上手く動かない」といった課題をお持ちでしたら、遠慮なくご相談ください。