IoT活用の懸念である「負荷と電池」もBluemixで解決
様々なビジネス活用が期待されているIoT。既に多彩なアプリケーションやシステムなどへの活用が始まっているが、同時に懸念点も指摘されている。その一つが「負荷の見積もり」だ。サーバにつながる機器がPCやワークステーションなどに限定されていた時代から、スマートフォンなどデバイス、さらにIoTとなれば、ありとあらゆるものから膨大なデータが流れ込むことになる。さらに更新頻度やデータ量の増加率まで考慮する必要があるとすると、ますます予測が難しくなるのは間違いない。
そしてもう一つ、機器側の電池の問題もあげられる。たとえば、イベントなどで通電していない機器を貸し出す場合、時間中の稼働を必ずしも担保できるとは限らない。特にHTTPプロトコルは負荷が大きく、テストでは動いても、台数が増えると途端に使えなくなることもある。負荷の高いプロトコルを使っているが故に、デバイス側の負担が大きく、電池使用量に直結するというわけだ。当然ながら、データフローチャートから実装するまでの実現性も、時間やコスト、人手の面で悩ましい問題といえるだろう。
こうしたIoT活用における問題を解決する方法として、木村氏は「HTTPに頼らず、より軽量なMQTT(Message Queue Telemetry Transport)を使うこと」、そして「“動く”フローチャートを作ること」の二つを提案し、その開発プラットフォームとして「Bluemix」をあげる。
BluemixはSoftLayerを基盤とし、Cloud FoundryというオープンソースのPaaS環境を活用した新しいクラウド・プラットフォームだ。「ランタイム」をクラウドで“超”迅速に提供する、簡単に言えばクラウド上の「アプリケーションサーバ」だ。いきなりJava、Node.js、Rubyなどといった任意の開発言語が使用可能であり、その下のLinuxやWindowsなどを意識する必要がない。つまり、起動までのコンフィゲーションが不要であり、1インスタンス起動するまでに、言語によるが30秒から1分程度で済むという。当然、Cloud Foundryならではのスケールイン&アウト機能もビルトイン済みだ。
そして、アプリケーションの機能を拡張するコンポーネント「サービス」もわずか30秒で連携(バインド)できるという。たとえば、リレーショナルデータベース、メモリキャッシュ、シングルサインオン、人工知能などが用意されている。
こうした「ランタイム」と「サービス」、そして時にアプリケーションまでも、典型的なパターンとしてすぐに使えるよう、「ボイラープレート」と呼ばれるテンプレート化がなされている。いささか前置きが長くなったが、ボイラープレートにはIoTアプリケーション作成を目的としたものも用意されており、その活用によって前述のような課題を解決できるというわけだ。