■概要
- プロダクトの開発スピード向上や運用コスト減に大きく寄与できる AWS モバイルサービス群について
■登壇者
- スピーカー: 塚田 朗弘さん(アマゾン ウェブ サービス ジャパン株式会社 技術本部 メディア・エンターテインメント部 ソリューションアーキテクト)
- ゲストスピーカー: 松本 勇気さん (株式会社Gunosy 開発本部執行役員)
■このセッションについて
- 対象者1
- モバイルアプリのエンジニアの方
- 対象者2
- モバイルアプリのバックエンドのサーバサイドの方
- ゴール
- AWSを有効活用することでビジネスにフォーカスを
■AWSのモバイルサービス
- 紫アイコンがモバイルに最適化されたサービス
- 実機テストの並列実行なども
■モバイルアプリアーキテクチャ分類
- 3つのアーキテクチャで着目するのは、バックエンドのアクセス手法
- それは
- General Web Architechure
- 王道パターン
- EC2なのでなんでもできる
- Serverless Architechure
- API Gatewayを挟む
- EC2もELBも使わない
- APIからiOS, AndroidなどのSDKを生成できる
- 2-Tier Architechure
- API Gatewayすら無くす
- AWS Mobile Hub
- General Web Architechure
■アーキテクチャ分類を横断するモバイルサービス
- AWS Device Farm
- モンキーテスト的なFuzzテストもあり
■シンプルなアプリ側の実装
- (ry
■ケーススタディ
- 現行プロジェクト
- メディアパス
- KDDIと共同の新規メディア開発
- 特徴
- 非常に小なチーム
- デザイナ2名
- サーバサイド1名
- インフラ1名
- フロント1名
- 非常に小なチーム
- クライアントに対する処理の移譲
- AWS Mobile SDKを利用
- Cognito経由の認証・認可
- デバイスのトークン管理をSNSで
- ログの配送は直接Kinesis
- サーバレスアーキテクチャの部分的適用
- 全てをサーバレスにはしない
- 非同期で運用可能なものほを向いている
- ユーザー設定管理
- ログ配送・加工・集計
- Congnito Syncによるサーバレスなユーザ管理
- Congnito -> Lambda -> SNS SQS -> Elasticsearch
- Kinesisによるログ管理フロー
- ログ中継など行わない
- Clinetでbuffering -> PutRecordsでまとめて送信 -> Kinesis -> ((EMR Spark Streaming -> RDS) + (Lambda -> S3 -> EMR Hive Prest))
■まとめ
- (ry
■Appendix
- 2-TierアーキテクチャとmBaaSの違い
※当日の生メモです(ほぼ校正していませんm(_ _)m
※登壇者の方の情報など一部 http://www.awssummit.tokyo/devcon/index.html から引用させて頂きました