20
AWS Mobile Hubで構築する クラウドネイティブ モバイルアプリアーキテクチャ re:Growth 2015 #3 Yuki Suwa Mobile App Developer, Classmethod #cmdevio

AWS Mobile Hub で構築するクラウドネイティブモバイルアーキテクチャ

Embed Size (px)

Citation preview

AWS Mobile Hubで構築する クラウドネイティブ モバイルアプリアーキテクチャ

re:Growth 2015 #3

Yuki Suwa Mobile App Developer, Classmethod

#cmdevio

諏訪 悠紀• クラスメソッドのモバイルアプリサービス部所属

• モバイルアプリのデザイン、開発を担当

• AWS モバイルアプリ向けサービスの活用

• Developers.IO の一番上に居ます

• このたび初めて re:Invent に参加!

• ラスベガスのカジノで $1 勝ちました

2

モバイルアプリ開発に求められるもの

3

1Ability to

Scaleスケール可能な アーキテクチャ

2Application

Quality高品質, 良いUX

3Development

Ease容易な開発

参考 : (MBL202) Mobile State of the Union: Mobile Apps Powered by AWS

クラウドネイティブとは• クラウドで提供されているサービスを利用することを前提に構築するシステム、アプリケーション

• 1からすべてを作りこんでいくのではなく、効率的かつ簡単にシステム、アプリケーションを構築

• 開発者は構築するシステム、アプリケーションの中身 (最も価値のあるところ) の開発に注力

4

参考 : クラウドネイティブ化する未来

5

AWS Mobile Hub

AWS Mobile Hub とは

• モバイルアプリの構築、テスト、モニタリングのプロセスを簡潔にするためのサービス

• サービスのインテグレーションや構成などといったアプリ開発者にとって面倒な作業をスキップ

• 機能指向、フレンドリーなコンソール

• ベータ版が提供中 (US-East-1 のみ)

6

AWS Mobile Hub の機能

• ユーザーサインイン

• プッシュ通知

• アプリのコンテンツ配信

• ユーザーデータストレージ

• アプリ分析

• クラウドロジック

• アプリのテスト7

ボタンポチポチで 構築可能!!

ユーザーサインイン• ユーザー認証機能を提供

• 有名なIDプロバイダーによるサインインが可能

• Facebook, Amazon, Google, Twitter (現在はFBのみ)

• カスタム認証も可能

• Amazon Cognito の Identity Pool を使ったユーザー認証機能の構成を自動でプロビジョニング

8

プッシュ通知• iOS, Android に対するプッシュ通知機能を提供

• Android は GCM, iOS は APNs を利用

• APNs は Development と Production を利用可能

• Amazon SNS の Platform Application を使ったプッシュ通知の構成を自動でプロビジョニング

9

アプリのコンテンツ配信• アプリのコンテンツ配信機能を提供

• 画像、動画などを含むファイルをクラウドに保存してアプリにダウンロード&キャッシュ

• CDN を利用した低レイテンシ配信も可能

• Amazon S3, Amazon CloudFront を利用したコンテンツ配信の構成を自動でプロビジョニング

10

ユーザーデータストレージ• ユーザーデータを保存・同期する機能を提供

• プロフィールや設定、ゲームの進行状況などを保存

• 写真などのようなメディアファイルも保存可能

• 複数のデバイス間でデータの同期も可能

• Amazon Cognito の Cognito Sync, Amazon S3 を使ったデータを保存する構成を自動でプロビジョニング

11

アプリ分析• アプリの使用状況や収益化のメトリクスなどを収集、測定、分析する機能を提供

• コンソールで主要なデータをグラフで視覚化

• Amazon S3 または Amazon Redshift にエクスポート可能

• Amazon Mobile Analytics を使ったアプリ分析機能を自動でプロビジョニング

12

クラウドロジック• サーバーレスで構築したモバイルバックエンドを提供

• サーバーのプロビジョニングや監視の必要なし

• コードの実行やスケールなどはAWSが自動で実施

• アプリからは直接呼び出すだけ

• AWS Lambda を使ったモバイルバックエンド構成を自動でプロビジョニング

13

アプリのテスト• アプリのテストをクラウドで実施できる機能を提供

• iOS, Android および Fire OS の実デバイスでテスト可能

• アプリの品質を高めるためのテストが実施可能

• AWS Device Farm を使ったテストを実施

• 現在はリンクのみ

14

アプリのソースコードのビルド• 利用した機能に必要な実装コードがダウンロード可能

• 最新のSDKで動作するソースコード

15

iOS • Xcode 7.0 以上

Android • Android Studio 1.3.2 以上

• API レベル 19 (KitKat) 以上でビルド

• Build-tools 21.1.2

• OS 4.0.3 (API レベル 15) 以上で動作

リソースの確認• プロビジョニングした各種リソースが確認可能

• 各マネジメントコンソールへのリンクになっている

16

Demo

17

18

サインイン

分析

テスト

プッシュ通知

コンテンツ配信

ユーザーデータ同期

クラウドロジック

まとめ• Mobile Hub でモバイルアプリのバックエンドを簡単にプロビジョニング可能!

• 利用したい機能を選ぶだけで、AWSの推奨構成が理解でき、素早く構築できる

• ソースコードも後から自由に修正可能なのでカスタマイズ性も高い

• バックエンドを楽に構築して価値に直結するところに注力しよう!

19