2015年11月21日@Amazon Japan
- Serverless Architecture on AWS
by @keisuke69
従来の構成は 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をサポートするサービス
- Mobile Hubで変わる、アプリ開発最前線
@akitsukada
-
User sign-in : Cognito
- 今日から始めるサーバレスアーキテクチャ
「非常駐型プロセスをイベントでトリガーする」 @Qiita
lambda serverless is hot in re:Invent.
Lambda化していく際の課題
- 制限時間5分
- Contextから残り時間をみてタスクをリレー
- Fan Out
- 失敗検知
- 冪等性
サーバーレスにするには
- 仕様が決まっている
- Lambdaの制限をカバーする
- Deployの自動化→ JAWSを使うといい
徐々にLambda化・マイクロサービス化はできる!
AWSはマイクロサービスの先にサーバレスを見据えている
- デベロッパーに贈る、実践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
- デバイスパラメタ定義
- メッセージ発行
- シャドー定義
- AWS IoTを本番投入してみた話
あきんどスシロー
回転寿司の皿センサーデータ収集. Kinesisストリーム
- 初代 AWS CLI + AWK (!)
- 2代目 Lambda処理
- 3代目 Kinesis Firehose
機械学習による店舗混雑待ち時間予測
(所用のため途中退出)