Upgrade to Pro — share decks privately, control downloads, hide ads and more …

IoTにおけるサーバレス活用の利点とアーキテクチャのポイント/SORACOM IoT Meetup #2 SORACOM session

SORACOM
July 06, 2021

IoTにおけるサーバレス活用の利点とアーキテクチャのポイント/SORACOM IoT Meetup #2 SORACOM session

2021年7月6日(火)に開催したSORACOM IoT Meetup #2で松下が発表した資料を公開しました。
https://soracom.connpass.com/event/214050/

IoTにおけるサーバレス活用の利点とアーキテクチャのポイント

株式会社ソラコム テクノロジーエバンジェリスト
松下 享平

SORACOM

July 06, 2021
Tweet

More Decks by SORACOM

Other Decks in Technology

Transcript

  1. IoT におけるサーバーレス活用の利点と アーキテクチャのポイント SORACOM IoT Meetup #2 July 6, 2021

    株式会社ソラコム テクノロジー・エバンジェリスト 松下享平 (Max / @ma2shita)
  2. データ活用までには3つの工程 受付 変換 蓄積 データ活用 《可視化・通知》 デジタル化 HTTP や MQTT

    等 プロトコルの API 公開と 変換処理への橋渡し フォーマット変換や マッピング(意味づけ) 集計処理 データ活用側で 利用するための 保管
  3. どうやって作るのか? 仮想サーバーを作ってから、PHP + Laravel をインストールして API と 変換処理を実装した後、ストレージに MySQL を設定して…

    MQTT 対応は?認証処理は? 規模やワークロード調整は? ストレージ見積は?モニタリングは? 何よりも… データが流れていない時のコストは?
  4. IoT データは「いつ発生するかわからない」 仮想サーバーや マネージドサービス ➢ 稼働時間で課金 ➢ 常にデータを処理している ワークロード向き サーバーレス

    ➢ 実行時間で課金 ➢ データ発生時のみ処理する ワークロード向き 例) ドアの開閉をセンシングしたい IoT のデータ処理に適している データの待ち時間がムダに コスト根拠をデータ発生に合わせられるアーキテクチャ
  5. 工程毎に対応するサービスの例 受付 変換 蓄積 Amazon API Gateway AWS IoT Core

    Azure Application Gateway Azure IoT Hub Cloud IoT Core API Gateway AWS Lambda Amazon Kinesis AWS IoT Analytics Azure Event Hubs Azure Functions Azure Stream Analytics Cloud Functions Cloud Pub/Sub Cloud Storage BigQuery Firestore Azure Cosmos DB Storage Account Data Lake Storage Gen2 Amazon S3 Amazon DynamoDB Cloud Dataflow
  6. 構成例 Amazon API Gateway AWS Lambda Web API Azure Cosmos

    DB Power BI Azure Stream Analytics Azure IoT Hub Amazon S3 BigQuery ML Data Portal Cloud Dataflow Cloud IoT Core Cloud Pub/Sub HTTPS で受け付けてデータの蓄積をしつつ、条件によって外部 API を呼び出し MQTT で受け付けて Power BIにリアルタイム連携しつつ、データ蓄積と表示 HTTP と MQTT で受け付けて、実データと機械学習の推論を表示
  7. サーバーレス アーキテクチャを考えるポイント 1つのサービスで受付と変換の機能を持つ場合もある • Azure Functions(変換)内の HTTP トリガー機能(受付) • AWS

    IoT Core(受付)内のルール機能(変換) 集計や他データソース参照は「変換」サービスでの実現を検討 • Amazon Kinesis Data Firehose や Azure Stream Anaytics の ウィンドウ関数 • 変換用 Lambda 関数を経由したルックアップテーブル参照 蓄積はデータ活用側のアプリケーションに応じて選定 • Amazon QuickSight から Amazon S3 の読み出し • Power BI と Azure Stream Analytics によるリアルタイムストリーミング 「1個流し」のコスト算出が可能か • データが流れていないときには、限りなくコストを抑えらえるのが望ましい
  8. サーバーレス アーキテクチャも「銀の弾丸」ではない ランタイム(言語)やライブラリ利用の制約やチューニングの可否がある • AWS Lambda ランタイムや AWS Fargate 等、コンテナ利用の中間的技術も

    出てきている サーバーレスは「ステートレス」設計が原則、ステートが必要な アプリケーション設計には工夫が必要 • デバイスシャドウ機能や AWS IoT Events といったステート管理の仕組みも 利用できる データが常時発生するワークロードの場合は、コストとスループットの 両面で時間課金タイプが有利な場合もある • つなぎ先、組み合わせ方でシームレスな移行も見込める
  9. SORACOM Funk SORACOM Beam / Funnel / Funk による デバイス開発の工数削減

    デバイス セキュア&クラウドネイティブな プロトコル • メガクラウド PaaS / SaaS • パートナー ソリューション SORACOM Beam SORACOM Funnel プリミティブな プロトコル • SIM を鍵としてクラウドの認証情報との紐づけ • クラウド向けプロトコルへ変換 HTTP, MQTT, TCP, UDP HTTPS(+JSON), MQTTS, TCPS SDK や認証情報をデバイスから取り払ってシンプル化 デバイス開発の工数や 運用の手間を削減
  10. クラウドと「つなぐ」を簡単に SORACOM Beam / Funnel / Funk データ転送 SORACOM Beam

    クラウドアダプタ SORACOM Funnel クラウドファンクション SORACOM Funk ビーム ファネル ファンク ✓ MQTT(S) 中継 ✓ HTTP の TLS 変換 ✓ TCP/UDP を HTTPS へ変換 ✓ HTTP ヘッダ追加、編集 既存システム接続や MQTT 利用に ✓ 6つのパブリッククラウド用 アダプタ ✓ 12の SORACOM パートナ ソリューション用アダプタ 新規 IoT システムを 迅速に展開 ✓ パブリッククラウドの FaaS を 直接呼出し ✓ 実行結果をデバイスへ 返送可能 クラウドを 「デバイスの関数」化
  11. デバイス開発工数や運用の手間を削減 SORACOM Funk 活用例 Amazon API Gateway AWS Lambda AWS

    Lambda • TLS ライブラリのインストール 済 • TLS 証明書のインストール 済(更新含) • 認証情報のインストール ➢ ユーザーコンソールから設定 • HTTP リクエストへの署名実装 済 • HTTP リクエスト中継 SORACOM Funk • TLS ライブラリのインストール • TLS 証明書のインストール(更新含) • 認証情報のインストール • HTTP リクエストへの署名実装 • HTTP リクエスト実装 • TLS ライブラリのインストール • TLS 証明書のインストール(更新含) • 認証情報のインストール • HTTP リクエストへの署名実装 • HTTP リクエスト実装 • クラウド対応の開発? • 認証情報の盗難防止? • 仕様変更や SDK 更新? お客様から見えづらい 開発・運用部分を SORACOM で肩代わり
  12. SORACOM のコネクティビティ IoT 向けデータ通信サービス SORACOM Air セルラー LPWA GSM /

    3G / LTE / 5G LTE-M Sigfox あらゆる現場を つなげる通信 セキュリティや 付加機能 IoT ビジネス向けの 料金体系 セキュアリンクサービス SORACOM Arc Wi-Fi / 有線 LAN