企業ITもクラウド的な世界に向かい始めた今日この頃を徒然に‥

IoT = 組込み x 通信 x リアルタイム x 分析 x ビジネスプロセス x Web

»

クラウドに取り組むなかで、ここ1、2年といえばIoTの仕事に関わることがとても増えてきました。そんな中で強く感じるのは、IoTのシステム、特にビジネスでしっかり活用されるIoTを作りあげるのに、今までのIT技術とソリューションと比べて、比較にならない多様な技術を使いこなさないといけないだろうなということです。

デバイスからデータを取り出してくる組込みの技術。そのデバイスとサーバーなどの間を適切に、時にバッテリーなども意識してデータを送り届ける通信の技術。どんどん送ってこられるデータを、取り込んで貯めるのか選択するのかといったリアルタイム処理の技術。貯めた膨大のデータを適切に、価値あるように意味を引きだす分析の技術。意味あるデータを顧客など関係するデータと結びつけてプロセスとするビジネスアプリの技術。そしてそれを顧客やパートナーや社内の人にモバイルなども含めて使いやすいように見せるWebアプリの技術。こんなところがIoTの主だった技術しょうか。

組込み、通信、リアルタイム、分析、ビジネスプロセス、Webと、それぞれ専門家がいて、同じITエンジニアといってもかなり流派の違いがあるそれぞれの分野です。それを一つのシステムにまとめあげるには、まずは各分野のエンジニアが相互に会話して話が通じあい、そして誰かが全体像をきっちり抑えたアーキテクチャーに仕上げないといけないでしょう。

過去を振り返ってみれば、異分野のITエンジニア同士が一つのシステムを作り上げるのに、議論を交わしつつ、お互いの考え方のベースを理解するのに苦労しつつ、なんとか一つのものとして作りあげていくことは技術の進化とともによくありました。PCとLANの出現ではクライアント/サーバー化で、PC系エンジニアとサーバー系エンジニアのせめぎ合い。インターネット黎明期はビジネスプロセスのWeb化で、基幹系エンジニアとWeb系のエンジニアのせめぎ合い。そういった意味では異分野のITエンジニア同士のコラボレーションは過去も乗り越えてきた道です。ただ、今度のIoTのシステム作りは、その組み合わせが、組込み、通信、リアルタイム、分析、ビジネスプロセス、Webと、一気に複雑になることになるでしょう。

もちろん、それぞれの技術、製品も、汎用化されたり、ハードウェアの技術だったものをソフトウェアでも扱えるように、また機能を隠蔽化するといったAPI化がされてくるでしょう。特にクラウドでは、デバイスとのやりとり、セキュリティ、付随した処理などを簡単にする、AWS IoT、Azure IoT Suiteなどが出始めています。モバイル通信ではAPIで制御できるSoracomといったものもでてきました。そして分析、ビジネスプロセス、Web化などは、クラウドではSalesforceをはじめとしていろいろなものが既に広がってきています。

こういったIoTのシステム作りを容易にする製品はこれからも進化していくでしょうが、それでも特に全体をみるソフトウェアの立ち位置のエンジニアは、組込み的なもの、通信的なもの、分析的なもの、ビジネスプロセス的なものなどと、その特性を理解することはIoTのアプリケーション開発ではどうしても避けられないことでしょう。さらに全体を設計するアーキテクトは、それらの特性の違いを理解して、多様な技術を組み上げる、またはいろんなクラウドを使って、編み上げるといったスキルが必要になってきていると思います。

そういえばWebの世界では、インフラやバックエンドそしてフロントの様々な技術を取り扱い、さらに開発だけでなく運用まで考えて一人でもシステムづくりできる、フルスタックエンジニアという概念が広まっています。それがIoTになると、さらにその先のハードウェアや組込みの理解、そしてデバイスなどの今までになくスケールすることを考えなければいけないという意味で、フルスケールエンジニアという言葉を、さきほどのSoracomの共同創業者の玉川社長が提唱しています。

こんなに多様な技術のインテグレーションであるIoT。とても自分で一からオンプレミスで組み上げるのはかなり困難かと思います。従量課金やスケーラビリティは一般のクラウドの特性ですが、PaaSやSaaSといった、インフラなど複雑性の隠蔽ができ、アプリケーションの開発スピードも一気に高まるクラウドは、IoTを契機に今後、普及のスピードが高まるのではないかと感じています。多様なPaaS/SaaSを使いこなせるエンジニアがIoTのシステムを編み上げる、といったそんな新しいエンジニア像を想像しています。

Comment(4)

コメント

無線従事者

「リアルタイム」は要素に入らないのではないでしょうか?
IoT全般に云えることだと思いますが、ディバイス側には電源容量の制限が大きく、潤沢な通信速度を利用することができにくい環境で動作するものではないでしょうか?そのようなディバイスがセンサーのデータをリアルタイムにアップロードするのはバッテリ消費の観点で厳しい状況ではないでしょうか?また、IoTディバイスで得られるデータは単純なデータがメインになると思われ、POSデータのように沢山の情報を含むものではないので、リアルタイムな集計を行ってもその結果はあまり有効性が認められないのではないでしょうか?

関 孝則

コメントありがとうございます。ご指摘のようにデバイスのバッテリーの課題でなかなか大量のデータをアップするのがむずかしい分野、特に屋外のもので見受けられます。一方、屋外でも、電源がとれたり、屋内で使う機器で、モバイル通信でなくインターネットにつなげたりする機器もあります。その場合は、頻繁にデータをあげつづけるものもあり、そこでリアルタイム、究極には、CEPと呼ばれるイベント処理まで必要なものがでてきました。IoTといってもその広がりは、制約がそれぞれ多様になっている気がします。

無線従事者

IoT = 組込み x 通信 x リアルタイム x 分析 x ビジネスプロセス x Web
と仮定して、 リアルタイム=0の状態が存在するのであれば、IoT =0が成立します。
よってリアルタイム=0の状態は定義外とすべきではないでしょうか?
また、CEPはデータ処理のソースデータの扱いについての考え方であり、IoTとは
レイヤが異なるものであると考えますが、如何でしょうか?
また、この考え方からすると、「分析」の項が存在するのも説明がつかなくなってくるのではないでしょうか?
昔、サンマイクロシステムズのスコットマクネリが提唱した、The Network is the Computer.という、通信途上でデータ処理が行われるというところまで抽象化、集約化を想定した考え方なのでしょうか?

関 孝則

確かにこれを数式と考えると、掛け算は適切でないかもですね。足し算で表現したほうがよかったですかね。掛け算は文系的な表現かもです。本質的には、デバイスと通信とそれを処理するプロセスかWebか、がIoTの必須の要素ですね。ただ、最近は分析を必ずと考える人もいたり、将来はリアルタイムが主流になると考えたりと、いろいろなバリエーションがあることも確かです。まずは、必要ないしは、ありえる要素としてお考えいただければ。

コメントを投稿する