イベント
既存インフラを活用してクラウドとIoT機器の連携を実現する「Azure IoT」
(2016/5/26 06:00)
5月24日、25日に日本マイクロソフト主催で開催中の開発者向けイベント「de:code 2016」に設けられたセッション「Azure IoT ソリューション アーキテクチャ」をレポートする。
Azure IoTは、既存のデバイスや機器を利用しながら、これまでのITインフラを拡張する形でクラウドとIoT機器の連携を実現するソリューション。IoTを活用した機器のリモート監視や予測保守、資産管理といった汎用的なシナリオをに基づいた構成済みのソリューションが用意されており、構成を拡張することもできる。
セッション冒頭では、実際に米国のビル会社で導入されているAzure IoTを活用したビル監視の例のデモが行われた。
こうしたサービスを実現できるAzure IoTのリファレンスアーキテクチャは、IoT機器とをクラウドへ接続し、デバイスとクラウド間でのデータ送受信を行う「Device Connectivity」、デバイスの登録と検索、データの収集と加工、さらに業務ロジックに基づいた分析や可視化を行う「Data Processing,Analytics and Management」、IoTアプリUIやダッシュボード、業務システムとの連携を担う「Presentation & business Connectivity」の3つに大別できる。
Device Connectivityは、「IoT Hub」とも呼ばれる数百万のIoT機器を接続可能なCloud Gatewayが核となる。IoT機器とは基本的にAMQP、HTTPS、MQTTの3種類のプロトコルのいずれかを用いて通信する。
IoT機器をIoT Hubに接続するためのAzure IoT device SDKがGitHubで提供されている。SDKはWindows、Linux、RTOS、Androidなどクロスプラットフォームに対応するほか、C、.NET、Java、Node.js、Pythonをサポートしており、クラウドとデバイスの双方向通信を実現している。
IoT Hubは、IoT機器の登録や認証の機能も提供している。機器ごとにIDとキーを用い、有効期限付きのアクセストークンを生成して認証しており、盗難時に特定の機器をクラウド側で無効にすることも可能だ。今後はIDやキー以外のデバイスに関する定義や、ドキュメントを管理できるように拡張されるという。
Data Processing,Analytics and Managementの中心は、IoT Hubからのデータを各サービスに出力する「Azure Stream Analystics」だ。1秒間に数百万のイベントを処理可能で、IoT機器からのデータをリアルタイムに分析できる。イベント処理にはSQLに似たクエリを用い、さまざまなAzureコンポーネントへのデータ出力に対応している。
Azure Machine Learningも重要な機能と言える。Stream Analysticsから出力されたデータに基づいて機械学習を行い、作成した予測モデルをWebサービスとして提供するもので、例えば電力の消費予測について、その日が休日か平日か、あるいは気温の状況などをパラメータとして入力すれば、関数のような形で予測データを返すといった処理が行えるという。
Presentation & business Connectivityでは、Power BIを使って比較的簡単に分析データをダッシュボードとして視覚化できる。また既存の業務システムとの連携では、汎用的パッケージであれば、連携コネクターが提供されており、比較的簡単に外部システムとの連携を実現できるとのことだ。
セッションの最後には、すでにAzure IoTが利用されている国内の導入例が紹介された。