Azure IoTとは
Azure IoTは、
Microsoft Azureプラットフォームに実装された革新的なIoT向けのクラウド機能群です。これまでの従来型のクラウドサービスと異なり、デバイス同士(M2M)の通信を支援するために特化しています。Microsoftは、Windows 10 IoTに対抗すべく、このAzure IoTを提案しています。
Azure IoT Hub
Azue IoTの中心的な服務であるAzure IoT Hubは、IoTデバイスとの接続を見込んだエンドポイント機能を備えています。このHubは、一般的なAzureサービスで用いられるWeb Appとは異なり、AMQPやMQTTといった特有のプロトコルにも対応しています。また、最大10万台のデバイスを接続できるように設計されており、各デバイスには異なるアクセスキーが割り当てられます。2015年10月にプレビューリリースされ、その後一般に公開されました。
Azure IoT SDK
Azure IoT Hubに接続するデバイス及びクラウド側のプログラムを開発するためのSDKも提供されています。
GitHub上で公開されていますが、各種プログラミング言語やOSに対応しているため、さまざまなプラットフォームでの利用が可能です。サポートされる言語にはC (C++), C#, Java, JavaScript(Node.js)が含まれており、対応OSとしてはWindows, Linux, ARM mbedが挙げられます。特にC#の場合、必要なアセンブリをNuGet経由で入手でき、仮にSDKがなくてもプログラム開発が可能です。
Device Explorer
Device ExplorerはAzure IoT Hubにデバイスを登録したり、接続時に必要なアクセスキーを管理したりするのに役立つツールです。このツールは特定のデバイスに命令を送ったり、デバイスからのデータを受け取ったりする際のモニタリング機能を備えています。ソースコードは公開されており、すぐにインストール可能な形式でも入手できます。
使用方法
Azure IoT Hubを操作するには、IoTデバイスや管理用UIといった異なる主体を考慮し、それに応じたAPIが用意されています。C#アセンブリやREST APIも含まれ、ジャンルを問わず多様なメッセージ形式(テキスト、バイナリ)をサポートしています。その際、デバイスとサービス間でメッセージ解釈が合致すれば良いことも大きな特徴です。
セキュリティ
IoT Hubは、あらかじめ定義されたアクセス制御ポリシーに基づき、デバイスIDとアクセスキーを用いることで、外部からのアクセスを管理しています。これには、メッセージの暗号化も含まれ、標準でHTTPSとAMQPを使用することでセキュリティが強化されています。
課金方法
2015年12月時点では、IoT Hubの利用はユニットごとの処理メッセージ数の上限が設定されています。メッセージのサイズによってサポートできるデバイス数も変わり、例えば、4KBまでのメッセージであれば、低頻度プランの場合277台、高頻度プランでは4166台が接続可能です。
Azure IoT Suite
Azure IoT Hubを基にしたデモシステムであるAzure IoT Suiteも存在し、リモート監視や予兆保全などの実証プロジェクトが公開されています。これにより、ユーザーは自社のIoTシステム実装を迅速に確認できます。
競合サービス
IoT市場は競争が激化しており、
Amazon Web Servicesの「AWS IoT」、SAPの「SAP Leonardo」、GEの「Predix」など、多くの大手が類似のサービスを提供しています。これに対抗し、Azure IoTの機能を強化し続けることが、Microsoftにとって喫緊の課題となっています。
公式ウェブサイトや開発者ガイドを参照し、Azure IoTのすべての機能にアクセスできます。