-
Notifications
You must be signed in to change notification settings - Fork 7
Home
##IoTとSDNが抱える共通の課題
SDNをやっている人達中には、自分が何の為にSDNをつくっているか知らない人達がいる。SDN研究開発者と言いつつ、ネットワーク技術も知らなければ、現場に出た事ない人達がけっこう多い。
IOTも同じ問題が起こって来ている。自分の妄想でIoTを語っていて、センサーをいじった事もなければ、現場でアジャイル開発した事もない人達が多い。
両者とも、上記の問題を抱えたままだと、フレームワークとかプラットフォームばかりつくって、実用化に至らない。
あと、頭でっかちで、開発やSIの手法論とかツールばかり語っている人達も多い。
これだと、実用になるものが出てこない。
こういう人達は、一度、全部一人でつくってみると良い。最小構成だけど一通り実用になるシステムをつくってからアーキテクチャを考えると良い。
ユースケース毎にアーキテクチャーを考える。ソフトウエア開発の基本。
しかし、全部一人でつくるところの敷居が高いのかもしれない。IoTデバイスもネットワーク技術もサーバ技術もデータベース技術も全部使いこなせなければならない。しかし、ここが、これから求められるSIスキル。
これからの社会を背負う子供たちには、IoTのおもちゃをつくらせてみると良い。こっちの方が、本当に実用になるIoTが出て来そう。
#モデリング
「頭でっかちな人達がググった情報から妄想で考えたIoTだとうまく動かない。パワポ上のペーパーマシンで終わる」。コードを書いていて、確かにそうだと思った。
まずは、MVP(Minimum Valuable Product)をつくることからやらないといけない。モデルも、作りながら試行錯誤し、ベストなものを探さなければならない。
とにかく手さぐりでつくるもの。さっさと動くコードを書け!先に手足を動かせ!の世界なんだろーなー。IoTは、顧客のビジネスを良く知る営業/SE、少数精鋭のハッカー、現場主義データアナリストでチームを組んだ方が良さそう。
少数精鋭でユースケースの数をさっさとこなした方が勝てる。
##データベースはどれが良いか?
センサーデータ収集にはCassandraの方が使い勝手が良いと思った。
cqlshの使い勝手が良い。センサーデータを時系列にソートして、分かりやすく表示してくれる。
mongoはnodeベースのCLIを提供するが、どうも、使い勝手が悪い。私とは相性悪し。
APIまわりはSQLライクな方が良さそう。CassandraはSQLライクなCQLを提供。
クラウドにデータベースを配備する場合には、性能面とスケーラビリティーの面でもCassandraの方が良さそう。
AWSだってセンサーデータ集種用にはDynamoDBを提供している。
[参考] http://dev.classmethod.jp/cloud/apache-cassandra-and-amazon-dynamodb-compare/
DynamoDBに比べCassandraはTTL機能ありのところが良い。TTL機能は必須!
MongoDBもTTL機能を提供するが、Cassandraの方がTTL機能の取扱容易。
Cassandraの難点は、これをうまく運用できるエンジニアが少ない事。
##突然ビデオカメラが動作しなくなった(5/17)
Cassandraを起動すると動作しなくなる。Rapsberry Pi 3からのUSBの電力供給量が足りないと想定。
ACアダプタ給電型のUSB 3.0 ハブを買ったが、チップにバグがあるらしく問題解決せず(Raspberry Pi 3がUSB webcam認識せず)。結局 RPi専用 camera moduleを買った。
こういうのもさー、実際ににつくってみて分かる事。IoTでは安定した電力供給が重要だってこと。
##最適な機能配備
これも、実際に作ってみて分かる事かも。
IoTの教科書だと、やたらとビッグデータとかHadoopとかSpark/Stormの話が書いてあるんだけどさー。自分みたいなネットワーク屋だと、大昔から並列分散処理が普通なんだよね。
IoTゲートウェー側で処理出来る事も多いんじゃないの?
一定の負荷がかかり続けるユースケース(特に、時系列データのリアルタイム処理)の場合、クラウドレスでつくった方が安くあがると思うよ。処理済みデータだけクラウドで持ったら安くあがるんじゃないの?