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

クラウドネイティヴなIoTプラットフォームをロバストに開発・運用する

SORACOM
November 08, 2023

 クラウドネイティヴなIoTプラットフォームをロバストに開発・運用する

2023年11月8日開催『IoTアーキテクチャ - スケーラビリティ×高可用性を追求する Lunch LT』で、ソラコム川上(moz)が発表した資料です。

SORACOM

November 08, 2023
Tweet

More Decks by SORACOM

Other Decks in Technology

Transcript

  1. クラウドネイティヴなIoTプラットフォームを
    ロバストに開発・運用する
    株式会社ソラコム / Sr. Enginer, CTO Technology Advisor
    川上 大喜 (@moznion)
    Findy Presents
    IoTアーキテクチャ - スケーラビリティ×高可用性を追求する Lunch LT
    November 8th, 2022

    View full-size slide

  2. 川上 大喜
    (Taiki Kawakami)
    @moznion
    株式会社ソラコム
    シニアソフトウェアエンジニア
    CTO Technology Advisor

    View full-size slide

  3. ヒトとモノ、クラウドを繋ぐプラットフォーム
    IoT デバイス クラウドサービス
    ✓ 遠隔操作
    ✓ メンテナンス
    ✓ 蓄積・見える化
    ✓ アラート通知
    センサ
    キット
    IoT 通信
    IoT SIM
    LPWA
    パートナー
    デバイス
    パートナークラウド
    (AWS / Microsoft / Google)
    Wi-Fi / 有線
    3G / LTE / 5G
    LTE-M
    通信
    デバイス
    クラウド型
    カメラサービス
    衛星通信 (Tech. Preview)

    View full-size slide

  4. IoT テクノロジー民主化のためのプラットフォーム
    CLI & SDK
    SORACOM
    CLI(Go)
    Web
    インターフェース
    User Console
    データ転送支援
    SORACOM Beam
    クラウドアダプタ
    SORACOM Funnel
    データ収集・蓄積
    SORACOM Harvest
    プライベート接続
    SORACOM Canal
    IoT向けデータ通信
    SORACOM Air
    for Cellular (2G, 3G, LTE, LTE-M, 5G)
    LPWA (Sigfox, LoRaWAN)
    専用線接続
    SORACOM Direct
    仮想専用線
    SORACOM Door
    API
    Web API
    Sandbox
    コネクティビティ
    ネットワーク
    インタフェース
    SIM認証・証明
    SORACOM Endorse
    デバイス管理
    SORACOM Inventory
    透過型トラフィック処理
    SORACOM Junction
    データ分析・検索
    SORACOM Query
    セキュアプロビジョニング
    SORACOM Krypton
    アクセス権限管理
    SORACOM Access
    Management
    アプリケーション
    デバイスLAN
    SORACOM Gate
    24/365サポート
    診断機能
    Technical Support
    USB ドングル / セルラーモジュール / マイコンモジュール / ボタン / カメラ
    デバイス
    オンデマンドリモートアクセス
    SORACOM Napter
    クラウドファンクション
    SORACOM Funk
    ダッシュボード作成/共有
    SORACOM Lagoon
    パケットキャプチャ
    SORACOM Peek
    インラインプロセッシング
    SORACOM Orbit
    VPG
    監査ログ
    API
    Audit Log
    WiFi, 有線 インターネット
    セキュアリンクサービス
    SORACOM Arc
    Satellite(衛星)
    インターネット/
    メッセージングサービス
    メディア転送
    SORACOM Relay
    ソリューション
    SORACOM Global Platform
    エッジプロセッシング
    SORACOM Mosaic
    Soracom Cloud Camera Services
    ソラカメ
    SMS配信
    Soracom Cloud SMS Delivery
    多要素認証サポート
    Soracom Cloud MFA
    eSIM データ通信
    Soracom Mobile

    View full-size slide

  5. AWSに構築されたセルラーコアネットワーク
    -- Cloud Native EPC
    IoT
    Devices
    Cellular
    Session
    Mgmt
    Authentication
    & Authorization
    Billing
    API Gateway
    API
    API
    Polaris: Cellular Core Interfaces
    implemented as distributed
    system
    MNO
    (KDDI/DOCOM/Global)
    AWS
    Direct
    Connect
    Dipper: A set of micro services that enable
    Polaris and external facing API
    HLR/HSS,
    SMSC
    GGSN/PGW
    GTP
    SIGTRAN/
    Diameter
    Amazon S3
    Device
    Mgmt
    Amazon SQS
    VPC
    VPC VPC

    View full-size slide

  6. ● 高いスケーラビリティ
    ● 高い可用性
    ● グローバル展開のしやすさ
    => ただし、それらを前提にアプリケーション・システムを組む必要がある
    クラウド上で IoT プラットフォームを
    運用する利点

    View full-size slide

  7. スケールアウトを容易にできるよう
    アプリケーションはステートレスに。
    スケーラビリティを意識したシステム構成
    App Group App Group

    View full-size slide

  8. スケールアウトを容易にできるよう
    アプリケーションはステートレスに。
    スケーラビリティを意識したシステム構成
    App Group App Group
    .
    .
    .
    .
    .
    .

    View full-size slide

  9. 非同期に処理できる部分は非同期にしてリソースを最適化する。
    バッファを用いたり、場合によってはコンピューティングリソースを分割する。
    スケーラビリティを意識したシステム構成
    App Group App Group
    .
    .
    .
    .
    .
    .
    Sync Processing

    View full-size slide

  10. 非同期に処理できる部分は非同期にしてリソースを最適化する。
    バッファを用いたり、場合によってはコンピューティングリソースを分割する。
    スケーラビリティを意識したシステム構成
    App Group App Group
    .
    .
    .
    .
    .
    .
    Sync Processing
    Async Processing

    View full-size slide

  11. 非同期に処理できる部分は非同期にしてリソースを最適化する。
    バッファを用いたり、場合によってはコンピューティングリソースを分割する。
    スケーラビリティを意識したシステム構成
    App Group App Group
    .
    .
    .
    .
    .
    .
    Sync Processing
    Async Processing

    View full-size slide

  12. スケールするデータベースを活用する。
    (強い一貫性とのトレードオフ等は要検討)
    スケーラビリティを意識したシステム構成
    App Group App Group
    .
    .
    .
    .
    .
    .

    View full-size slide

  13. どうしてもスケールアウトできないコンポーネントは多段に。
    スケーラビリティを意識したシステム構成
    App Group
    例えば外部と専用線で繋いでおり、
    その接続数を容易に増やせない場合など
    Outer
    Network

    View full-size slide

  14. どうしてもスケールアウトできないコンポーネントは多段に。
    スケーラビリティを意識したシステム構成
    App Group
    Outer
    Network
    App Group
    .
    .
    .

    View full-size slide

  15. どうしてもスケールアウトできないコンポーネントは多段に。
    スケーラビリティを意識したシステム構成
    App Group
    Outer
    Network
    App Group
    .
    .
    .
    後段はスケールアウト可能な
    構成にしておき、
    振られてきたパケットに
    応じた処理を行なう
    前段は複雑な処理をせず、リバースプロキシ的に
    後段へパケットを委譲することだけを考える
    状況に応じてスケールアップ。

    View full-size slide

  16. マルチAZ構成
    可用性向上への取り組み
    App Group
    .
    .
    .
    AZ-1
    .
    .
    .
    AZ-2
    .
    .
    .
    AZ-n
    . . .
    アプリケーションだけでなく
    ネットワークやLB、ストレージ
    も含めて複数AZに展開することで
    AZレベルでの障害が発生した
    としても別のAZでサービス提供
    を継続させられるようにしている

    View full-size slide

  17. Local Break Out
    可用性向上への取り組み
    ランデブーポイント
    ドイツ
    ランデブーポイント
    USA
    ランデブーポイント
    日本
    ランデブーポイント
    オーストラリア

    View full-size slide

  18. 最近の取り組み: Observability
    ● MetricsとTracesをOpenTelemetryを使って収集
    ○ Logsについては別の方法で収集している
    ● MetricsについてはDatadog、TracesについてはAWS X-Rayに集約
    OTel-collector
    dd-agent

    View full-size slide

  19. 最近の取り組み: Observability
    ● あわせて継続的なProfilingの実施
    ○ Datadog APMを使って収集
    dd-agent
    dd-java-agent
    app profile

    View full-size slide

  20. IoT の「つなぐ」を簡単に
    You Create, We Connect.

    View full-size slide