IoTに欠かせないエッジコンピューティング
あらゆるモノがインターネットにつながるーーそれがInternet Of Things(IoT)の世界だ。一方で、企業のデータセンターがクラウドに置き換わり、そのトラフィックはクラウドベンダーが運営しているデータセンターに向かっている。現時点では、IoTのトラフィックも下図のようにセンターに向かって流れている。クラウドは、われわれに低コストでコンピューティングリソースを提供してくれた。しかし、中央集中型アーキテクチャーでは、クラウド基盤の障害がしばし多くの企業に影響を与えている。次世代の社会インフラの一端を形成するIoTのインフラでは、その障害はより大きな社会問題に発展するだろう。

エッジが分散したマイクロデータセンターとして動き、集中の問題を回避できることは、前回の記事でも具体例を挙げて説明した。この仕組みは、特にIoTデバイスから送信されるセンシングデータを収集する時に効果を発揮する。IoTでは、通信プロトコルにHTTPだけではなくMQTT(Messaging Queueing Telemetry Transport)などが使われる。MQTTは軽量のメッセージ転送プロトコルであり、HTTPに比べネットワーク帯域や計算能力を多く消費しないという特徴があり、デバイスに組み込みやすい。MQTTではメッセージを仲介するブローカーが存在し、メッセージを伝播させる。
エッジがこのブローカーの機能を持つとシステムの構成上有利な点がある。まず、コネクテッドデバイスは、より近傍のサーバーとの間だけで通信が完結できる。

障害が起きても影響を局所的なものに抑えることができる。例えば、AkamaiのIoT向けサービス「IoT Edge Connect」ではDNSの技術を利用し、クライアントデバイスは正常に動作するエッジに接続される。デバイスが増加しても、分散配置されたエッジがデータを受け取ることで、スケーラビリティーの心配もなくなり、サーバー側も必要以上に冗長化設計をする必要がなくなる。
多数のエッジサーバーから構成される耐障害性に優れたプラットフォームにより、クライアント側でも送信先の障害を必要以上に考慮する必要がなくなる。送信できないセンシングデータは、デバイスが自らの記録領域(ディスクやメモリー)に蓄えなければならない。これは、デバイス1台当たりのコストに直接跳ね返る。障害に強いエッジプラットフォームが全てのクライアントのデータを絶え間なく受信できるという前提があれば、クライアント側の設計も柔軟にできる。