Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

28
Cognito、Mobile SDK、 SNSでサーバいらずの プッシュ通知 クックパッド株式会社 小室直 AWSモバイル/IoTサービス徹底攻略!! Developers.IO Meetup番外編

Transcript of Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

Page 1: Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

Cognito、Mobile SDK、SNSでサーバいらずの

プッシュ通知

クックパッド株式会社 小室直 AWSモバイル/IoTサービス徹底攻略!!

Developers.IO Meetup番外編

Page 2: Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

小室 直(こむろ すなお) •クックパッド株式会社 エンジニア •会員事業部 ‣ Rails、Android

• twitter、github、他: @hogelog

Page 3: Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

紹介事例

Androidアプリで 一括プッシュ通知

Page 4: Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

アプリ用API バッチ処理

当初の見積もり

•30営業日Androidアプリ

EC2 SNS

プッシュ 基盤

EC2

Page 5: Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

実際の日数

•Cognito、Mobile SDKを採用 •6営業日

Page 6: Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

 バッチ処理

Androidアプリ

EC2

SNS

DynamoDB

Cognito Mobile SDK

Page 7: Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

•ゲストユーザ •AWS認証の自動化 •AWS認証リソース制御

 AndroidアプリCognito Mobile SDK

Page 8: Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

AndroidアプリSNS

Cognito

•GCM Token取得 •SNSエンドポイントの作成 •SNS TopicのSubscribe

Mobile SDK

Page 9: Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

バッチ処理

Androidアプリ

EC2 SNS

Cognito

•SNS TopicへのPublish

Mobile SDK

Page 10: Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

AndroidアプリCognito

•各種設定、Tokenなどの保存

DynamoDBMobile SDK

Page 11: Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

•IAMポリシー変数 • ${cognito-identity.amazonaws.com:sub}

DynamoDB×

Cognito

Page 12: Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

嬉しかったこと

Page 13: Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

Amazon Mobile SDK

•Open Source

Page 14: Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

クックパッドのAWSエコシステム

Page 15: Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

•miamによるIAM管理

Page 16: Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

•バッチサーバのIAM Role権限追加

Page 17: Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

運用 2015年8月~

•🍻サーバ監視、メンテナンスからの解放🍻

Page 18: Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

今後

Page 19: Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

Mobile Analytics

•Redshiftエクスポート

Page 20: Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

AWS Lambda

•ロジックの修正が容易(サーバサイド良いよね!)

Page 21: Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

やらなかったこと

Page 22: Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

Cognito Tokyo region

•非同期呼び出し •運用 2015年8月~

Page 23: Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

Cognitoパブリックプロバイダ

•紐付けたいユーザ情報がなかった

Page 24: Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

Cognito Sync

•柔軟性の高いDynamoDB採用

Page 25: Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

GCM Topic Messaging

•タイミングが悪かった •導入コスト

Page 26: Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

Azure Notification Hub

•良いのかもしれない •導入コスト

Page 27: Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

mBaaS?

•💰

Page 28: Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知

Cognito、Mobile SDK

•実装コストの削減 •サーバ運用からの開放 •スケール

http://techlife.cookpad.com/entry/2015/06/16/120233

https://github.com/hogelog/aws-mobile-sdk-example