Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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