Skip to content

Instantly share code, notes, and snippets.

@fnishio
Last active November 21, 2015 12:10
Show Gist options
  • Save fnishio/fb5f155366aeb7db1d97 to your computer and use it in GitHub Desktop.
Save fnishio/fb5f155366aeb7db1d97 to your computer and use it in GitHub Desktop.
AWSモバイル/IoTサービス徹底攻略!! メモ

AWSモバイル/IoTサービス徹底攻略!!

2015年11月21日@Amazon Japan

  1. Serverless Architecture on AWS

by @keisuke69

cloud native

serverless architecture

従来の構成は ELB - EC2 - RDS みたいな感じ

  • 課題

  • infra operation

  • authentication

  • scalability

  • EC2を使わずに構成

  • UIはJS/native

  • JS, static content は S3 via CloudFront

  • LogicはAPIとして API Gateway - Lambda

  • Lambdaから各AWSサービスを利用

  • 認証はCognito

  • 2-Tier Architecture

    • モバイルから直接AWSサービスを利用
    • クライアント向けAWS SDK
    • Mobile Hub
  • 解決される課題

  • バックエンド側開発コスト、運用コスト最小化

  • スケーラビリティ、キャパシティ、セキュリティ

  • コスト効率高い Lambda

事例

  • VidRoll
  • PlayOnSports
  • easy ten

Key Services

  • AWS Lambda: ステートレス、トリガーベース

  • API Gateway: システム間連携、疎結合(マイクロサービス)

    • Swaggerサポート
    • iOS,Android向けSDKの作成
  • Cognito: アイデンティティ管理

  • JAWS

  • Mobile Hub

  • 2tierをサポートするサービス

  1. Mobile Hubで変わる、アプリ開発最前線

@akitsukada

  1. 今日から始めるサーバレスアーキテクチャ

「非常駐型プロセスをイベントでトリガーする」 @Qiita

lambda serverless is hot in re:Invent.

Lambda化していく際の課題

  • 制限時間5分
  • Contextから残り時間をみてタスクをリレー
  • Fan Out
  • 失敗検知
  • 冪等性

サーバーレスにするには

  • 仕様が決まっている
  • Lambdaの制限をカバーする
  • Deployの自動化→ JAWSを使うといい

徐々にLambda化・マイクロサービス化はできる!

AWSはマイクロサービスの先にサーバレスを見据えている

  1. デベロッパーに贈る、実践AWS IoT 入門

  • 収集 S3,Kinesis,Dynamo
  • 処理 Lambda,KCL、EMR
  • 分析 Redshift,MachineLearning

AWS IoT

  • DeviceSDK
  • 認証/アクセス許可
  • メッセージブローカー
  • ルールエンジン
  • デバイスシャドウ アプリケーションはこのデバイスシャドウとやり取り?

メッセージブローカ

  • MQTT, HTTP1.1
  • 自動的にスケール
  • セキュリティ X.509クライアント証明、TLS

MQTT

  • スループット
  • コネクション維持の消費電力削減

認証

  • TLS
  • X.509 Cert

ルールエンジン

  • SQL文を使ったTopicのフィルタリング、WHERE句
  • JSONサポート
  • メッセージ変換機能

シャドー

  • デバイスがオフラインになっても、アプリはシャドーからデータを採れる
  • アプリからシャドーへ状態変更要求を投げると、状態のデルタがデバイスに伝えられる
  • Thing SDKで簡単にシャドーを使用可能

デバイス管理

  • デバイスファームの更新とか

デバイスSDK

  • デバイスパラメタ定義
  • メッセージ発行
  • シャドー定義
  1. AWS IoTを本番投入してみた話

あきんどスシロー

回転寿司の皿センサーデータ収集. Kinesisストリーム

  • 初代 AWS CLI + AWK (!)
  • 2代目 Lambda処理
  • 3代目 Kinesis Firehose

機械学習による店舗混雑待ち時間予測

(所用のため途中退出)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment