Skip to content

IOTプラットフォーム

IoT システムの開発と展開は複雑で、接続されたデバイス、ネットワーク、クラウドサービス、モバイルや Web アプリケーションなど、さまざまなものを調整する必要があります。

IoT プラットフォームは、ハードウェアデバイスとそれらが収集するデータを、ユーザー向けのモバイルアプリケーションや Web アプリケーションに接続し、管理するためのミドルウェアを提供します。これらの IoT プラットフォームは、一般的に、デバイス、アプリケーション、およびサービス間の安全な通信を確立するように設計されています。また、IoT アプリケーションの開発・展開を迅速かつ容易にすることができます。IoT プラットフォームは、拡張性と信頼性を備えています。例えば、IoT プラットフォームにはフォールトトレランスが実装されており、デバイス、ネットワーク、クラウドサービスに障害が発生した場合でも、IoT システムが継続して動作するようになっています。IoT プラットフォームは、標準規格を活用し、文書化された API や SDK を提供することで、異機種のデバイス、アプリケーション、サービスを IoT システムに統合することができ、要件の変化に応じてコンポーネントを柔軟にカスタマイズしたり置き換えたりすることができます。

モノのインターネットは急速に進化しているため、市場投入までの時間を短縮し、競争力を維持するためには、IoT アプリケーションを迅速かつ効率的に開発する必要があります。IoT アプリケーションにはそれぞれ固有の要件がありますが、ほとんどの IoT プロジェクトでは、接続されたデバイスの管理や、デバイスが生成するデータの通信、保存、分析に関する共通の要件があります。IoT プラットフォームは、汎用的でカスタマイズ可能なツールやサービスを提供することで、これらの基本的な要件に対応しています。また、カスタム IoT ソリューションを開発する際にベースとなるabstractionsも提供しています。

IoT プラットフォームの主な機能を紹介し、汎用性の高いエンド・ツー・エンドの IoT プラットフォームを検討することで、IoT プラットフォームを採用して IoT ソリューションを迅速に開発し、IoT データから最大限の価値を迅速に得るべき理由が見えてくるでしょう。

IoT プラットフォームの機能

以下の主要な IoT プラットフォームの機能について考えてみましょう。

  • デバイス管理
  • データ通信プロトコル
  • データストレージ
  • ルールとアナリティクス
  • 迅速なアプリケーション開発と展開
  • 統合
  • セキュリティ
  • IoT プラットフォームで構築するソリューションの開発・保守にかかるコスト。

各能力の相対的な重要性は、要件によって異なります。例えば、小規模なホームオートメーションシステムの場合、デバイス管理は主要な関心事ではありません。管理すべきデバイスはほとんどありません。ホームオートメーションはほとんどがリアクティブなものです。IoT プラットフォームが、過去のセンサー読み取り値を保存して分析するためのデータストレージとデータ分析機能を提供することは、それほど重要ではありません。しかし、センサーが検知したイベントを見逃さず、リアルタイムに対応するために、IoT プラットフォームは高速で信頼性の高いデータ通信プロトコルをサポートする必要があります。それなのに、産業機器の故障や摩耗、性能の低下などを監視する数千個のセンサーを含む産業用 IoT アプリケーションでは、IoT プラットフォームのデバイス管理や分析機能がより重要になります。

デバイス管理

IoT デバイスの管理については、拙稿「Choosing the best hardware for your next IoT project」を参照してください。

IoT プラットフォームのコア機能の 1 つは、そのデバイスの管理です。デバイス管理は、各 IoT デバイスのライフサイクル全体を通して行われます。これには、新しいデバイスのプロビジョニング、稼働中のデバイスのモニタリングとメンテナンス、そして最終的には耐用年数が終了したデバイスのデコミッションが含まれます。IoT プラットフォームでは、デバイスの登録管理、設定、無線によるアップデートが可能です。適切な IoT プラットフォームを使用すれば、デバイスの状態に関するアラートを受け取り、デバイスの分析や使用状況を監視し、全体的な状態や健康状態を知ることができます。IoT プラットフォームでは、問題が発生したときにリモートデバッグを行うことができます。また、IoT プラットフォームでは、接続されたデバイスやそのメタデータをインベントリ化して検索する機能など、資産管理が可能な場合もあります。

また、IoT プラットフォームは、「デバイス不可知論」であり、既存の ERP(Enterprise Resource Planning)システムと統合することが極めて重要である。

データ通信プロトコル

<サイドバー>

IoT のネットワークプロトコルについては、拙稿「Connecting all the things in the Internet of Things」で詳しく紹介していますので、ご覧ください。

IoT デバイス、ゲートウェイ、クラウドベースのアプリやサービス間の安全で信頼性の高い通信は、リモートデバイス管理とその接続を可能にするために、適切かつ継続的なデータ収集と送信を行うために、すべて不可欠です。一部のデータはローカルに保存され、エッジアナリティクスで処理されるかもしれませんが、センサーやその他の IoT デバイスを使って遠隔地で収集されるデータも多くあります。そのため、必要な集計、処理、さらには可視化のために、上流のクラウドサービスやアプリが必要になる場合があります。1 つの IoT システムには何千ものデバイスが接続されていることが多く、多くの IoT プラットフォームには、デバイスやゲートウェイが低遅延かつ大規模にメッセージを送受信できるようにするためのメッセージ・ブローカー・サービスが組み込まれています。これらのメッセージ・ブローカー・サービスは、通常、MQTT、CoAP、XMPP などの標準的な通信プロトコルを使用しますが、一部のプラットフォームでは、リアルタイム通信のために Web ソケットをサポートしています。

データストレージ

何十億ものデバイスが接続され、かつてないスピードでデータが生成される中、その膨大なデータをどこに保存するかは、IoT プラットフォームを選択する際のもう一つの検討事項です。データレイクには、生データ、半構造化データ、構造化データなど、さまざまな形式のデータが格納されます。このようなデータレイクは、柔軟性と拡張性を最大限に高めるために、NoSQL や Hadoop 技術の上に構築されることが多い。データレイクやその他のデータストアは、可用性が高く、同時読み取りと書き込みに対応しており、IoT アプリがデータにアクセスしたり問い合わせたりする際のパフォーマンスを向上させるために、設定可能なインデックスを備えています。

ルールと分析

データが確実に保存されたら、それを分析できなければなりません。多くの IoT プラットフォームは、リアルタイム処理とバッチ処理を含む分析機能を提供しています。ルールエンジンは、実用的な洞察を得るためのリアルタイムのデータ分析を行います。条件をコード化したルールがアクションを起こします。一部のプラットフォームは、ターンキー分析アプリケーションを提供しています。また、レポート、アナリティクス、ダッシュボード、データビジュアライゼーションを柔軟にカスタマイズできるプラットフォームもあります。

アプリケーションの迅速な開発と導入

目的に応じたアプリケーションの開発・提供のスピードは、IoT プラットフォームにとって重要な関心事です。コードの定型文生成ツール、迅速な開発のためのテンプレートやウィジェット、デプロイを効率化・自動化するツールなどを提供する IoT プラットフォームを選択してください。

統合

相互運用性も重要な検討事項です。様々な接続デバイスや IoT 関連サービスが存在しています。今後数年で数十億台がオンラインになると言われています。IoT システムの将来性を迅速に確保することが重要です。IoT プラットフォームは、標準規格を採用し、基盤となる技術に対して抽象化と標準化の追加レイヤーを提供することで、この相互運用性を実現します。例えば、SDK や API(特に REST API が一般的)を介して他のプラットフォーム、デバイス、Web サービス、ツール、アプリケーションと統合する際に、より高い解像度のセンサーを使用するために IoT デバイスを必要に応じてアップグレードしても、アプリケーションが壊れる可能性は低くなります。

セキュリティ

セキュリティは、IoT ソリューションの設計に不可欠な要素です。セキュリティには、デバイスやネットワークのセキュリティと、クラウドやアプリケーションレベルのセキュリティが含まれます。IoT プラットフォームは、 LDAP などのアイデンティティ管理に使用されている既存のシステムに対して、 認証・認可サービスを提供し、 できれば統合されているものを選びましょう。デバイスの認証には、X.509 などの規格の採用を検討します。安全な通信のためには、コンテンツを暗号化し、データの整合性を確保するために TLS などの規格を採用します。また、IoT プラットフォームでは、ユーザー、デバイス、ゲートウェイ、サービスに対してロールベースのアクセスコントロールを実装したり、セキュリティ監視・監査ツールを提供したりすることも考えられます。

コスト

IoT プラットフォームを導入することで、IoT ソリューションの開発スピードが向上することは大きなメリットですが、IoT プラットフォームは開発コストの削減にもつながります。ホスティングされた IoT プラットフォームにアクセスするためのサブスクリプション費用や、セルフホスティングされたプラットフォームのホスティング費用などの継続的なコストは、通常、カスタムメイドの自社ソリューションを開発・維持するコストよりも低くなります。多くの IoT プラットフォームでは、無料の試用期間や低額の利用料金が設定されており、初期費用をほとんどかけずに使い始めることができますが、最初の試用期間が終わった後のコストがどのように変化するかを考慮する必要があります。

IoT プラットフォームの比較

IoT プラットフォームは、様々なベンダーから何百種類も提供されています。中には、産業用 IoT に特化した PaaS 型 IoT プラットフォームである GE Predix (https://www.predix.io/)のように、特定の市場にのみ対応するなど、専門性の高いプラットフォームもあります。また、エンドツーエンドの IoT プラットフォームソリューションではなく、例えば、IoT アナリティクスのみに特化した Cisco と SAS の Edge-to-Enterprise IoT Analytics Platform のように、IoT システムに必要と思われる機能のサブセットのみを提供することにフォーカスした IoT プラットフォームもあります。その結果、複数の IoT プラットフォームを採用することになるかもしれません。

その出発点として、幅広い用途に適した人気の高い汎用エンドツーエンド IoT プラットフォームを 5 つご紹介します。

  • IBM Watson IoT
    IBM Cloud プラットフォーム上に構築された IBM Watson IoT は、リアルタイム・アナリティクスやコグニティブ・コンピューティングに強みを持つ、成熟した開発者向けの IoT プラットフォームです。また、このプラットフォームは、デバイス管理、認証・認可、安全なデータの保存と通信、MQTT や HTTPS などの標準的な通信プロトコル、ルール、REST API、SDK をサポートしています。
  • Amazon Web Services IoT
    AWS IoT は、拡張性の高い IoT プラットフォームです。SDK、認証・認可、デバイスレジストリ、MQTT や WebSocket、HTTP を使ってデバイスと通信するデバイスゲートウェイ、DynamoDB などの既存の AWS サービスと統合するルールエンジンなどが含まれています。AWS IoT の興味深い機能として、「デバイスシャドウ」があります。これは、デバイスの最後の既知の状態を含む、各デバイスの永続的な仮想バージョンです。
  • Microsoft Azure IoT Suite
    Microsoft Azure IoT Suite はもう一つの包括的な IoT プラットフォームで、Azure IoT Hub を用いたデバイス管理やデバイスツイン(デバイスシャドウイングなど)のサポート、MQTT、AMQP、HTTP などの標準的な通信プロトコル、セキュアなストレージ、ルール、予測分析やデータの可視化をサポートする分析エンジンなどを備えています。
  • ThingWorx
    PTC ThingWorx は、モデル駆動型の迅速なアプリケーション開発をサポートするエンタープライズ IoT プラットフォームです。機能としては、デバイス管理、アプリケーションモデリング、MQTT、AMQP、XMPP、CoAP、WebSockets などの標準プロトコルのサポート、予測分析などがあり、統合をサポートする REST API や SDK も提供しています。
  • Kaa
    Kaa は無料のオープンソース IoT プラットフォームで、Apache 2.0 ライセンスで公開されているため、セルフホストでの利用が可能です。Kaa には、Java、C++、C の REST API と SDK が含まれており、デバイス管理、データ収集、構成管理、通知、ロードバランシング、データ分析などの機能を備えています。

概要

さまざまな IoT プラットフォームがある中で、プラットフォームを選択することは困難に思えるかもしれません。各プラットフォームの機能に照らし合わせて要件を検討し、自社のビジネスに最適なものを選択してください。適切な IoT プラットフォームを採用することで、次の IoT プロジェクトの開発を簡素化、加速、効率化することができます。適切な IoT プラットフォームがあれば、独自の要件に集中して、最短時間で顧客に最大の価値を提供することができます。