ウィリアムのいたずらの、まちあるき、たべあるきーPART2

gooブログ「ウィリアムのいたずらの、まちあるき、たべあるき」がお引越ししてきました

AWS Summit行ってきた! その8AWSでモバイルアプリ

6月3日AWS Summit Tokyo 2016に行ってきた!のつづき
AWSを使ったモバイルアプリの設計と実装
をメモメモ



■AWSを使ったモバイルアプリの設計と実装

・自己紹介
・このセッションについて
 対象者:モバイルアプリエンジニア
 AWSでモバイルアプリ
・AWSモバイルサービス
 どんなジャンルでも
 プラットフォーム向け完備
 モバイル向けサービス
 モバイルからも触れるサービス

・ユーザー認識、アクセス許可、データ同期、ユーザー行動分析
 プッシュ通知の送信、実機テストの並行実行 AWS デバイスファーム

・AWS Mobile SDK
 共通の認証機構
 オフラインを自動でハンドリング
 ローカルオフラインキャッシュ
 メモリフットプリント

。モバイルアーキテクチャ分類
  Generaal Web JSON
  サーバレス
         APIゲートウェイ
  2-Tier   AWS APIコール
  横断的

1.一般的なWebのアーキテクチャ
・スタンダードなパターン
 ELB、EC2、RDS
 メリット :枯れた安定性のある構成
 デメリット:サーバーのスペック、台数

2.サーバレスアーキテクチャ
 APIゲートウェイ、Lambda,dynamoDB
 メリット:セキュアなAPIアクセス
 デメリット:まだ枯れていない

3.2-Tire
 クライアントアプリから直接
 メリット:スケールはAWS、コグニートでセキュア、最小限のパーツ
 デメリット:マネジメントしにくい

→AWS モバイル Hub
 2-Tireアーキテクチャをプロビジョニング、
 スタートアップアプリを自動生成

どのアーキテクチャを採用すべきか
・組み合わせ

横断するサービス
・クラウドフロント、S3
・Kinesis
・Amazon Cognito User Pools
 まねーじどなユーザー管理基盤
 Lambdaでフック処理
・Mobile Analytics
 グロースハックに役立つ
 マネタイズイベント
 S3,Redshiftへオートエクスポート
 サンプリングしない
・AWS デバイス ファーム
 自前で実機なくてもOK
 Fuzzテスト(モンキーテスト)をすぐにできる
 JenkinsとGradle

シンプルなアプリ側の実装
・こぐにと あいでんてぃてぃから
・Lambdaのインボーク

・Githubで動くサンプル

・ケーススタディ
【ゲスト】グノシー 松本さん
・自己紹介
・現行プロジェクトの背景
 KDDI様と協働 ニュースパス
・課題
 非常に小さいチーム、4カ月、
・AWsを如何に活用したか
 AWSをフル活用してのアーキテクチャ設計
  クライアントへの処理委譲
  サーバレスアーキテクチャ
・クライアントに対する処理委譲
 AWS Mobile SDKを利用
・通知のトークン管理をSNSで
・ログの配送はkinesisへ

・サーバーレスアーキテクチャの部分的適用
 すべてをサーバーレスにしない
 非同期で運用可能なものほど向いている

・開発にあたってのTips
 Cognito Syncによるサーバーレスなユーザー管理

・KInesisによるログ管理フロー
 MobileSDKからの送信
  バルクで送信
・最後に
 めんばー募集中→Wantedlyで

まとめ
・モバイルアプリ開発時にはAWSを柔軟に活用
・トータルにサポート
・AWS SDKでクライアント側の実装もバッチリ
・サーバーレスアーキテクチャ

ふろく
・2-TireとmBaaSとの違い
  mBaaSは抽象度高い→カスタマイズ性に限界
・Parse.comからAWSへの移行サポート
 またはお近くのAWS Japan