Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

[AWS初心者向けWebinar] AWSを活用したモバイルアプリの開発と運用

13,987 views

Published on

2015/11/17
[AWS初心者向けWebinar] AWSを活用したモバイルアプリの開発と運用

Published in: Technology

[AWS初心者向けWebinar] AWSを活用したモバイルアプリの開発と運用

  1. 1. 2015 / 11 / 17 アマゾン ウェブ サービス ジャパン 株式会社 ソリューション アーキテクト 清水 崇之 【 AWS 初心者向け Webinar 】 AWS を活用したモバイルアプリの開発と運用
  2. 2. ご質問を受け付け致します! 質問を投げることができます! • Adobe Connect のチャット機能を使って、質問を書き込んでく ださい。(書き込んだ質問は、主催者にしか見えません) • 最後の Q&A の時間で可能な限り回答させていただきます。 ①画面右下のチャッ トボックスに質問を 書き込んでください ②吹き出しマークで 送信してください
  3. 3. AWS 初心者向け Webinar のご紹介 AWS についてこれから学ぶ方むけのソリューションカット の Webinar です 過去の Webinar 資料 • AWS クラウドサービス活用資料集ページにて公開 http://aws.amazon.com/jp/aws-jp-introduction/ イベントの告知 • 国内のイベント・セミナースケジュールページにて告知 http://aws.amazon.com/jp/about-aws/events/ (オンラインセミナー枠)
  4. 4. 自己紹介 清水 崇之 • アマゾン ウェブ サービス ジャパン 株式会社 ⎼ ソリューション アーキテクト • 西日本担当(大阪のお客様にもプライム対応!だけどプライスレス) • ゲーム、モバイル、Web サービス全般 • AWS 芸人 (詳しくは http://www.slideshare.net/shimy_net)
  5. 5. アジェンダ モバイルアプリ開発について AWS を活用するメリット ケースごとの課題と解決方法 まとめ
  6. 6. アジェンダ モバイルアプリ開発について AWS を活用するメリット ケースごとの課題と解決方法 まとめ
  7. 7. モバイルアプリを実行する複数のプラットフォームがあり開発の方法が異なる。 モバイルアプリの開発とは? プラットフォーム OS 開発ツール 言語 Apple iPhone, iPad iOS Xcode Swift, Objective-C Google Android Android OS Android Studio Java Amazon Kindle Fire Fire OS 〃 〃 開発ツールで実装 アプリ ビルド インストール デバイス
  8. 8. iPhone, iPad 向けのアプリを開発できる。Apple Developer サイトで入手できる。 Xcode https://developer.apple.com/jp/xcode/downloads/
  9. 9. Android, Kindle Fire 向けのアプリを開発できる。Google Developer サイトで入手できる。 Android Studio https://developer.android.com/sdk/index.html
  10. 10. アジェンダ モバイルアプリ開発について AWS を活用するメリット ケースごとの課題と解決方法 まとめ
  11. 11. モバイルアプリとサーバーアプリ <戻る Book 情報 ISBN:22-2222 作者:夏目漱石 ハードカバー 詳しく見る> 我輩は猫である データベース サーバーアプリ 検索 データ データセンター Java PHP etc. インタラクティブなアプリには サーバー側の構築も必要となる モバイルアプリ
  12. 12. しかし、予算も時間も足りない・・・ <戻る Book 情報 ISBN:22-2222 作者:夏目漱石 ハードカバー 詳しく見る> 我輩は猫である データベース サーバーアプリ 検索 データ データセンター Java PHP etc. モバイルアプリ
  13. 13. 多岐にわたる課題 開発者が直面する課題  複数のプラットフォーム  スケーラビリティの確保  高コストな管理や運用  ユーザ体験の阻害  ユーザIDの管理 モバイルアプリのコード ユーザID管理、認証 ユーザデータの同期処理 非同期通信 アクティブデバイスの分析 ユーザ行動の分析 コンバージョンの分析 プッシュ通知 イベントトリガー プラットフォームごとのはっきりしない仕様 データチェックと変換 ファイルやメディアのストレージ 共有データベースのストレージ データコレクション その他さまざま…. AWS Cloud インフラストラクチャ
  14. 14. AWS モバイルサービス を活用して課題を解決
  15. 15. AWS モバイルサービスを活用して課題を解決 <戻る Book 情報 ISBN:22-2222 作者:夏目漱石 ハードカバー 詳しく見る> 我輩は猫である データベース サーバーアプリ 検索 データ データセンター Java PHP etc. モバイルアプリ
  16. 16. 管理 & セキュリティ アクセス コントロール Identity Management キー管理 & ストレージ モニタリング & ログ リソース & 利用の監査 プラットフォーム サービス 分析 アプリケーション 開発者ツール & 運用 モバイル Data Pipelines データウェアハウス Hadoop Real-time Streaming Data アプリケーション ライフサイクル管理 コンテナ デプロイ DevOps イベント駆動 コンピューティング リソース テンプレート ユーザ認証 アナリティクス プッシュ通知 データ同期 App Streaming Eメール キュー&通知 検索 トランス コーディング Workflow コアサービス CDN コンピュート (VMs, Auto-scaling & Load Balancing) データベース (Relational, NoSQL, Caching) ネットワーク (VPC, DX, DNS) ストレージ (Object, Block and Archival) インフラストラクチャ アベイラビリティゾーン Points of Presence リージョン エンタープライズ アプリケーション ビジネスEメー ル 共有&コラボレーション仮想デスクトップ 技術 & ビジネスサポート アカウント マネージメント パートナー エコシステム プロサービス セキュリティ 料金レポート ソリューション アーキテクト サポート トレーニング 資格 AWS が提供する 50 以上のサービス 自動テスト
  17. 17. AWS Mobile サービス Cognito Kinesis DynamoDB S3 SQS SES グローバルインフラ コアとなるサービス群 モバイルに最適化 されたコネクタ モバイルに最適化 されたサービス AWS SDK for Android ストレージ データベース キュー メール コンピュート ネットワーク AWS Mobile SDK Mobile Analytics SNS Mobile Push AWS SDK for iOS AWS SDK for Unity あなたのモバイルアプリ ゲームアプリ ユーティリティアプリ 家計簿アプリ クーポンアプリ Lambda Device Farm API Gateway AWS SDK for JavaScript
  18. 18. AWS SDK for Android AWS SDK for iOS AWS SDK for Unity AWS SDK for JavaScript AWS Mobile サービス グローバルインフラ コアとなるサービス群 モバイルに最適化 されたコネクタ モバイルに最適化 されたサービス ストレージ データベース キュー メール コンピュート ネットワーク AWS Mobile SDK あなたのモバイルアプリ ゲームアプリ ユーティリティアプリ 家計簿アプリ クーポンアプリ Cognito Kinesis DynamoDB S3 SQS SES Mobile Analytics SNS Mobile Push Lambda Device Farm API Gateway ユーザ認証 データ同期 アナリティクス レポート プッシュ通知 NoSQL データベース 断続的なネットワーク コネクションを処理で きるレコーダー コンテンツの 保存と配信 Eメール分散キュー API 作成自動テスト ロジック
  19. 19. AWS Mobile サービス Cognito Kinesis DynamoDB S3 SQS SES グローバルインフラ コアとなるサービス群 モバイルに最適化 されたコネクタ モバイルに最適化 されたサービス ストレージ データベース キュー メール コンピュート ネットワーク AWS Mobile SDK Mobile Analytics SNS Mobile Push あなたのモバイルアプリ ゲームアプリ ユーティリティアプリ 家計簿アプリ クーポンアプリ Lambda Device Farm API Gateway AWS SDK for Android AWS SDK for iOS AWS SDK for Unity AWS SDK for JavaScript モバイルプラットフォームに合わせて AWS SDK を利用
  20. 20. AWS Mobile SDK クロスプラットフォーム • Android, Fire OS, iOS, Unity, JavaScript をサポート 共通の認証 • Amazon Cognito により認証機構を迅速に導入可能 ネットワーク状態を自動でハンドリング • 例: ローカルキャッシュによりオフラインでも利用可能 メモリフットプリントの削減 • 導入するパッケージをサービス単位で選択可能
  21. 21. 開発ツールで実装 アプリ ビルド インストール デバイス AWS Mobile SDK をインポートする AWSサービス インポートして利用する
  22. 22. アジェンダ モバイルアプリ開発について AWS を活用するメリット ケースごとの課題と解決方法 まとめ
  23. 23. ケース1:ユーザーを認証したい Guest 独自認証 ユーザー認証
  24. 24. ID プロバイダ ゲストアクセス 独自認証システム ユニーク ID ジョー アンナ ボブ デバイス プラットフォーム AWS サービス 独自認証システム ID プロバイダによる認証ではなく 独自の Username と Password で認証できる。 複数の ID プロバイダ ID プロバイダと簡単に連携して認証できる。 Amazon, Facebook, Twitter, Google, OpenID Connect などに対応 ゲストユーザアクセス アカウント作成やログインを必要とせず、セ キュアに AWS サービスを利用でき、アプリ の特徴を損なわない。”モノ”の ID として Amazon Cognito Identity S3 DynamoDB Kinesis ケース1:ユーザーを認証したい
  25. 25. Amazon Cognito Identity ケース1:ユーザーを認証したい DynamoDB モバイルアプリ Amazon Cognito Identity Cognito ID Temp Credentials S3 Access Token Pool ID Role ARNs Temp Credentials Mobile SDK IDプロバイダ Kinesis ID プロバイダや独自認証システムと連携して認証することで、任意のポリシーを持った 一時的なクレデンシャルが発行され、AWS リソースを利用する。 ゲストアクセス 独自の認証システム
  26. 26. ケース2:シンプルにデータを保存したい データ保存/同期
  27. 27. ケース2:シンプルにデータを保存したい Amazon Cognito Sync クロスデバイス、クロスプラットフォームで同期 ユーサデータや設定をデバイスをまたいで同期できる。 Cognito Identity のユーザごとに 20MB 各データセットは 1MB までの Key/Value 最大 1024 Key まで保存 バイナリデータは Base64 でエンコードして保存 K/V Data Store
  28. 28. ケース2:シンプルにデータを保存したい SDK ローカルデータストア オフライン動作 データはまずローカルのデータストレージに保存されるので、 電波が不安定もしくは不通であってもシームレスに動作できる インテリジェントな同期処理 同期メソッドはローカルとクラウドのデータのバージョンを比 較して、データをプッシュ/プル 柔軟なコンフリクトの解決 同期メソッドは、変更を読み取り後、ローカルの変更をクラウ ドのデータストアへ書き込む。デフォルトでは、最後の書き込 みを有効として保存する。開発者はコンフリクト処理を独自に 上書きして実装することもできる。 K/V Data Store Amazon Cognito Sync
  29. 29. ユーザ情報 Dataset ゲーム状況 Dataset お役立ちアプリ ゲームアプリ ケース2:シンプルにデータを保存したい Amazon Cognito Identity & Sync IDプロバイダ認証
  30. 30. ケース3:データベースを利用したい データベース
  31. 31. ケース3:データベースを利用したい Amazon DynamoDB No SQL データベース 高い信頼性、スケーラビリティ、低レイテンシで安定 した性能を兼ね備えた NoSQL データベースサービス Joe Anna Bob High Scores Joe 1500 Anna 800 Bob 750 DynamoDB Connector : Object Mapper • アプリ側のクラスが Amazon DynamoDB テーブ ルにマッピング • オブジェクトをテーブルに変換することも、その 逆も必要ない
  32. 32. ケース3:データベースを利用したい isbn (HashKey) title hardCover 22-22222 我輩は猫である Yes 43-43234 こころ No 55-12345 三四郎 Yes DynamoDB のテーブルをアプリ側のクラス にマッピングして簡単に操作できる Table: Books Amazon DynamoDB <戻る Book 情報 ISBN:22-2222 作者:夏目漱石 ハードカバー 詳しく見る> 我輩は猫である Amazon DynamoDB
  33. 33. ケース4:画像や音楽をアップロード/ダウンロードしたい ストレージ
  34. 34. ケース4:画像や音楽をアップロード/ダウンロードしたい Amazon S3 リージョン 3か所以上で 自動複製 データセンターA データセンターB データセンターC Joe Anna Bob オンラインストレージ 安全で耐久性があり拡張性の高い容量無制限の マネージドオンラインストレージサービス S3 Connector: Transfer Manager • マルチパートアップロード対応 • フォールトトレラントなダウンロード • バックエンドサーバー不要 • 自動リトライ • モバイルアプリ/ネットワークに最適化するための ポーズ、レジューム、キャンセル関数
  35. 35. ケース4:画像や音楽をアップロード/ダウンロードしたい Amazon S3 アプリからファイルを直接 S3 へアップロード/ダウン ロードして、保管や配信に利用できる。 Amazon S3 <戻る Photo アップロード> 001.png 002.png 003.png … MyBucke t 001-thumb.png 002-thumb.png 003-thumb.png … ThumbnailBucket
  36. 36. ケース5:プッシュ通知を送信したい プッシュ通知
  37. 37. ケース5:プッシュ通知を送信したい Amazon SNS Mobile Push 複数のプラットフォームに対応 iOS, Android, Kindle Fire, Windows Phone など複数のプラットフォームの差異を吸収し つつ、プラットフォームをまたいで簡単にプッシュ通知を送信できる。 Amazon SNS Mobile Push Apple iOS Google Android Amazon Kindle Fire 送信者 Baidu Android MS Windows Phone
  38. 38. ケース5:プッシュ通知を送信したい Amazon SNS Mobile Push 個別送信・一括送信 Topic という機能を利用する ことで一括送信もできる。 Publish Publish Publish Publish デバイスごとに直接通知 トピックによる一斉通知 1トピックあたり 最大1,000万サブスクリプション 3,000トピックまで作成可 Topic 特有のフォーマットにも対応 プラットフォーム特有のメッセ ージフォーマットにも対応する。 トークンの入れ替えや無効化を自動実行 プラットフォームからのフィードバックをもとに、トークンの入れ替えや無効化を自動で 実行することで、最新の状態を維持できる。
  39. 39. ケース6:ユーザーの行動を分析したい アナリティクス
  40. 40. ケース6:ユーザーの行動を分析したい Amazon Mobile Analytics アプリ利用状況に関するデータを収集、可視化 • すぐに導入でき高速に集計できる • クロスデバイス/クロスプラットフォーム • 高いスケーラビリティ(100 万ユーザーの 1 億イベントを収集しても問題ない) 一般的に利用されるメトリクスは自動的に計測 • DAU、MAU、NU、Sticky Factor(DAU÷MAU)、ARPDAU、ARPPDAU • Session数と DAU当たりの平均セッション数 • 1, 3, 7日のRetention、1, 2, 3週の Retention カスタムイベント • アプリを特徴づけるような特定のユーザー行動も解析できる グラフィカルなレポートとCSV形式のデータダウンロード
  41. 41. ケース6:ユーザーの行動を分析したい Key Business Metrics 1. Monthly Active Users (MAU) 2. Daily Active Users (DAU) 3. New Users, 4. Daily Sessions, 5. Sticky Factor, 6. 1-Day Retention, 7. Avg. Revenue per DAU, 8. Daily Paying Users, 9. Avg. Paying DAU Amazon Mobile Analytics – 重要なビジネス指標
  42. 42. ケース6:ユーザーの行動を分析したい Amazon Mobile Analytics – ユーザー維持率の計測 Retention ユーザー維持率は、マーケ ティングキャンペーン、新 しい機能の追加、UXの変更、 アプリアップデートなどに よる集客状況を判断するた めの重要な指標 新規ユーザーが日次/週次 でどれだけ再訪問したかを 計測するための4つの チャートを提供
  43. 43. ケース7:アプリをテストしたい テスト
  44. 44. ケース7:アプリをテストしたい AWS Device Farm 複数の実デバイス 製造メーカー/型&モデル/OS バージョン/キャリアを組 み合わせて実デバイス上でテストを自動化し並列処理できる。 複数のテストフレームワークに対応 Appium, Calabash, Espresso, Robotium といった主要なテ ストフレームワークでテストスクリプトを実行できる。 ビルトイン Fuzz テスト テストスクリプトを作成しなくても、ランダムなユーザー入 力(タッチ、スワイプ、キーボード入力)を与えて UI テス トを実施できる。
  45. 45. ケース7:アプリをテストしたい AWS Device Farm レポート 成功/失敗の情報 クラッシュレポート テストログ デバイスログ スクリーンショット パフォーマンス情報 Jenkins 連携 Jenkins プラグインを利用すれば 開発ワークフローと統合できる
  46. 46. ケース8:独自の API を作成したい REST API https://example.com/books/123 独自 API
  47. 47. ケース8:独自の API を作成したい Amazon API Gateway API に必要な機能を提供 バージョン管理、API キーの作成と配布、認証とアクセス権の管理 リクエストのスロットリング、モニタリング、レスポンスのキャシング インフラのセットアップおよび管理(AWS Lambda を利用できる) AWS Lambda アプリケーションコードを実行できるコンピュートサービス 実行環境は AWS が管理しているので、インフラなどを気にするこ とがない。AWS サービスと連携することで簡単にイベントドリブン なアプリケーションを実装できる。 API
  48. 48. ケース8:独自の API を作成したい
  49. 49. ケース8:独自の API を作成したい API の作成 ダッシュボード
  50. 50. 最も簡単に始めるなら AWS Mobile Hub
  51. 51. AWS Mobile Hub AWS を利用しているモバイルアプリケーションを構築するための最も簡単な方法。ユー ザー認証、データストレージ、バックエンドのロジック、プッシュ通知、 コンテンツ配信、 および分析などの機能をアプリケーションに簡単に追加したり構成できる。 各機能が揃っている 選択して設定するだけ
  52. 52. AWS Mobile Hub ガイドにそってボタンをクリックするだけで任意の機能をセットアップできて、サンプルの ソースコードをダウンロードすることができる。 プッシュ通知の設定 ソースパッケージをダウンロード
  53. 53. アジェンダ モバイルアプリ開発について AWS を活用するメリット ケースごとの課題と解決方法 まとめ
  54. 54. AWS を活用して本来の業務に集中!! 開発者が直面する課題  複数のプラットフォーム  スケーラビリティの確保  高コストな管理や運用  ユーザ体験の阻害  ユーザIDの管理 モバイルアプリのコード ユーザID管理、認証 ユーザデータの同期処理 非同期通信 アクティブデバイスの分析 ユーザ行動の分析 コンバージョンの分析 プッシュ通知 イベントトリガー プラットフォームごとのはっきりしない仕様 データチェックと変換 ファイルやメディアのストレージ 共有データベースのストレージ データコレクション その他さまざま…. AWS Cloud インフラストラクチャ AWS を活用して 効率よくアプリ開発
  55. 55. ゴール あなたのモバイルアプリの特徴は? あなたがもっとも予算と時間をかけている部分は?
  56. 56. Q&A
  57. 57. 詳しくは、http://aws.amazon.com/training をご覧ください メリット • AWS について実習や実践練習を通じ て学習できる • AWS を熟知したエキスパートから直 接 AWS の機能について学び、疑問の 答えを得られる • 自信をもって IT ソリューションに関 する決定を下せるようになる 提供方法 e ラーニングや動画 セルフペースラボ クラスルーム トレーニング AWSトレーニングでは様々な学習方法をご提供しています
  58. 58. 公式Twitter/Facebook AWSの最新情報をお届けします @awscloud_jp 検索 最新技術情報、イベント情報、お役立ち情報、お得なキャンペーン情報などを 日々更新しています! もしくは http://on.fb.me/1vR8yWm
  59. 59. AWS 初心者向け Webinar • AWSをこれからご使用になる技術者向け、ソリュー ションカットのセミナー • 今後の配信予定 11月24日(火)【AWS 初心者向け Webinar】 AWS ではじめてみ よう、IoT システム構築 12月10日(木) 【AWS 初心者向け Webinar】Big Data 活用 ※12時~13時15分の時間帯です! • 申し込みサイト – http://aws.amazon.com/jp/about-aws/events/ アンケートにご協力ください。ご意見/ご要望
  60. 60. AWS Black Belt Tech Webinar 2015 AWSのサービスをディープにご紹介 • 今後の配信予定 デプロイ&プロビジョニング月間! – 11月18日(水)18:00〜 AWS CloudFormation – 11月25日(水)18:00〜 AWS Elastic Beanstalk – 12月2日(水)18:00〜 AWS IoT – 12月9日(水)18:00〜 AWS WAF • 申し込みサイト – http://aws.amazon.com/jp/about-aws/events/
  61. 61. AWSの導入、お問い合わせのご相談 AWSクラウド導入に関するご質問、お見積り、資料請求 をご希望のお客様は、以下のリンクよりお気軽にご相談 ください https://aws.amazon.com/jp/contact-us/aws-sales/ ※「AWS 問い合わせ」で検索してください
  62. 62. We are hiring!! http://aws.amazon.com/jp/careers/

×