Appresso Engineer Blog

アプレッソのエンジニアが書く技術ブログです。

SORACOM Air × HULFT × DataSpider でつなぐ

こんにちは、アプレッソの田中です。

SORACOM リレーブログ第2弾 4 日目です。
前回のリリース記念リレーブログでハードルがガンガンあがってしまっているのでかなり緊張してますがよろしくお願いします!

さて、今日は IoT プラットフォーム SORACOM Air を活用するための弊社の取り組みをご紹介したいと思います。

どうやってセンサーからデータを送るか

IoT ゲートウェイに SORACOM Air を挿して、どのようにデータを送るか考えるとき、使うツールや方法は様々だと思います。
まず思いつくのは、センサーから気温や気圧など取得したらすぐさま AWS IoT などの MQTT Broker に送信、といったところでしょうか。
次に、API の呼び出し回数に制限があるとか、データを貯めこむ場所が高頻度のトランザクションに耐えられない、リアルタイム性はあまり求めない、などの理由でバッチ処理をしたいとなったら Kinesis に連携してバルク処理、なども考えられます。
また別の方法として、IoT ゲートウェイ側である程度データを貯めこんで、一定間隔でどこかに送る、なども考えられると思います。
送った先で集計して、結果だけどこかに書き込むなども考えられますね。
このように、リアルタイムの精度がどこまで求められるか、また IoT ゲートウェイにどこまでリソースを割くことができるかで、データの収集方法は様々になる思います。

HULFT で IoT

そこで私たちは、IoT ゲートウェイ側でのバッチ処理に焦点を当てて、HULFT IoT (仮称) という製品を開発しています。

HULFT というのは、セゾン情報システムズが開発しているファイル転送ツールです。
HULFT は長年ファイル転送に特化して、ひたすら信頼性に磨きをかけてきました。
また最近では AWS re:Invent に出展して「Think Big」賞をいただきました。

f:id:appresso:20151116221416p:plain

私たちは、IoT の分野でも必ずデータ/ファイル転送に安定性、信頼性が求められるシーンはあり、IoT の分野に HULFT の強みを持ち込めないだろうかと考え、HULFT IoT の開発を始めました。

目下の課題は、IoT 独特のプラットフォームに HULFT を対応させることです。
例えば、OS や CPU 、限られたストレージなどです。

HULFT IoT は 11/12 に行われた HULFT Days 2015 で弊社小野より発表して参りました。
発表では現在開発中のプロトタイプを使ってデモをしてきました。

どんなデモかというと、ぷらっとホーム様の OpenBlocks IoT BX1 という IoT ゲートウェイHULFT IoT をインストールして、ボタンを押すとファイルを転送するという簡単なデモです。
OpenBlocks にはもちろん SORACOM の SIM を挿しています。

f:id:appresso:20151116221231p:plain

HULFT というと金融系の基幹システムや、メインフレームに入っているガチガチのエンタープライズ向けのシステムをイメージして、IoT に使えるのかなと思うかもしれません。
もちろんもとの HULFT のままでは IoT システムにとっては不要な機能も多く、場合によっては重くて動かせない、ということもあるかもしれません。
そこで HULFT のエッセンシャルだけ残して軽量化を図った HULFT を開発しています。
エッセンシャルというのは例えば、

  • 到達保証*1
  • オンメモリでのファイルの圧縮
  • リトライ

などです。
こうやって HULFT の強みを IoT の分野に生かそうとしています。

ファイルを送ったその後

私の所属するアプレッソは DataSpider という製品を開発していて、GUI でさまざまなデータを連携処理を作ることができます。
この DataSpider を使うことで、EC2 上の HULFT でファイルを受信したら、そのファイルを DataSpider で読み込んで集計をする、という処理も簡単に作れます。

f:id:appresso:20151117104906p:plain

f:id:appresso:20151117105956p:plain

上の例は、HULFT Script トリガーを使用して、HULFT でファイルを受信したときににそのファイルを読み取って DynamoDB に書き込んでいます。*2

DataSpider はたくさんの「アダプタ」や「トリガー」を持っていて、様々なシステムを連携させることができます。

f:id:appresso:20151117103639g:plain

また、Amazon DynamoDB アダプタや Amazon Kinesis トリガーの開発も進めています。

この辺になれば IoT に限った話でもなくなってくるので、弊社の dstn をご覧いただければと思います。

まとめ

私たちはいままでファイルの転送と、その後のデータ連携にフォーカスを置いて開発をしてきましたが、どうやってデータを持ってくるか、いまひとつ具体的な話をできませんでした。
そんな折、SORACOM Air というサービスが発表されたことで、簡単にネットワークを構築し、既存のツール、サービスを一気に繋ぐことができるようになりました。
私たちはこれからさらに IoT の分野でのファイル転送/データ連携を模索していきたいと思います。

追記

HULFT IoT (仮称) は、セゾン情報システムズと、アプレッソの共同開発になります。
筆者自身はアプレッソのメンバーとして開発に参加しています。
アプレッソはセゾン情報システムズ傘下のグループ会社です。

*1:処理が成功したときに、データが欠けることなく確実に転送されたことを保証します。

*2:現在開発中の機能を使っています。