目次


IoT プラットフォームを使用して IoT アプリケーションの開発を効率化する

IoT プラットフォームを使用すべき理由を理解するためのガイド

Comments

IoT システムを開発してデプロイするのは単純なことではありません。接続されたデバイス、ネットワーク、クラウド・サービス、モバイル・アプリケーション、Web アプリケーションといった多種多様な構成要素を調整しなければならないためです。

IoT プラットフォームは、さまざまなハードウェア・デバイスとそれらのデバイスが収集するデータを、ユーザー対応のモバイルや Web アプリケーションに接続して管理するためのミドルウェアを提供します。一般に、IoT プラットフォームはデバイス、アプリ、サービスとの間でセキュアな通信を確立するように設計されています。また、IoT プラットフォームを使用することによって、IoT アプリケーションを迅速かつ簡単に開発し、デプロイできるようになります。IoT プラットフォームは、スケーラブルで信頼性の高い設計です。例えば、デバイス、ネットワーク、またはクラウド・サービスで障害が発生したとしても IoT システムが稼働し続けるよう、耐障害性を実装します。さらに、IoT プラットフォームは標準を利用すると共に、十分に文書化された API と SDK を提供することで、異種のデバイス、アプリ、サービスを IoT システムに統合できるようにしているため、要件の変更に応じて柔軟にコンポーネントをカスタマイズしたり、交換したりできます。

現在、モノのインターネットは急速に進化しています。したがって、製品化までの時間を最短にし、競争力を保つためには、IoT アプリケーションを迅速かつ効率的に開発しなければなりません。IoT イニシアチブごとに固有の要件一式がありますが、接続されたデバイスの管理、そしてそれらのデバイスが生成するデータの通信、ストレージ、分析に関する要件は、ほとんどの IoT プロジェクトで共通しています。これらの基本要件に対応するために、IoT プラットフォームでは汎用のカスタマイズ可能なツールとサービスを用意しているだけでなく、カスタム IoT ソリューションを開発する際にベースとして使用できる抽象化も提供します。

IoT ソリューションを迅速に開発し、短時間で IoT データから最大の価値を引き出すには、IoT プラットフォームを導入する必要があります。それはなぜなのかを理解できるよう、この記事では IoT プラットフォームの主な機能を探り、汎用の包括的 IoT プラットフォームの代表例をいくつか紹介します。

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

IoT プラットフォームの主な機能として、この記事では以下の機能を取り上げます。

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

上記の各機能の相対的重要性は、使用ケースによって決まります。例えば、小規模なホーム・オートメーション・システムであれば、管理対象のデバイスはわずかな数しかないため、デバイス管理が懸念事項の上位に来ることはありません。また、ホーム・オートメーションはかなり受動的な使用ケースです。したがって、IoT プラットフォームにセンサー測定値を保管するためのデータ・ストレージがあるかどうかや、履歴データを分析するためのデータ・アナリティクス機能が備わっているかどうかは、それほど重要ではありません。けれども、センサーで検出されたイベントを見逃すことなく、ほぼリアルタイムでイベントに応答できるようにするという点では、IoT プラットフォームが高速で信頼できるデータ通信プロトコルをサポートしていることが重要となります。一方、産業用 IoT アプリケーションでは、設備故障を検出するため、そして設備保全を行うタイミングを予測するために、数千台のセンサーを使って工場設備を監視します。この場合は明らかに、IoT プラットフォームに備わっているデバイス管理機能とアナリティクス機能が極めて重要になってきます。

デバイス管理

IoT プラットフォームの主要な役割の 1 つは、IoT ハードウェア・デバイスを管理することです。デバイス管理は、各 IoT デバイスのライフサイクル全体を通して行われます。それは新しいデバイスのプロビジョニングから始まり、運用中のデバイスの監視と保守、そして最終的に存続期間の終わりに達したデバイスのデコミッショニングまで続きます。IoT プラットフォームにはデバイスの登録、構成、OTA (Over-the-Air) 更新を管理するための機能が用意されています。IoT プラットフォームを使用する場合、デバイスのステータスに関するアラートを受け取ることも、デバイスの正常性や使用状況に関する統計を監視することもできます。さらに、問題が発生した場合にはリモートからデバッグすることもできます。資産管理もデバイス管理として分類されます。資産管理においては、接続されたデバイスをリストアップしたり検索したりすること、そしてデバイスのメタデータをクエリーして管理することもできなければならないためです。

デバイス管理が重要となる使用ケースでは、IoT プラットフォームの選択基準として、デバイスに依存することなく、既存のエンタープライズ・リソース・プラニング (ERP) システムに統合できる IoT プラットフォームに注目してください。

データ通信プロトコル

接続されたデバイスをリモートから管理して更新できるようにするという点でも、データの送信という点でも、IoT デバイス、ゲートウェイ、そしてクラウド・ベースのアプリやサービスの間での通信がセキュアで信頼性の高いものであることは非常に重要です。ローカルで保管してエッジ・アナリティクスで処理できるデータもありますが、その一方で、センサーや IoT デバイスから収集されるデータの中には、上流のクラウド・サービスまたはアプリケーションに配信して集約してから、さらに処理するか視覚化しなければならないものもあります。1 つの IoT システム内で数千台のデバイスが接続されることも珍しくはないため、多くの IoT プラットフォームでは、デバイスとゲートウェイが低レイテンシーで大規模にメッセージを送受信できるよう、メッセージ・ブローカー・サービスを組み込んでいます。通常、これらのメッセージ・ブローカー・サービスが使用する通信プロトコルは、MQTT、CoAP、XMPP などの標準です。一部のプラットフォームでは、WebSocket によるリアルタイム通信もサポートしています。

データ・ストレージ

接続された莫大な数のデバイスにより、かつてない速度でデータが生成されるとなると、IoT プラットフォームを選択する際は、その膨大な量のデータを保管する場所も考慮しなければなりません。構造化データ、半構造化データ、非構造化データなどの多種多様なフォーマットのデータを保管するためには、データ・レイクが使用されています。これらのデータ・レイクは多くの場合、最大限の柔軟性とスケーラビリティーを実現するために、NoSQL または Hadoop テクノロジーをベースに構築されています。IoT プラットフォームによって提供されるデータ・レイクやその他のデータ・ストアは、一般に可用性が高く、同時読み取り/書き込み処理をサポートします。さらに、IoT アプリがデータにアクセスしたりデータをクエリーしたりする際のパフォーマンスを向上させるために、構成可能なインデックスを使用できるようにもなっています。

ルールとアナリティクス

データが確実に保管されることがわかったら、次に考慮しなければならないのは、IoT データから洞察を引き出す方法です。多くの IoT プラットフォームでは、リアルタイムおよびバッチ処理にも対応するアナリティクス機能を提供しています。リアルタイム・データ・アナリティクスでは、実用的な洞察を引き出し、条件をコード化したルールによってアクションをトリガーします。その力は、ルール・エンジンによって実証されています。一部のプラットフォームでは、ターンキー式のアナリティクス・アプリケーションを提供していますが、組み込みのレポート、アナリティクス・ダッシュボード、そしてデータ視覚化のカスタマイズをサポートするプラットフォームのほうが遥かに柔軟性のある選択肢となります。

アプリケーションの迅速な開発とデプロイメント

特定の目的を対象としたアプリケーションの開発およびデリバリーを迅速化することは、IoT プラットフォームを導入する主な動機付け要因の 1 つです。したがって当然、選ぶべき IoT プラットフォームは、コードのボイラープレート生成ツール、迅速な開発をサポートするテンプレートまたはウィジェット、そしてデプロイメントの効率化と自動化を可能にするツールを提供しているものでなければなりません。

統合

今後数年間にわたって予期される IoT の急速な進化は言うまでもなく、すでに本番環境で使用されている多種多様な接続されたデバイスと IoT 関連のサービスを考えると、IoT 環境内の相互運用性は重要な考慮事項となります。IoT がここまで急速に進化する中、IoT システムの将来を保証することは、まさに不可欠です。IoT プラットフォームは IoT 環境内の相互運用性を確保するために標準を採用すると共に、基礎となるテクノロジーを抽象化および正規化する追加の層を設けています。例えば、より分解能の高いセンサーを使用するように IoT デバイスをアップグレードすれば、状況が変わったとしても、アプリケーションが機能しなくなる可能性は低くなります。IoT プラットフォームは、とりわけよく使われている REST API をはじめ、SDK と API という手段により、他のプラットフォーム、デバイス、Web サービス、ツール、アプリケーションを統合できるようになっています。

セキュリティー

あらゆる IoT ソリューションの設計において、セキュリティーは不可欠な部分です。セキュリティーにおいては、クラウドおよびアプリケーション・レベルのセキュリティーを実装するだけでなく、デバイスおよびネットワーク通信のセキュリティーも確保する必要があります。したがって、認証および許可サービスを提供する IoT プラットフォームを選んでください。提供されている認証および許可サービスは、できれば、LDAP などの ID 管理に使用されている既存のシステムに統合できるもの、そしてデバイス認証に X.509 のような標準を採用しているものが望ましいと思います。セキュアな通信については、コンテンツを暗号化し、データ保全性を確保するために、IoT プラットフォームが TLS などの標準を採用している必要があります。IoT プラットフォームによっては、ユーザー、デバイス、ゲートウェイ、サービスに対するロール・ベースのアクセス制御を実装している場合や、セキュリティーの監視および監査ツールを提供している場合もあります。

コスト

IoT プラットフォームを導入する上での主なメリットの 1 つは IoT ソリューションの開発が迅速化されることですが、IoT プラットフォームは開発コストの削減にも役立ちます。ホスト型 IoT プラットフォームにアクセスするためのサブスクリプション料金や、自社でホストするプラットフォームのホスティング・コストなどの経常的コストは、カスタマイズされた社内ソリューションを開発して保守する場合のコストよりも低くなるのが通常です。多くの IoT プラットフォームでは、無償の試用期間を設けていたり、先行投資費用をほとんどかけずに使用を開始できるよう、使用量を制限した料金層を提供していたりします。ただし、使い始める前に、そのような初期試用期間が終了した後、コストがどのように変わるのかを考慮してください。

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

利用できる IoT プラットフォームは何百もあり、IoT プラットフォームのベンダーにも幅広い選択肢があります。例えば GE Predix (https://www.predix.io/) という産業向け IoT 専用の PaaS IoT プラットフォームなど、プラットフォームの中には特定のバーティカル・マーケットのみを対象に極めて特化されているものもあります。また、IoT プラットフォーム・ソリューション全体を提供するのではなく、IoT システムに必要になる機能のサブセットを提供することに重点を置いている IoT プラットフォームもあります。その一例としては、IoT アナリティクスに焦点を絞った、Cisco と SAS の Edge-to-Enterprise IoT Analytics Platform が挙げられます。そのような IoT プラットフォームを使用する場合は、複数の IoT プラットフォームを合わせて採用するという選択肢があります。

IoT プラットフォーム選びの出発点として、最もよく使われている汎用の包括的 IoT プラットフォームを 5 つ紹介します。これらの IoT プラットフォームは幅広いアプリケーションに適しています。

  • IBM Watson IoT

    IBM の Bluemix PaaS プラットフォームをベースに構築されている IBM Watson IoT は、開発者向けの成熟した IoT プラットフォームで、特に力を入れているのはリアルタイムのアナリティクスとコグニティブ・コンピューティングです。

    デバイス管理、認証および許可、セキュアなデータ・ストレージと通信、MQTT と HTTPS のような標準通信プロトコル、ルール、REST API および SDK もサポートされています。市場調査会社の IDC では、Watson IoT ポートフォリオと Watson IoT Platform を「IoT Platform of Platforms」と名付けました

  • Amazon Web Services IoT

    AWS IoT は極めてスケーラブルな IoT プラットフォームです。このプラットフォームには、SDK、認証および許可、デバイス・レジストリー、デバイス・ゲートウェイ (MQTT、WebSocket または HTTP を使用してデバイスと通信)、そして既存の AWS サービス (DynamoDB など) と統合するルール・エンジンがあります。また、AWS IoT には「デバイス・シャドウ」という興味深い機能も備わっています。この機能は、最後に既知となったデバイスの状態が保存された、各デバイスの永続的な仮想バージョンを作成する機能です。

  • Microsoft Azure IoT Suite

    Microsoft Azure IoT Suite も包括的な IoT プラットフォームの 1 つであり、Azure IoT Hub を使用したデバイス管理とデバイス・ツイン (デバイス・シャドウイングと同様)、標準の通信プロトコル (MQTT、AMQP、HTTP など)、セキュアなストレージ、ルール、予測分析とデータ視覚化をサポートするアナリティクス・エンジンが用意されています。

  • ThingWorx

    PTC の ThingWorx は、モデル駆動型の迅速なアプリケーション開発をサポートするエンタープライズ IoT プラットフォームです。このプラットフォームの機能には、デバイス管理、アプリケーション・モデリング、MQTT、AMQP、XMPP、CoAP、および WebSocket を含む標準通信プロトコルのサポート、予測アナリティクス、ならびに統合をサポートする REST API および SDK があります。

  • Kaa

    Kaa は、Apache 2.0 ライセンスの下で公開されている、無料のオープンソース IoT プラットフォームです。自己ホスト型プラットフォームとして使用できる Kaa には、Java、C++、および C 対応の REST API と SDK が用意されており、デバイス管理、データ収集、構成管理、通知、ロード・バランシング、データ分析の機能も備わっています。

まとめ

IoT プラットフォームの選択肢はあまりにも数多くあるため、初めは 1 つのプラットフォームを選ぶのは難しそうに思えるかもしれません、ビジネスに最適なプラットフォームを選択するには、ビジネスの要件を各プラットフォームの機能に照らし合わせて考慮してください。IoT プラットフォームの導入は、次の IoT プロジェクト開発の単純化、迅速化、効率化につながります。さらに、IoT プラットフォームを使用すると、使用ケースに固有の要件に集中できるため、短時間で顧客に価値をもたらすことが可能になります。


ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=ビジネス・アナリティクス, Internet of Things
ArticleID=1050599
ArticleTitle=IoT プラットフォームを使用して IoT アプリケーションの開発を効率化する
publish-date=03272018