Mais conteúdo relacionado Semelhante a Serverless x IoT = "IoT Scale" backend (20) Mais de Motokatsu Matsui (7) Serverless x IoT = "IoT Scale" backend1. Serverless x IoT
= “IoT scale” backend
株式会社ソラコム シニアエンジニア
松井 基勝
Serverless Meetup Tokyo #3
2017.7.12
2. • 名前:松井 基勝
• 所属:株式会社ソラコム シニアエンジニア
• 経歴:ゲーム開発→インフラエンジニア
→クラウドエンジニア→*エンジニア
• 著書(共著): 祝! 重版出来!
自己紹介
8. お客様からのフィードバックを基に迅速な開発
カスタム DNS
メタデータサービス
製造番号
Beam新機能
AWS IoT連携
UDP to HTTP変換に対応
HTTPカスタムヘッダ対応
Webサイトエントリポイント
SORACOM Canal
SORACOM Direct
SORACOM Endorse
SORACOM Funnel
SIMのアカウント間移動
IMEIの取得が可能に
SAM
API Sandbox
請求書払いへの切替
イベントハンドラ有効期限
Webhook対応
Canal API対応
soracom-cli
Session イベント
認証情報ストア
CanalのWebコンソール
セッション切断API
SORACOM Door
SORACOM Gate
LoRaWAN PoCキット
グローバル用SIM PoC
SIMのSuspended
非同期データエクスポート
IMEIロック
Beam/Funnelエラーログ
SORACOM BeamのGA
Airの料金計算ツール
SORACOM Harvest
米国でのサービス提供開始
Public Gate
SIM検索の高機能可
イベントハンドラSIM状態遷移
Beam TCP/UDPグラフ化
コンソールからセッション切断
メタデータクエリ
8 リリース
2015 Q4 2016 Q1 2016 Q2 2016 Q3 2016 Q4
8 リリース 9 リリース 10 リリース 8 リリース
2017 Q1
6 リリース
SORACOM Air for LoRaWAN
LoRa共有サービスモデル
欧州でのサービス提供開始
Funnel AWS IoT対応
LoRaでデバイスID署名
Funnelで高レート送信対応
2017 Q2
9 リリース
Funnel: Partner Hosted Adapter
低トラヒック向け新料金体系
SORACOM LoRa Spaceリニューアル
Funnel: Kinesis Streamsのシャード分散対応
Beam: LoRaからのデータに署名付与が可能に
Funnel: AWS IoT対応
Beam: Google IoT Core対応
Funnel: Google Cloud Pub/Sub対応
長期割引の提供開始
2017 Q3
4 リリース
SORACOM Air for Sigfox
SORACOM Inventory
SORACOM Junction
LPWA: バイナリパーサー
新サービス&リリース 17個 新機能発表 45回
9. SORACOM Air コネクティビティ
SORACOM Beam セキュアなプロキシ
SORACOM Canal AWSクラウド内の閉域接続
SORACOM Direct/Door 専用線/VPNの閉域網
SORACOM Endorse SIM認証の連携
SORACOM Funnel クラウドアダプタ
SORACOM Gate デバイスとのLAN接続
SORACOM Harvest データ蓄積と可視化
SORACOM Inventory デバイス管理
SORACOM Junction 透過型トラフィック処理
SORACOM の全サービス
10. SORACOMのグローバルなインフラ
120以上の国・地域で利用可能
ライブラリ & SDKs
CLI, Ruby, Swift
Web インターフェース
User Console
データ転送支援
SORACOM
Beam
クラウドアダプタ
SORACOM
Funnel
データ収集・蓄積
SORACOM
Harvest
プライベート接続
SORACOM
Canal
デバイスLAN
SORACOM
Gate
IoT向けデータ通信
SORACOM Air
Cellular (2G, 3G, LTE) / LPWA (LoRaWAN, Sigfox)
専用線接続
SORACOM
Direct
仮想専用線
SORACOM
Door
API
Web API, Sandbox
IoT通信プラットフォーム SORACOM
データ通信
ネットワーク
アプリケーション
インターフェース
認証サービス
SORACOM
Endorse
デバイス管理
SORACOM
Inventory
透過型
トラフィック処理
SORACOM
Junction
12. SORACOM Air - コネクティビティ
インターネット
3G/LTE
基地局
LoRa
ゲートウェイ
セルラー
デバイス
LoRa
デバイス
LoRaWAN (長距離)
SORACOM Air
for セルラー
(Japan / Global)
SORACOM Air
for LoRaWAN
Sigfox
デバイス
SORACOM Air
for Sigfox
Sigfox
基地局
Sigfox
プラットフォーム
26. •FaaS としての serverless
• イベント処理
•ETL
•NoOps的な意味での serverless
• データのストリーム処理基盤
• ストレージやデータベース
• ビッグデータ解析
IoT で Serverless を適用できる場所
27. • データの受信 … ストリーム処理、イベント処理
• データの加工 … 形式の変換、バイナリのパース
• データの保存 … DBやストレージへの保存
• データの分析 … 可視化、機械学習
• データの活用 … デバイス制御、異常検知、故障予測
IoTデバイスからクラウドを使うには
Device
Internet API
Endpoint
Stream
Transform
Storage
Install
SDK
Query Visualize
AI
Feedback
Control
Device
Twin
Alert
TLS
32. SORACOMのグローバルなインフラ
120以上の国・地域で利用可能
ライブラリ & SDKs
CLI, Ruby, Swift
Web インターフェース
User Console
データ転送支援
SORACOM
Beam
クラウドアダプタ
SORACOM
Funnel
データ収集・蓄積
SORACOM
Harvest
プライベート接続
SORACOM
Canal
デバイスLAN
SORACOM
Gate
IoT向けデータ通信
SORACOM Air
Cellular (2G, 3G, LTE) / LPWA (LoRaWAN, Sigfox)
専用線接続
SORACOM
Direct
仮想専用線
SORACOM
Door
API
Web API, Sandbox
IoT通信プラットフォーム SORACOM
データ通信
ネットワーク
アプリケーション
インタフェース
認証サービス
SORACOM
Endorse
デバイス管理
SORACOM
Inventory
透過型
トラフィック処理
SORACOM
Junction
34. • 暗号化オフロード
• HTTP HTTP(S)
• MQTT MQTT(S)
• TCP TCP(S)
•プロトコル変換
• TCP HTTP(S)
• UDP HTTP(S)
• LPWA HTTP(S)
SORACOM Beam
汎用プロトコル向け「データ転送支援サービス」
<対応プロトコル>
クラウド上で認証情報の管理や接続先の変更が可能
38. Serverless IoT Backend using
Bucket
SORACOM Beam
QuickSight
Athena
Amazon S3
UDP/TCP
HTTP
LPWA
HTTPS w/API key Metric Logging
API Key
•Fastly の Synthetic Response でAPIキーをチェックして、
レスポンスを返す
•ログをJSONやCSVにして、QueryStringの
パラメータを入れて S3 に保存
•分析ツールで可視化する
•実装が楽(強力なサポートの元とはいえ、半日作業)
41. Funnel adaptors
AWS API
AWS API
Azure API
SORACOM
Funnel
Endpoint
Amazon
Kinesis
Stream
Amazon
Kinesis
Firehose
Microsoft
Azure
EventHubs
AWS API AWS IoT
Google API Google
Cloud Pub/Sub
42. Funnel adaptors
AWS API
AWS API
Azure API
SORACOM
Funnel
Endpoint
Amazon
Kinesis
Stream
Amazon
Kinesis
Firehose
Microsoft
Azure
EventHubs
AWS API AWS IoT
Custom API Partner
Cloud service
Developed and hosted by SPS Partner
Developed and hosted by SORACOM
Google API Google
Cloud Pub/Sub
43. • 株式会社アプレッソ
「DataSpider Cloud」
• ウイングアーク1st株式会社
「MotionBoard」
• Kii株式会社
「Thing Interaction Framework」
• インフォテリア株式会社
「Platio」
• ブレインズテクノロジー株式会社
「Impulse」
パートナー様のソリューションにデバイスを直結
Partner Hosted Adapter
44. -SORACOM Hosted Adaptor
(ソラコムが開発するアダプタ)
• Amazon Kinesis Stream
• Amazon Kinesis Firehose
• AWS IoT (REST)
• Azure Event Hubs
• Google Cloud Pub/Sub
-Partner Hosted Adaptor
(SPSパートナーが開発するアダプタ)
• Appresso DataSpider Cloud
• Brains-Technology Impulse
• Infoteria Platio
• Kii Thing-Interaction Framework
• Wingarc1st MotionBoard
SORACOM Funnel
<対応サービス一覧>
デバイスからは簡易なプロトコルで送信するだけで
安全かつ簡単にクラウドへデータ集積が可能
48. •基本的に apex を利用している
•開発時はローカルの macOS、本番は Linux
→ native build が必要なモジュール使うとつらい
•複数のアカウント間で環境を分けた運用がつらい
→ マルチアカウント対応の独自拡張を入れた
apex コマンドのラッパーを作成して回避
(project.json の切り替え)
→ でも VPC lambda の subnet 指定とか辛い
Lambda の deployment
49. •Kinesis Stream のシャード分割
• 通常は処理レコード数とデータの量を考慮
•シャードが増えると Lambda の並列度が上がる
•Lambda 内の処理の高速化
• とにかく並列処理できる所はする
• 再利用可能なオブジェクトはハンドラーの外へ
• メモリ足りててもメモリ割り当てを上げると
CPUの処理能力もあがる
Kinesis + Lambda 構成のチューニング
Notas do Editor ということで、ネットワーク接続一つ取ってみてもいろいろ課題があることがお分かりいただけたかと思いますが、ほかにもいろいろ課題があります。
ネットワーク接続やセキュリティの部分は今お話したとおりですが、
それ以外にも、デバイスにどうやって電源を供給しましょうか、という課題がありますね。
家の中とかなら電源ケーブルを伸ばしてくればよいだけですが、屋外だとどうしましょう、移動するものだったらどうしましょう、ソーラーパネルで電力が足りるでしょうか、バッテリーはどのくらい搭載すればよいでしょうか、といったような課題があります。
それから、無事にデータをクラウドに届けたからといってそれで終わりではありませんね。そのデータを活用するにはどうしたらいいでしょう?
全国、全世界に散らばったデバイスからどんどんデータが送られてきたとしてそれを処理しきれるシステムはどのように構築しましょうか?と、これもやはり考えなければいけないですね。
そもそも何千台、何万台、といろいろな場所に設置した IoT デバイスをどうやって管理しましょうか。
このように、IoT を始めるハードルは下がったものの、いざ始めてみるとたくさんの障害に行き当たってしまうと思います。
ソラコムは 2015年の9月末にサービス開始したわけなのですが、それからおよそ2年弱の間にですね、これだけのサービスリリースや新機能追加などを行ってきております。
これらのうち多くは、実際にソラコムをお使いいただいたお客様からの声を元に開発されたものになります。
そんな数々の課題に対して、SORACOM ではご覧のようなサービスを展開しておりまして、みなさまが IoT をやっていく上で出会うであろう課題に対処するお手伝いをさせていただいております。
御覧頂いてお気づきかと思いますが、SORACOM が提供するサービスにはこのように英単語で名前がついておりまして、A B C 順にサービスが追加されてきておりまして、本日 I と J が追加になったことで全部で 10 個、D のところの Direct と Door はこの後ご説明しますが、これを別サービスとカウントすると全部で11個のサービスがございます。
ということで、いろいろサービスをご紹介してきましたが、おさらいをしてみましょう。
まず、ソラコムのサービスは SORACOM Air というサービスを基本としています。
その SORACOM Air の上に Canal, Direct, Door, Gate, Junction といったネットワーク型のサービスがあります。
それから、Beam, Endorse、Funnel、Harvest、Inventory といったような、アプリケーションよりのサービスがあります。
そして、これらのサービスを使っていただくための Web インターフェースがありまして、
それからこれは SORACOM の非常に大きな特徴なのですが、API によって、これらすべてのサービスをコントロール可能な作りになっています。
API を呼び出すための CLI や各種言語の SDK などもございますのでご活用頂ければと思います。
そして、これらのサービスを動かしているソラコムのインフラは、AWS というクラウド上に構築されていますので、世界中でこれらのサービスを展開しております。
これらのサービスを組み合わせていただくことで、IoT の課題に対して対処していただくことができます。
たとえばモノをインターネットにつなぐ部分は Air という基本のサービスでカバーしております。
セキュリティの部分は手厚くこのように多数のサービスでカバーしております。
また、クラウド側にデータを蓄積したり、データを分析したり、といったようなことのためのサービスもありますし、
本日発表になったうちの一つ、Inventory というのはデバイス管理のためのサービスであります。
ということで、SORACOM のサービスを使っていると,
IoT で皆様が出会うであろう課題領域を、ほぼまんべんなくカバーしているということになります。
ここからは、各サービスを簡単にご紹介していきます。
まず最初は SORACOM Air です。
これはコネクティビティを提供するサービス、つまり、いろいろなデバイスをインターネットにつなぎますよ、というサービスになります。
この SORACOM Air が基本となって、その他のいろいろなサービスをあわせてご利用いただけるようになります。
SORACOM Air の接続方法は現時点では 3 つありまして、
一つは一番上のセルラーですね。
つまり、3G とか LTE といった携帯電話通信網を使ったデータ通信を提供するサービスです。
SORACOM が販売している SIM カードを使ってデータ通信を行っていただきます。
日本国内専用のタイプと、世界中で使えるグローバルタイプがあります。
2つ目は、LoRaWAN です。これは低消費電力で比較的長距離電波を飛ばすことができるものになります。ただし、セルラー通信にくらべてデータサイズがとても小さくなっています。
3つ目が Sigfox です。これは本日の新発表になります。
Sigfox も LoRaWAN のように低消費電力で長距離の電波を飛ばすことができます。
LoRaWAN との違いは、LoRaWAN の方はこのゲートウェイと言われるいわゆる基地局のような装置を自分で設置できるのですが、Sigfox の方は Sigfox さんが設置した基地局を使うことになります。
現時点では、ゲートウェイの設置の自由度では LoRaWAN、逆にゲートウェイを設置しなくてもカバーエリア内ならばすぐ使えるという手軽さでは Sigfox というような使い分けになるかと思います。
他にも細かい違いはたくさんありますが、詳しいことは LPWA コーナーというのがございますのでそちらをご覧になってみてください。
さて、本題に入りましょう。
みなさん IoT という言葉はご存知だと思います。
近頃は「IoT」という言葉が独り歩きしてるなーと感じられることもあるのではないでしょうか。
今日お越しいただいた皆様の中には、たとえば仕事で上司の方から「IoT を使って何かやれ」と言われて困ってる方とか、
「IoT って何をどうすればいいかわからない」とか、
「IoT で何がうれしいのかわからない」と思ってる方とか、さまざまいらっしゃると思いますが、
実は身近なところにたくさん IoT はすでに入り込んでいて、確実に私達の暮らしを変えていっていると私は思っています。