IoTのアーキテクチャーは、現状の製品やサービスの設計図としての役割だけでなく、将来に渡る未来予想図としての役割がある。
つまりアーキテクチャーは現実主義者(as is)と理想主義者(to be)の両者を持つ必要があるが、この両者は同時には相容れないものが多い。さながら「二兎を追う」ようなものである(図1)。
アーキテクチャーは、現実主義者として獲物を追い、さらに未来を見据えた理想主義者として未来の獲物を追う。
現実主義者としては、獲物を捕まえる仕掛けをちゃんと作れるかをまず気にする。そして、仕掛けを作る手間をなるべく省けるようにする。さらに獲物(IoTシステム)の実行速度やメモリーにも気をつける。
一方で理想主義者としては、将来にわたり、獲物を捕まえることができるようになることを考える必要がある。たとえ目の前に1匹の獲物がいたとしても、将来の10匹の獲物の方を優先する。将来に獲物の行動が変わったとしても、あらかじめそれを見込んで罠を仕掛ける。
IoTシステムのアーキテクチャーは、この両者を兼ね備えていなければならない。一兎だけを追う者は二兎を得られない。しかし現実には現時点の獲物を狙うか、将来の獲物を狙うかを決断しなければいけないときがある。
もっと正直に言えば、決断をするということは、どこかを見捨て、焦点を絞るということだ。問題を見逃すことはいけないが、知っていてその問題を見捨てることは悪いことではない。特にIoTのアーキテクチャーにおいては、その決断は後で意味を持つ。
前回はアーキテクチャーの定義や概要を見てきたが、今回はIoTアーキテクチャー設計に待ち受ける課題(試練)と解決の一端を見ていくことにする