:wq!

書籍「公式ガイドブック SORACOMプラットフォーム 」の執筆に参加しました

ども、takiponeです。
本日3/21(祝)に「公式ガイドブック SORACOMプラットフォーム」が発売されます。現職である株式会社ソラコムのエンジニア総勢21名によって自社のIoTプラットフォームサービスSORACOMの技術解説をする、いわゆる公式本です。

IMG_20190319_125122-1

公式本ということでサービスの機能解説はもちろんですが、その機能がなぜ提供されているのかや、機能を提供する背景、果てはソラコムの開発スタイルサービスに込める想いまで、SORACOMのありのままをさらけ出す意欲的な技術書になっていると思います(自画自賛)。

サービス開始当初はIoT向けMVNOとして低廉な従量課金が話題になりましたが、その後IoTプラットフォームとしてIoTシステムの開発・運用が楽になるようなサービスを相次いでリリースし、現在13サービスまで増えています。ぜひ、通信サービスの枠に収まらない様々なサービスがあること、そのサービスがどう役に立つのかを知っていただければとも思います。Amazon.co.jpでは章レベルの目次になっているので、もう少し下のレベルまで含めた目次を記事の末尾に貼っておきます。目次を眺めるだけでもお腹いっぱいになりそうですが、サービスの幅広さや実際のアーキテクチャへの適用についての解説もある様子が見ていただけると思います。300ページ超の大作なので、辞書的に参照いただく使い方もオススメです。

ちなみに私はSORACOM Airのメイン(2-3-1、2-3-2、2-3-3)と3-6、4-3の草稿を担当しました。SORACOM Airは様々なコンテキストを持つサービスなので、あーでもないこーでもないと文案を悩み、楽しみながら取り組めました。

買ってね!

書籍の目次

  • 第1章 SORACOMグランドデザイン
    • 1-1 IoT
      • 1-1-1 IoTが注目される背景
      • 1-1-2 IoTの未来像
      • 1-1-3 IoTはテクノロジーの総合格闘技
    • 1-2 ソラコム誕生
      • 1-2-1 SORACOMの仕組み
      • 1-2-2 ソラコムが提供する価値
    • 1-3 ソラコムのビジネスモデルとエコシステム
      • 1-3-1 グローバルを前提に
      • 1-3-2 スケールするビジネス
      • 1-3-3 安価でフェアな課金モデル
      • 1-3-4 顧客ニーズに基づくサービス開発
      • 1-3-5 パートナーエコシステム
      • 1-3-6 外部への情報発信とコミュニティー
    • 1-4 ソラコムの開発スタイル
      • 1-4-1 疎結合と非同期なアーキテクチャーとチーム
      • 1-4-2 開発プロセス
        • 1-4-2-1 3つのリズム
        • 1-4-2-2 ジャスト・イン・タイム
      • 1-4-3 スケーラブルで可用性の高い、IoTに最適なプラットフォーム
      • 1-4-4 DevOpsとOpsDevの実践
        • 1-4-4-1 リーダーシップ・ステートメント
  • 第2章 詳説 SORACOMプラットフォーム
    • 2-1 SORACOMプラットフォームの概要
      • 2-1-1 サービススタック
      • 2-1-2 データ通信レイヤー
      • 2-1-3 ネットワークレイヤー
      • 2-1-4 アプリケーションレイヤー(デバイス支援)
      • 2-1-5 アプリケーションレイヤー(データ転送)
      • 2-1-6 アプリケーションレイヤー(データ活用)
      • 2-1-7 インターフェース
      • 2-1-8 各サービスの読み進め方
    • 2-2 共通機能
      • 2-2-1 タグ、グループ
        • 2-2-1-1 タグ
        • 2-2-1-2 グループ
      • 2-2-2 アクセス権限管理
        • 2-2-2-1 SORACOM Access Managementの利用方法
        • 2-2-2-2 SAMユーザー /ロール
        • 2-2-2-3 権限設定
        • 2-2-2-4 認証設定
        • 2-2-2-5 パーミッション構文
        • 2-2-2-6 APIアクセス可否の決定フロー
        • 2-2-2-7 多要素認証(MFA)
      • 2-2-3 API
        • 2-2-3-1 SORACOM APIの技術的な特徴
        • 2-2-3-2 API Sandbox
        • 2-2-3-3 CLI
        • 2-2-3-4 SDK
      • 2-2-4 ユーザーコンソール
        • 2-2-4-1 ユーザーコンソールの裏側
        • 2-2-4-2 ユーザーコンソールの多言語対応
        • 2-2-4-3 カバレッジタイプ
    • 2-3 IoT向けデータ通信「SORACOM Air」
      • 2-3-1 SORACOM Airの設計思想
      • 2-3-2 SORACOM Airの提供するコネクティビティ
      • 2-3-3 SORACOM Air for セルラー
        • 2-3-3-1 SORACOM Air for セルラーの仕組み
        • 2-3-3-2 SORACOM Air for セルラーのセキュリティモデル
        • 2-3-3-3 SORACOM Air for セルラーのサブスクリプション
        • 2-3-3-4 SORACOM Air for セルラーのSIMステータス
      • 2-3-4 SORACOM Air for セルラーの付加機能
        • 2-3-4-1 速度クラス
        • 2-3-4-2 セッション切断と履歴
        • 2-3-4-3 カスタムDNS
        • 2-3-4-4 通信量
        • 2-3-4-5 メタデータサービス
        • 2-3-4-6 イベントハンドラー
        • 2-3-4-7 有効期限設定
        • 2-3-4-8 基地局情報
        • 2-3-4-9 CHAP 認証
        • 2-3-4-10 IMEIロック
        • 2-3-4-11 SMS/USSD
      • 2-3-5 SORACOM Air for LoRaWAN
        • 2-3-5-1 SORACOM Air for LoRaWANの仕組み
        • 2-3-5-2 所有モデルと共有サービスモデル
        • 2-3-5-3 SORACOM Air for LoRaWANを使ったシステム開発
      • 2-3-6 SORACOM Air for Sigfox
        • 2-3-6-1 SORACOM Air for Sigfoxの仕組み
        • 2-3-6-2 SORACOM for Sigfoxを使ったシステム開発
      • 2-3-7 SORACOM Airとその他無線技術
        • 2-3-7-1 Wi-Fi、Bluetooth
        • 2-3-7-2 セルラー回線
        • 2-3-7-3 LPWAN
        • 2-3-7-4 無線通信の使い分け
    • 2-4 プライベート接続「SORACOM Canal」
      • 2-4-1 SORACOM Canalとは
      • 2-4-2 SORACOM Canalの設計思想
      • 2-4-3 SORACOM Virtual Private Gateway
      • 2-4-4 SORACOM Canalを利用するには
      • 2-4-5 付随機能
        • 2-4-5-1 インターネット接続の有無
        • 2-4-5-2 固定グローバル IPアドレスオプション
        • 2-4-5-3 NTP サポート
    • 2-5 専用線・仮想専用線「SORACOM Direct/Door」
      • 2-5-1 SORACOM Direct/Doorとは
      • 2-5-2 SORACOM Direct/Doorの設計思想
      • 2-5-3 SORACOM Direct/Doorを利用するには
    • 2-6 LAN 接続サービス「SORACOM Gate」
      • 2-6-1 SORACOM Gateの設計思想
      • 2-6-2 Gateのネットワーク構成
        • 2-6-2-1 SORACOM Gateのデバイス間通信のみを利用する場合
        • 2-6-2-2 SORACOM Canalと組み合わせる場合
        • 2-6-2-3 SORACOM Direct/Doorと組み合わせる場合
      • 2-6-3 Public Gate
      • 2-6-4 付加機能
        • 2-6-4-1 プライバシーセパレーター
    • 2-7 透過型トラフィック処理「SORACOM Junction」
      • 2-7-1 SORACOM Junctionとは
      • 2-7-2 SORACOM Junctionの設計思想
      • 2-7-3 機能説明
        • 2-7-3-1 ミラーリング
        • 2-7-3-2 リダイレクション
        • 2-7-3-3 インスペクション
      • 2-7-4 ネットワーク構成例
        • 2-7-4-1 ミラーリング
        • 2-7-4-2 インスペクション
        • 2-7-4-3 リダイレクション
    • 2-8 データ転送支援「SORACOM Beam」
      • 2-8-1 SORACOM Beamとは
      • 2-8-2 SORACOM Beamの設計思想
        • 2-8-2-1 クレデンシャルストア
        • 2-8-2-2 暗号化処理のオフロード
        • 2-8-2-3 設定の一元管理
        • 2-8-2-4 プロトコル変換機能
        • 2-8-2-5 バイナリパーサー
      • 2-8-3 SORACOM Beamの制限
        • 2-8-3-1 TCP → HTTP/HTTPSプロトコル
        • 2-8-3-2 MQTT
    • 2-9 クラウドリソースアダプタ「SORACOM Funnel」
      • 2-9-1 SORACOM Funnelとは
      • 2-9-2 SORACOM Funnelの設計思想
        • 2-9-2-1 SORACOM Funnelのアダプタ詳細
        • 2-9-2-2 SORACOM Hosted Adapter
        • 2-9-2-3 Partner Hosted Adapter
      • 2-9-3 SORACOM Funnelの制限
    • 2-10 データ収集・蓄積「SORACOM Harvest」
      • 2-10-1 SORACOM Harvestとは
      • 2-10-2 SORACOM Harvestの設計思想
        • 2-10-2-1 データストレージ
        • 2-10-2-2 データビュー
      • 2-10-3 SORACOM Harvestの制限
        • 2-10-3-1 送信先を変更する際の制限事項
        • 2-10-3-2 データ形式の制限
        • 2-10-3-3 データ保存期間
        • 2-10-3-4 データダウンロードの制限
    • 2-11 ダッシュボード作成・共有「SORACOM Lagoon」
      • 2-11-1 SORACOM Lagoonとは
      • 2-11-2 SORACOM Lagoonの設計思想
        • 2-11-2-1 手軽に利用できるシンプルなダッシュボード
        • 2-11-2-2 ユースケースに合わせて選択できるプラン
        • 2-11-2-3 Harvestとの使い分け
      • 2-11-3 SORACOM Lagoonの機能
        • 2-11-3-1 ダッシュボード
        • 2-11-3-2 ダッシュボードのサンプル
        • 2-11-3-3 ダッシュボード共有機能
        • 2-11-3-4 アラート機能
      • 2-11-4 SORACOM Lagoonの制限
        • 2-11-4-1 データソースの制限
        • 2-11-4-2 ビューの制限
        • 2-11-4-3 Lagoon ユーザーの制限
    • 2-12 SIM 認証・証明「SORACOM Endorse」
      • 2-12-1 SORACOM Endorseとは
      • 2-12-2 SORACOM Endorseの設計思想
      • 2-12-3 SORACOM Endorseの利用イメージ
      • 2-12-4 SORACOM Endorseを使ったアプリケーション実装
        • 2-12-4-1 付加情報(IMSI、パラメーターなど)とx.509の確認
        • 2-12-4-2 設計・実装のポイント
    • 2-13 デバイス管理「SORACOM Inventory」
      • 2-13-1 SORACOM Inventoryとは
      • 2-13-2 SORACOM Inventoryの設計思想
        • 2-13-2-1 デバイス上で動作するエージェントの導入
        • 2-13-2-2 デバイス管理のためのフレームワークの選定
        • 2-13-2-3 SORACOM APIによる操作や各種サービスとの連携
      • 2-13-3 LwM2Mの基礎知識
        • 2-13-3-1 Bootstrap
        • 2-13-3-2 デバイスのモデル化
        • 2-13-3-3 SORACOM InventoryとLwM2Mの関係
      • 2-13-4 SORACOM Inventoryの利用
        • 2-13-4-1 SORACOM Inventoryを利用するためのBootstrap
        • 2-13-4-2 ユーザーコンソールによるデバイスの管理
        • 2-13-4-3 APIによるデバイスの管理
        • 2-13-4-4 カスタムオブジェクト
        • 2-13-4-5 SORACOMサービスを利用したクラウド連携
      • 2-13-5 SORACOM Inventory 利用上の注意点
        • 2-13-5-1 Bootstrap 時のEndpointに関する注意点
        • 2-13-5-2 Device Management サーバーのURLに関する注意点
        • 2-13-5-3 カスタムモデルの制限
    • 2-14 セキュアプロビジョニング「SORACOM Krypton」
      • 2-14-1 SORACOM Kryptonとは
      • 2-14-2 SORACOM Kryptonの設計思想
      • 2-14-3 SORACOM Kryptonの連携サービス
        • 2-14-3-1 Amazon Cognito
        • 2-14-3-2 AWS IoT Core
        • 2-14-3-3 SORACOM Inventory
        • 2-14-3-4 SORACOM Airメタデータサービス
      • 2-14-4 SORACOM Krypton Client
        • 2-14-4-1 Golang
        • 2-14-4-2 Java
    • 2-15 SIM
      • 2-15-1 ソフトウエアの特徴
        • 2-15-1-1 アーキテクチャー
        • 2-15-1-2 APDU
        • 2-15-1-3 ファイル構造
        • 2-15-1-4 セキュリティ
      • 2-15-2 ハードウエアの特徴
        • 2-15-2-1 物理構成
        • 2-15-2-2 形状
        • 2-15-2-3 eSIM
        • 2-15-2-4 SIMができるまで
      • 2-15-3 SIMアプレット
        • 2-15-3-1 アプレットの機能
        • 2-15-3-2 アプレットのインストール方法
        • 2-15-3-3 ソラコムのSIMアプレット
    • 2-16 デバイス
      • 2-16-1 Wio LTE JP Version
        • 2-16-1-1 利用の準備から開発までの流れ
        • 2-16-1-2 Wio LTEで利用できるセンサー
      • 2-16-2 Grove IoTスターターキットfor SORACOM
      • 2-16-3 Wio LTEで特に活用したいSORACOMサービス
      • 2-16-4 Wio LTEを用いた開発における注意事項
        • 2-16-4-1 Grove モジュールの選定、取り付けるときの注意点
      • 2-16-5 日本で利用可能なその他のWioシリーズ
        • 2-16-5-1 eSIM 搭載 グローバルで利用可能なWio 3G SORACOM Edition
        • 2-16-5-2 省電力通信 LTE-Mが活用できるWio LTE M1/NB1(BG96)
      • 2-16-6 SORACOM LTE-M Button powered by AWS
        • 2-16-6-1 SORACOM LTE-M Buttonの特徴とAWS IoT 1-Click
        • 2-16-6-2 利用の準備から開発までの流れ
        • 2-16-6-3 Lambda 関数について
        • 2-16-6-4 Lambda 関数が受け取るデータ
        • 2-16-6-5 安価で非力/ 狭帯域なデバイスをクラウド連携させるリファレンスデバイス
      • 2-16-7 クラウド活用製品の出荷後に起こり得る課題
      • 2-16-8 デバイスのさらなる活用
    • 2-17 SORACOM vConnec Core
  • 第3章 ユースケース別リファレンスアーキテクチャー
    • 3-1 動態管理
      • 3-1-1 動態管理とは?
      • 3-1-2 動態管理システムのアーキテクチャー
        • 3-1-2-1 トラッカーデバイス(GPS 端末 )
        • 3-1-2-2 事前処理
        • 3-1-2-3 データストア
        • 3-1-2-4 ダッシュボード
        • 3-1-2-5 アドホック分析
      • 3-1-3 アーキテクチャー上の検討ポイント
        • 3-1-3-1 トラッカーデバイスの選択
        • 3-1-3-2 事前処理
        • 3-1-3-3 データストア
        • 3-1-3-4 ダッシュボード/ 監視
      • 3-1-4 SORACOMを用いたアーキテクチャー
        • 3-1-4-1 簡易トラッキング
        • 3-1-4-2 高精度位置情報トラッキング
        • 3-1-4-3 高度なトラッキング
    • 3-2 農業・漁業・畜産
      • 3-2-1 農業・漁業・畜産でのIoT 活用
        • 3-2-1-1 環境データの取得の事例
        • 3-2-1-2 設備管理の自動化・省力化
        • 3-2-1-3 コスト最適化
      • 3-2-2 IoT 活用の始め方
        • 3-2-2-1 最初に決めること
        • 3-2-2-2 IoT 導入の流れ
      • 3-2-3 SORACOMを用いたアーキテクチャー
        • 3-2-3-1 情報収集パターン
        • 3-2-3-2 デバイス管理パターン
    • 3-3 遠隔監視 /M2M
      • 3-3-1 IoTと双方向通信
      • 3-3-2 双方向通信が必要となるシーン
        • 3-3-2-1 双方向通信とは
        • 3-3-2-2 代表的な双方向通信
      • 3-3-3 双方向通信の考慮ポイント
        • 3-3-3-1 物理面
        • 3-3-3-2 アプリケーション面
      • 3-3-4 双方向通信の実現デザインパターンと実践
        • 3-3-4-1 IPアクセスパターン
        • 3-3-4-2 アプリケーションプロトコルパターン
        • 3-3-4-3 デバイスリードパターン
        • 3-3-4-4 デザインパターンの選び方
    • 3-4 決済端末
      • 3-4-1 決済端末と通信
      • 3-4-2 ユースケース
        • 3-4-2-1 コンビニや飲食店の決済端末
        • 3-4-2-2 ATM(現金自動預け払い機)
      • 3-4-3 SORACOMを用いたアーキテクチャー
        • 3-4-3-1 パブリックなAPIを呼び出すパターン
        • 3-4-3-2 閉域網呼び出しパターン
        • 3-4-3-3 さらにセキュリティを高めよう
    • 3-5 設備管理
      • 3-5-1 IoT化における課題とアプローチ
        • 3-5-1-1 設備をどうネットワークへ接続するか
        • 3-5-1-2 設置環境品質のばらつきにどう対応するか
        • 3-5-1-3 いかにセキュアに遠隔地の設備を管理するか
      • 3-5-2 SORACOMを用いたアーキテクチャー
        • 3-5-2-1 設備からのデータ収集方式
        • 3-5-2-2 適切な通信方式の選択
        • 3-5-2-3 セキュアネットワークの構築
    • 3-6 カメラデバイス
      • 3-6-1 カメラを利用したシステム
        • 3-6-1-1 カメラデバイス
        • 3-6-1-2 データストア
        • 3-6-1-3 ダッシュボード
        • 3-6-1-4 分析基盤
      • 3-6-2 システムの実現方法
        • 3-6-2-1 カメラデバイスの選択
        • 3-6-2-2 ファームウエアの更新
        • 3-6-2-3 データストアの設計
        • 3-6-2-4 分析基盤の設計
        • 3-6-2-5 データ送信量の削減
      • 3-6-3 オフラインでのデータ送信
  • 第4章 IoTシステムの課題解決
    • 4-1 プロトタイピング
      • 4-1-1 プロトタイピングとは?
        • 4-1-1-1 プロトタイピングを成功させる
      • 4-1-2 プロトタイピングを支える手法
        • 4-1-2-1 データフォーマット設計中心の開発フロー
        • 4-1-2-2 IoTプロトタイピング開発と利用できるSORACOMサービス
        • 4-1-2-3 デバイスも「作らない、利用する」
        • 4-1-2-4 デバイス開発の長期化を回避するには
      • 4-1-3 IoTプロトタイピングの実例
        • 4-1-3-1 データフォーマットと実際の開発
    • 4-2 量産にむけて
      • 4-2-1 ソフトウエア面
      • 4-2-2 生産 /キッティング面
        • 4-2-2-1 eSIMの活用
    • 4-3 電力消費の最適化
      • 4-3-1 マイコン
      • 4-3-2 センサー
      • 4-3-3 通信
        • 4-3-3-1 通信品質の確認
        • 4-3-3-2 通信量の削減
        • 4-3-3-3 通信方法
        • 4-3-3-4 待受電力
      • 4-3-4 電池の自己放電