LoginSignup
16
5

More than 5 years have passed since last update.

IoT クラウド開発において IBM Cloud を選んだ理由

Last updated at Posted at 2018-08-25

IoT システム開発の機会が訪れたので、有名どころクラウドを比較して選定しました。

選定における要件

以下のような制約を設けました。

  • Platform as a Service (いわゆるマネージド)や Function as a Service (いわゆるサーバーレス)が望ましい
  • MQTT Broker
    • 対向システムよりデータが publish されるため
    • 対向システムとして Arduino 等 OS を使用しない低レベルなデバイスも対象
    • ペイロードは任意のバイナリデータ(JSONでラッピングは可能)
    • MQTT over TLS (MQTTS)
    • クライアント認証も利用
    • MQTTクライアントIDはクライアントが生成
  • HTTP API Gateway
    • スマートフォンアプリによるアクセスするため
  • DB
    • Function as a Service と組み合わせるため、スケーラブルな DB が望ましい
  • Storage
    • ログの保存等に使用
  • 高速な開発と、高品質な開発の双方が可能であること
    • プロトタイピングからプロダクションユースまでカバーしたいため

選定

AWS → 無難な選択肢。経験者多し

かくいう私自身も AWS が最も経験長いです。

項目 サービス 備考
MQTT Broker Amazon MQ or AWS IoT Message Broker * Client ID 任意
* AWS IoT 認証 (X.509含む), カスタム認証が可能
* MQ より Lambda を invoke 可能
Function as a Service AWS Lambda * スケジュールされたイベントは最短1分間隔
Database Amazon DynamoDB
Storage Amazon S3
API Amazon API Gateway

GCP → MQTT Bridge の柔軟性が低いため除外

項目 サービス 備考
MQTT Broker Cloud IoT Core MQTT Bridge * Does not support all publish/subscribe operation.
* Arduino向け認証ライブラリは正式サポート外
* Client ID に制約あり

Azure → JSONペイロードしかサポートされない?

項目 サービス 備考
MQTT Broker Azure IoT Hub * JSONペイロードしかサポートされない?(未確認)
* Client ID (=deviceId) 任意
* Username 必要
* X.509 認証可

IBM Cloud → Function に加えて Node-RED も選択肢に

高速なプロトタイピングに、 Node-RED を短時間で立ち上げできるのは助かります!

項目 サービス 備考
MQTT Broker Watson IoT Platform * Client ID に制約あり
Function as a Service IBM Cloud Functions (OpenWhisk) * トリガーは最短1秒(?)間隔
Prototyping IBM Cloud Node-RED Starter
Database Compose for ScyllaDB
or
IBM Cloudant
Storage IBM Cloud Object Storage
API IBM Cloud Functions API Gateway

結論

  • 対向システムの仕様が未確定のため汎用的な MQTT broker を選ぶ
    • → AWS または IBM Cloud
  • 高速プロトタイピングも必要なため Node-RED も利用する
    • → IBM Cloud
  • MQTT publisher が X.509 認証、クライアントIDは任意、 username 不使用
    • → AWS IoT Core
  • リリースに向けて仕様が定まってきたら、費用なども考慮して再度選定を行いたい
    • → 除外した GCP, Azure も候補となる

MQTT の仕様に未確定な部分があることと、高速なプロトタイピングも行いたいことから、今回は IBM Cloud を選ぶ結果となりました。
まずは IBM Cloud で色々試してみたいと思います。

16
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
5