Tokyo - Amazon Web Services · 米国における IoT / Big Data & Analytics...

Preview:

Citation preview

Tokyo

米国における IoT / Big Data & Analytics

活用事例の最前線 -先進事例に学ぶ IoT のベストプラクティス

Miha Kralj, Principal Architect, Amazon Web Services, Inc.

ミハ クラーリ, プリンシパルアーキテクト

Eugene Kawamoto, Senior Manager, Business Development, Amazon Web Services, Inc.

川本 雄人, シニアマネージャ, ビジネスデベロップメント

June 3, 2015 | Tokyo, Japan

定義: リソースが複雑なコンピュート

• 少なくともひとつのコンピューティング機能

をもつ複雑なデバイス

• 通常は数千台またはそれ以上の数量で展開

• 人的なやり取り無しにクリティカルな用途で

利用

Internet of Things (モノのインターネット)

“… ネットワーク連携をする物理的なパーツ もしくは、電気的、ソフトウェア、センサー及び通信機能を持ったデバイスによる、その他のシステムや別の連携デバイスとのデータ通信をすることでより高い価値やサービスを提供する仕組み “

IoT と Small Thing の比較

Not a Small Thing

A Small Thing

IoT と Small Thing の比較

Not a Small Thing A Small Thing

デバイスが 小さいほど,

データはより大きくなる

…そして新しい課題も現れる

TempTracker AWSクラウドでの

蜂の巣箱のモニタリング

温度センサーボード

“raspberry pi” マイクロサーバー

防水のボックス

Python (boto)

DynamoDB Kinesis App

Kinesis

収集

ダッシュボード

Lambda

イベント ソース

SNS

TempTracker: IoT センサーデータ収集例

蜂の巣箱内の温度

蜂の巣箱外の温度

IoTアーキテクチャ例

Small Thing

蓄積レイヤー 断続的なレイヤー

スピードレイヤー

テレメトリー

コマンド

デバイスDevOps

監査 & 権限付与

ウェブ アプリ

IoTコマンドにおける課題

正確なコマンドを送信すること

数十万台ものデバイスが必要とする:

• 信頼できるコマンドのデリバリー

• 最小コネクションのデリバリー

• 重要なコマンドはトランザクション処理

IoT コマンド + クラウドアーキテクチャ

(3) SUCCESSコマンドをライト

Device Commands

(2) テーブルからコマンドをリード

(1) コンフィグの取得

Device Config

Small Thing

設定済み コマンドソース

Device Commands

• 各デバイスへの指令を出すケース

モバイルデバイス

ウェブ アプリ

(C) ユーザ コマンド

(B) 設定済みデバイス ペアの取得

Amazon Cognito Authorization

(A) モバイルユーザ 承認

Users

IoT デバイス DevOps における課題

If you kill it, it is dead

数十万台ものデバイスがサポートを必要とする:

• インテリジェントな例外処理管理

• 段階的, 有効化, 繰り返しの更新

IoT DevOps + クラウドアーキテクチャ

(2) ファームウェアの取得

(1) コンフィグ取得

AWSクラウド

Device Commands

Small Thing

設定済み ファームウェア

ダウンロード

Device Specific Bundle

(3) ファームウェア送信成功

Device Commands

様々な センサー

• 必要に応じてファームウェアを更新するケース

IoTデバイスDevOpsプロセスアーキテクチャ

(2) ファームウェア取得

(1) コマンド取得

Device Commands

Small Thing

Device Specific Bundle

(3) ファームウェア送信成功

Device Commands

Small Thing

全て成功?

(2) ファームウェア取得

(1) コマンド取得

Device Commands

Device Specific Bundle

(3) ファームウェア送信成功

Device Commands

ステージング環境 本番環境

Logger Small Thing

Logger Small Thing

(B) コピー

(C) 更新 コマンド

様々な デバイス

• 必要に応じてファームウェアを更新するケース

(A) 有効化

全て成功?

(D) 例外管理

IoT 監査と承認における課題

数十万台ものデバイスが必要とする:

• インテリジェントな例外処理管理

• リソースの複雑な認証プロセス

• デバイス認証更新

(1) Cognito ID取得

IoT 監査と承認 + クラウドアーキテクチャ

AWSクラウド

• 正しいデバイスへ指令を出すケース

Small Thing

Cognito Authorization Cognito ID

(2) Unauthenticated Register

Device Registration

(3) デバイスを承認

Device Registration

ウェブ アプリ ユーザ & 管理者

IoT テレメトリーに関する課題

数十万台ものデバイスが必要に:

• 接続が途切れる問題への対応

• センサーデータの転送品質

• ピークや落ち込みの波形を許容する柔軟性

AWSクラウド

保管

相関

分析

• センサーデータを収集し利用するケース

モバイル デバイス 様々な

デバイス

HTTPS

Small Thing

IoT テレメトリー + クラウドアーキテクチャ

Persistent Stream

Logger

滴りから強大な流れに

AWS Cloud

Stream

Small Thing

モバイル デバイス 様々な

デバイス

Auto Scaling Group

M2M Brokers

Device Config

M2M Broker Fleet Keeper

M2M Config Broker

aka. evolved telemetry + cloud architecture

保管

相関

分析

巨大な流れから河川に aka Global Telemetry Architecture

Stream

セントラルリージョン

Amazon Kinesis–Enabled

App

Logger

Stream

Small Thing

モバイル デバイス

様々な デバイス リージョン

Amazon SQS Complaint Queue

Logger

Stream

Small Thing

モバイル デバイス

様々な デバイス リージョン

保管

相関

分析

Device Config

Device Config

Master Device Config

M2M Broker Scaling Group

Small Things と AWSサービス

Global Ubiquity

$0 Inbound Data

Small Thing

Elasticity

Purpose Built Services

Global Object Store

Audit &

AZN Amazon S3

Amazon Cognito

Amazon DynamoDB

Amazon Kinesis

Amazon SQS

Auto Scaling

ビッグデータ処理の簡略化

様々なツール群の存在

Glacier

S3 DynamoDB

RDS

EMR

Redshift

Data Pipeline Kinesis

Cassandra CloudSearch

Kinesis-enabled

app

big data パイプライン

データ 回答

収集 処理 分析

蓄積

単純なパターン

収集 処理 分析

蓄積

単純なパターン

データ収集と 蓄積

データ プロセッシング

イベント プロセッシング

データ 分析

単純なパターン

S3 Kinesis DynamoDB RDS (Aurora)

収集 処理 分析

蓄積

データ収集と 蓄積

データ プロセッシング

イベント プロセッシング

データ 分析

すべてのデータをS3に集約

Amazon EMR

Amazon Kinesis

Amazon Redshift

Amazon DynamoDB

Amazon RDS

Apache Spark Streaming

Apache Cassandra

Apache Storm

Amazon S3

Amazon Machine Learning

最適なツールによって連携

AWS サービス – データ収集および蓄積

Amazon RDS (Aurora)

Amazon DynamoDB

Amazon S3

Amazon Kinesis

S3 $0.030/GB-Mo

Redshift Starts at $0.25/hour

EC2 Starts at $0.02/hour

Glacier $0.010/GB-Mo

Kinesis $0.015/shard 1MB/s in; 2MB/out $0.028/million puts

500MM ツイート/day = ~ 5,800 ツイート/毎秒

2k/ツイート → ~12MB/sec (~1TB/day)

シャードあたり$0.015/時, $0.028/million PUTS

Kinesis コスト $0.765/時

Redshift コスト $0.850/時 (2TB ノード)

S3 コスト$1.28/時 (圧縮なし)

合計: $2.895/時

コスト

単純なパターン

AWS Lambda

KCL Apps

収集 処理 分析

蓄積

データ収集 及び保存

データ プロセッシング

イベント プロセッシング

データ 分析

リアルタイムイベントプロセッシング

• イベント・ドリブンなプログラミング

• リアルタイムインプットをトリガに次のアクションへ

例:

– デバイスログからハード故障をプロアクティブに検知

– 行動履歴から不正の発見

– パフォーマンスSLAのモニタリング

– しきい値を下回った在庫の通知

イベントプロセッシング – 機能の実装

S3 のイベント通知

Kinesis ストリーム

DynamoDB ストリーム

AWS Lambda

KCL Apps

収集 処理 分析

蓄積

データ集取 及び保存

データ プロセッシング

イベント プロセッシング

データ 分析

単純なパターン

EMR Redshift

Machine Learning

データプロセッシング/分析

• データに関する問題への回答

• 問題 – 分析: SQL/データウェアハウス

– 分類: センチメント分析

– 予測: ページビュー予測

– など

データ処理のフレームワーク

一般的には2種類:

• バッチ処理

• ストリーム処理

IoT/ビッグデータ ユースケース

ビッグデータ事例: スシロー様

スシロー様

• 回転寿司チェーンレストラン

• センサーデータをKinesisに収集

スシロー様におけるデータフロー

2009 2010 2011 2012 2013

AWSへの移行

cameras

DynamoDBへの 切り替え

IoT / コネクティッドデバイス

シンプルビデオのモニタリングとセキュリティ 急激な成長 – “ 突如ペタバイトクラスに”

EC2 (ライブストリーミング)

S3 (CVRデータ)

DynamoDB (メタデータ)

CloudFront (CDN)

EMR (アクティビティ認知)

DynamoDB Stream を使ったIoTアプリケーション例

Devices

• アナリティクスやトレンド分析

• デバイスの異常検知通知

• 異常発生予測

AWS

Lamda

Amazon Redshift

Amazon SNS

Amazon Machine Learning

Amazon Web Services’ global

customer and partner conference.

Learn more and register:

reinvent.awsevents.com

October 6-9, 2015 | The Venetian - Las Vegas, NV

Thank you

Recommended