マイクロソフトの太田寛氏と大田昌幸氏の二人が登壇し、まるで漫才のようなやり取りをしながら進んだ本セッション。「IoTは総合格闘技である」というユニークなタイトルをつけた理由について、太田(寛)氏が説明するところから、セッションは始まった。
IoTは総合格闘技である理由
IoTとは何か。組み込み系のイベントではセンシング技術関連、IT系だとビッグデータ関連の話が中心となることが多い。しかしマイクロソフトが捉えているIoTとは、「センサーや設備機器、装置などのモノがインターネットにつながり(コネクティビティ)、モノそのもの状況や置かれている環境などの情報(データ)が、人中心のシステムに蓄積されていく。そしてそのビッグデータをきちんと分析(アナリティクス)して価値を見つけ、新しいビジネスを立ち上げていくまでの全体像として捉えている」と太田氏は説明する。つまりIoTはデバイス(実世界)とサービス(クラウド、ビッグデータ、サーバ)、開発・運用・管理、データ活用、クライアント(利用者)という要素で構成されている、と太田氏は言うのである。
IoTの世界では従来のように、WebエンジニアがWebアプリケーションを作る、組み込み系エンジニアが組み込み系システムを作るという世界ではない。モノ、IT、クライアント、インフラ、セキュリティ、ハードウェア、デザインなどの技術要素が入ってくる。格闘技の世界で例えると、これまでのような打突系のみのボクシング、組み技のみの柔道というステージから、「総合格闘技のステージに参加するようなもの。だからこれまでのように打突だけ、組み技だけを練習していればよいというわけではない」と太田氏は説明をする。このような理由により、今回のセッションタイトル名が付けられたのである。
では実際に、WindowsでIoTのどんな開発ができるのか、太田(寛)氏から大田(昌)氏にバトンタッチしてデモが展開された。インテルの開発ボード「Galileo」を取り出し、Windowsが入ったmicroSDカードをGalileoに挿すところから実際に見せる大田(昌)氏。そして本人達も「こんな光景はマイクロソフトのセッションでは見られない」というようにブレッドボードを組み立てていくシーンをスクリーンに映し出していく。実際に見せるのは「IoTという言葉は良く聞くが、実際どうやって開発しているのか全体像が見えない。だからこういう形で開発していくんだということ紹介している」と大田(昌)氏はその理由を語る。実は大田(昌)氏はWeb屋。だからブレッドボードを組み立てるということには慣れていない。だが「開発ツールが揃っていればIoTは難しいモノではない」と言い切る。
それに相づちをうつように太田(寛)氏も「総合格闘技も、ちゃんとベースが整っていれば怖くない」と答える。ブレッドボードに赤外線センサーを取り付け、デバイスと大田(昌)氏の手との距離を測るプログラムを、開発用PCのVisual Studioで開発・ビルド後、Galileoに展開していく大田(昌)氏。配線をしながら開発していくことはWeb出身の大田氏には初めはしんどい作業だったという。しかしVisual Studioならそれも容易になる。Visual Studioで「Gadgeteer」というプロジェクトを選ぶのだ。
「何がいいかというとインストールしたデバイスの模型が表示されることに加え、どういう風に回路を組み立てていけばよいか推薦してくれること」と大田(昌)氏は説明を続ける。例えばインターネットにつなぎたいというのであれば、右クリックして「Connect all modules」とすると、自動的に適切なソケット位置を教えてくれるのだ。それにしたがって、あとはプログラムと配線を行っていくのである。
「IoTの猛者達と戦うために、空手三段目の人がケリを手に入れたという感じかな」という大田(昌)氏の言葉に対し、IoT猛者の太田(寛)氏は「これはまだ単独の技を習得しているだけ。組み手、つまりインターネットにつなぐことをしないと」と突っ込み。
というのもIoTにおける組み込み機器とクラウド(サーバ)間のデータの特徴は、データ長が比較的短いパケットを断続的に送受信することにある。そのような接続でも1対1の場合は問題なくほぼ行えるが、デバイスの数が増えると、取りこぼしやレイテンシーが問題となってくる、と太田(寛)氏はIoTで接続する場合の注意点を指摘する。それを解消する方法の一つとして、太田(寛)氏が紹介したのはAzureで提供されている「イベントハブ」というサービス。これを使えば大量のデータを効率よくクライアントに配信できるようになるという。
「巧遅は拙速にしかず」進んでいる海外に追いつこう
今回のデモではインターネットへの接続がうまくいかなかったという場面も。「実際にシステムでちゃんと動かすのはすごく大変なこと。これも格闘技と同じだ」と太田(寛)氏は説明する。つまり自分一人でいくら鍛錬を積んでも、実践では通用しない格闘技と同じだというのだ。格闘技は相手を察知して、受けて攻撃することを繰り返す。勝つためには相手の情報を徹底的に収集して、戦う場所は己の土俵で有利にし、死線をくぐった経験を基にいろんな戦い方のバリエーションを駆使していかねばならない。「敵を知り己を知れば、百戦危うからず」、つまりデータを基に経験を積み、その経験を知識化して知恵(戦略)にすることで、ようやくIoTの開発ができるようになるというわけだ。
開発者としてIoTのゴールは、やはりデータを貯めて分析して、創造の礎となすことである。そこで太田(寛)氏が分析に使える機能として紹介したのが、Azureが提供している「Stream Analytics」と「Machine Learning」。「Stream Analytics」は一時、F1のロータスチームが採用していたこともあるテクノロジーで、タイムフレームごとの特徴(トレンド)を抽出し、リアルタイムに分析・蓄積できる機能である。一方の「Machine Learning」は予測(機材の故障予測、メンテナンスコストの最適化、信頼性予測)と分類(機械の特性、ユーザーの特徴、利用形態のカテゴライズ)が容易にできるようになる。
ビッグデータから有用なデータを抽出するにはどうしても試行錯誤が必要になる。そこで活用したいのがエクセルだ。先のGalileoを使った大田(昌)氏のデモでも、分析や可視化に役立つソリューションとして「Power Query」と「Power View」のアドイン機能を紹介。それに付け加え、太田(寛)氏は地図へのマッピングで可視化する「Power Map」を紹介した。「これらのツールを活用することで、データを情報に、情報を知識に、知識を知恵にすることができる」と太田(寛)氏は言い切る。
日本ではこれからが本番との印象のあるIoTシステムだが、海外では既に活用が進んでいるという。太田(寛)氏は英ロンドンの地下鉄やドイツティッセンクルップという会社のエレベータの事例を紹介。太田(寛)氏は「先の例と比べると規模は小さいが」と前置きした上で、日本マイクロソフトの本社では、.NET Micro Frameworkで組み上げた温度、湿度、照度、大気圧を測定するボードを常設していることを披露した。
「海外は進んでいる。私たちも負けてはいられない」と参加者にハッパをかける太田(寛)氏は、「巧遅は拙速にしかず」「三十六計逃げるにしかず」といったことわざを引用し、クラウドは利用をやめたければいつでもやめられるので、四の五の言わずにとりあえず試してみよう、会場を促す。
とはいえ何から手をつければ良いのか分からない人もいるのも事実だ。ではどうするか。そこでまた太田(寛)氏は「守破離」という世阿弥の言葉を引用し、「まずは守。基本に忠実に学び、頭に回路を作ることだ」と語る。そしてその守の部分なら、マイクロソフトは支援できるという。例えばIoTの基本要素が学べる自学・自習可能なハンズオントレーニングはその一例だ。続けて太田(寛)氏は総合格闘技であるIoTだからこそ、いろんなプラットフォームの使い手や立場の人、プロフェッショナル達がつながっていくことも大事だという。「IoTコミュニティを立ち上げようと考えている。3月15日にキックオフなので、ぜひ、みなさん興味のある人は参加してほしい」
こう会場に呼びかけ、太田(寛)氏と大田氏のユニークなセッションは終了した。