SlideShare a Scribd company logo
Copyright © Classmethod, Inc.
Lambda × Mobile の可能性
2014.12.22 AWS Lambda Meetup #0
underscore Inc.
諏訪 悠紀
諏訪 悠紀
• アンダースコア株式会社 CTO
• iOS / Android アプリ開発 / デザイン
• AWSのモバイルへの活用
http://dev.classmethod.jp/author/suwa-yuki/
ブログ
http://underscore-app.tumblr.com/
アプリ
AWS Mobile SDKの
これまで
モバイルから直接使える AWS サービス
認証 : Cognito
データストア : DynamoDB
ストレージ : S3
プッシュ通知 : SNS
行動分析 : Mobile Analytics
データストリーミング : Kinesis
分散キュー : SQS
2 Tier ではちょっと使いづらい
• 各サービスが疎結合
• サービス同士をつなぎ込むには

アプリへの実装 or サーバーが必要
• アプリに実装する場合は Android / iOS の

それぞれの実装が必要
• サーバーレスでなければ AWS Mobile SDK
の真価が発揮されない
そこで Lambda の登場!
• イベントドリブン
• サービス同士の連係が可能
• サーバーレス
• モバイルで行わせたくない処理も実行可能
モバイルアプリへの
活用例
写真管理
• モバイルからS3で保存
• メタデータを抜き出してDynamoDBに保存
• モバイルからS3オブジェクトとメタデータを
取得
写真管理
ログイン
Credential 取得
写真ファイル
保存 / 取得
メタデータ取得
イベント発火
メタデータ保存
Like 機能
• DynamoDBにToとFromを保存
• ToのユーザーとFromのユーザーを取得
• ToのユーザーにPush通知
• モバイルに他のユーザー情報への

アクセス権が不要(IDだけ分かればOK)
Like 機能
ログイン
Credential 取得
To & From 保存
Push 通知
イベント発火
To に Publish
キャンペーン配信
• ゲームのイベント告知やクーポン配信など
• モバイルからユーザー情報を

DynamoDBに保存
• ユーザー情報を見てSNS Topicを

Subscribe / Unsubscribe
キャンペーン配信
Credential 取得
ユーザー情報
保存 イベント発火
条件に応じて
Subscribe
コンテンツ
取得
呼び出し
Publish
Push 通知
コンテンツ追加
Lambda は
モバイルアプリで
活用できそう!
本当に
サーバーレスで
いけるのか?
Lambda × Mobile のポイント
• イベントドリブンではあるが、要件によって
はイベントが足りない場合がある
• モバイルから実行させたくない処理を担当さ
せたい
• RDSのデータの読み書き
• アクセス権限の付与
iOS から
Lambda Functionを
InvokeAsync したい!
しかし
AWS SDK for iOS は
未対応
Lambda に対応させてみた
1. AWS SDK for iOS リポジトリを Fork
2. Lambda に使うクラスを追加
• AWSLambda, AWSLambdaModel の追加
3. 既存のクラスの改修
• AWSService, AWSSignature の修正
4. API の呼び出しテスト
• AWSLambdaTests の追加
InvokeAsync が
何故か成功しない…
“ The request signature we
calculated does not match the
signature you provided. Check your
AWS Secret Access Key and signing
method. Consult the service
documentation for details. “
orz
POST
/2014-11-13/functions/helloLambda/invoke-async/
content-length:19
content-type:binary/octet-stream
…
POST
/2014-11-13/functions/helloLambda/invoke-async
content-length:19
content-type:binary/octet-stream
…
正
誤
// InvokeAsync
if ([path containsString:@"invoke-async"]) {
path = [path stringByAppendingString:@"/"];
}
足りないところだけ追加
InvokeAsync 成功!
https://github.com/suwa-yuki/
aws-sdk-ios
Lambda の課題
• 対応しているイベントが少ない
- 特に SNS のサポートが欲しい
• Function の実行結果を受け取れない
- 非同期で処理が行われるため
- SQS や SNS の併用が必要
• バッチ処理ができない
- S3 で状態管理などの実装が必要
まとめ
• Lambda のモバイル活用は今後に期待
• AWS Mobile SDK も今後に期待
• 今後も Developers.IO で Lambda × Mobile
の情報を配信していきます
Lambda × Mobileの可能性

More Related Content

PDF
AWS LambdaとAPI Gatewayでサーバレスなシステム構築に踏み出してみる
PDF
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
PDF
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
PDF
AWS Lambda のご紹介 2015 JAWS沖縄
PDF
画像処理をAWS LambdaのPythonで!
PDF
20150908 ”時間の流れ” という無限リストを扱うAWS Lambda
PDF
Serverless Architecture on AWS (20151201版)
PDF
PHPという概念が存在しない退屈な世界 - AWS LambdaでWebAPP編
AWS LambdaとAPI Gatewayでサーバレスなシステム構築に踏み出してみる
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
AWS Lambda のご紹介 2015 JAWS沖縄
画像処理をAWS LambdaのPythonで!
20150908 ”時間の流れ” という無限リストを扱うAWS Lambda
Serverless Architecture on AWS (20151201版)
PHPという概念が存在しない退屈な世界 - AWS LambdaでWebAPP編

What's hot (20)

PDF
AWSで実現するクラウドネイティブなアプリ開発のポイント
PDF
AWS Lambda Updates
PDF
AWSでAPI Gatewayから非同期でLambdaを起動してS3にファイルアップロードしようとしたらハマった話。
PDF
Serverless Architecture on AWS(20151023版)
PDF
Serverless Architecture on AWS(20151121版)
PDF
俺のLambda
PPTX
20160312 Jaws Days 2016 API Gateway+Lambda
PDF
AWS Lambda / Amazon API Gateway Deep Dive
PPTX
はじめてのAWS Lambda
PDF
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
PDF
SA プライムなう! - AWS IoT とロボットアームでお絵かき
PDF
Amazon Cognito Deep Dive @ JAWS DAYS 2016
PDF
Lambdaのscheduled eventで実現する運用視点のサーバレスパターン
PDF
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
PDF
Serverlessでサイト監視
PPTX
Lambdaについて
PDF
クラウド時代のソフトウェアアーキテクチャ
PDF
What's new with Serverless
PDF
JAWSDAYS2016 Technical Deep DIVE
PDF
lambda-lgtm
AWSで実現するクラウドネイティブなアプリ開発のポイント
AWS Lambda Updates
AWSでAPI Gatewayから非同期でLambdaを起動してS3にファイルアップロードしようとしたらハマった話。
Serverless Architecture on AWS(20151023版)
Serverless Architecture on AWS(20151121版)
俺のLambda
20160312 Jaws Days 2016 API Gateway+Lambda
AWS Lambda / Amazon API Gateway Deep Dive
はじめてのAWS Lambda
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
SA プライムなう! - AWS IoT とロボットアームでお絵かき
Amazon Cognito Deep Dive @ JAWS DAYS 2016
Lambdaのscheduled eventで実現する運用視点のサーバレスパターン
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Serverlessでサイト監視
Lambdaについて
クラウド時代のソフトウェアアーキテクチャ
What's new with Serverless
JAWSDAYS2016 Technical Deep DIVE
lambda-lgtm
Ad

Viewers also liked (20)

PDF
AWS Lambdaで作るクローラー/スクレイピング
PDF
Lambdaによるクラウド型言語の実装
PDF
前座Lambda
PDF
AWS Lambdaを紐解く
PDF
30億のデバイスで走るjavaを支えるjavaエコシステム
PDF
Inquisitor -Common Lispに文字コード判定を-
PDF
EdisonでMQTT
ODP
Lisp Meet Up #31, Clake: a GNU make-like build utility in Common Lisp
PPTX
Webスクレイピング用の言語っぽいものを作ったよ
PDF
DynamoDB Streamを使ったリアルタイム分析
PDF
20141022 リサーチ向け・ブラウザだけでスクレイピング(浅野)
PPTX
第3回Webスクレイピング勉強会@東京 happyou.info
PPTX
ソーシャル・スクレイピング(2014年10月Webスクレイピング勉強会資料)
PDF
20150523 chatwork continuous delivery
PDF
Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップス
PDF
Dexador Rises
PDF
DDDハンズオン
PPTX
短期間で大規模なシンクラ環境を用意した話
PDF
AWSの進化とSmartNewsの裏側
PDF
20150226_JAWS_UG札幌
AWS Lambdaで作るクローラー/スクレイピング
Lambdaによるクラウド型言語の実装
前座Lambda
AWS Lambdaを紐解く
30億のデバイスで走るjavaを支えるjavaエコシステム
Inquisitor -Common Lispに文字コード判定を-
EdisonでMQTT
Lisp Meet Up #31, Clake: a GNU make-like build utility in Common Lisp
Webスクレイピング用の言語っぽいものを作ったよ
DynamoDB Streamを使ったリアルタイム分析
20141022 リサーチ向け・ブラウザだけでスクレイピング(浅野)
第3回Webスクレイピング勉強会@東京 happyou.info
ソーシャル・スクレイピング(2014年10月Webスクレイピング勉強会資料)
20150523 chatwork continuous delivery
Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップス
Dexador Rises
DDDハンズオン
短期間で大規模なシンクラ環境を用意した話
AWSの進化とSmartNewsの裏側
20150226_JAWS_UG札幌
Ad

Similar to Lambda × Mobileの可能性 (20)

PDF
PHP で始める AWS モバイルサービス - PHPカンファレンス_20150530
PDF
AWS Black Belt Techシリーズ AWS SDK
PPSX
Mobile Hubで変わる、アプリ開発最前線
PDF
AWS SDK for Android and iOS
PDF
[AWSマイスターシリーズ] AWS Client Side SDK -Android,iOS & JavaScript-
PPTX
DevAx::connect はじめました
PPTX
モバイル開発を便利にするAWS
PPTX
サーバレス × AWS SAM × DRにおけるTIPS
PDF
20200630 AWS Black Belt Online Seminar Amazon Cognito
PDF
AWS lamdbaでステートフルWebアプリ
PPTX
アプリ開発&チーム管理で 役立った拡張機能
PDF
モバイル開発者から見た サーバーレスアーキテクチャ
PDF
20151030 オープンデータとセキュリティon aws
PDF
AWSにおける モバイル向けサービス及び事例紹介(20151211)
PDF
AWS Mobile SDK利用時のテスト手法
PDF
Data API + AWS = (CMS どうでしょう 札幌編)
PPTX
Microsoft Azure で始める サクサク Android開発 in jazug青森
PDF
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
PPTX
AWS が提供する IoT ソリューションと ITS における活用
PDF
AWS Lake Formation で実現、マイクロサービスのサーバーレスな分散トレーシング
PHP で始める AWS モバイルサービス - PHPカンファレンス_20150530
AWS Black Belt Techシリーズ AWS SDK
Mobile Hubで変わる、アプリ開発最前線
AWS SDK for Android and iOS
[AWSマイスターシリーズ] AWS Client Side SDK -Android,iOS & JavaScript-
DevAx::connect はじめました
モバイル開発を便利にするAWS
サーバレス × AWS SAM × DRにおけるTIPS
20200630 AWS Black Belt Online Seminar Amazon Cognito
AWS lamdbaでステートフルWebアプリ
アプリ開発&チーム管理で 役立った拡張機能
モバイル開発者から見た サーバーレスアーキテクチャ
20151030 オープンデータとセキュリティon aws
AWSにおける モバイル向けサービス及び事例紹介(20151211)
AWS Mobile SDK利用時のテスト手法
Data API + AWS = (CMS どうでしょう 札幌編)
Microsoft Azure で始める サクサク Android開発 in jazug青森
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
AWS が提供する IoT ソリューションと ITS における活用
AWS Lake Formation で実現、マイクロサービスのサーバーレスな分散トレーシング

Lambda × Mobileの可能性