develop a messaging app on aws in one day

21
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. John Burry, Senior Manager, Solutions Architecture June 21, 2016 Develop a Messaging App on AWS in One Day

Upload: amazon-web-services

Post on 07-Apr-2017

704 views

Category:

Technology


0 download

TRANSCRIPT

© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

John Burry, Senior Manager, Solutions Architecture

June 21, 2016

Develop a Messaging App

on AWS in One Day

• AWS Mobile Backend Capabilities

• Walkthrough of Features

• Project Setup

• Social Networks Sign-in

• Amazon Mobile Analytics

• Amazon DynamoDB NoSQL Database

• Sample App Walkthrough

• Wiring Up Sample App

Agenda

Prerequisites

• Prior knowledge of SWIFT

• AWS account

• Xcode 7.1 or newer version

The Best Mobile Apps are Built on AWS

User

Identity

Push

Notifications

Content

Data, Media, Files

Analytics

Application

Logic

On-Device

Testing

Mobile Backend

“AWS has what we need, but…it’s complex”

1. Which services should I use? 2. How do I connect them?

Identity provider SDKs+

=

Example:

Login screen & integration code

+

SDK

The

AWS Mobile

Hub

Create a Project and Add Features

AMAZON

COGNITO

AWS DEVICE

FARM

AMAZON

SNS

AWSMOBILEHUB

AMAZON

MOBILE

ANALYTICS

AMAZON

S3

AMAZON

CLOUDFRONT

AWS LAMBDA

Auto-Provisions Mobile Services

AMAZON

IDENTITY & ACCESS

MANAGEMENT

AMAZON

DYNAMODB

* NEW *

IAM Service RoleRole

MobileHub_Service_RoleManaged Policy

AWSMobileHub_ServiceUseOnly

REQUIRES: Administrative Privileges

Other IAM Roles

Mobile App Users

projectname_unauth_MOBILEHUB_12345

projectname_auth_MOBILEHUB_12345

AWS Lambda Execution

projectname_lambdaexecutionrole_MOBILEHUB_12345

Mobile Push from SNS Console

projectname_consolepush_MOBILEHUB_12345

AWS Mobile Hub

Working Mobile App project includes:

Xcode or Android Studio Project

Uses your AWS Resources

Example Application Code

Helper “Glue” Code

Software Development Kits

Detailed Developer Instructions

NoSQL Database(powered by Amazon DynamoDB)

Identity ProvidersCognito

IAM

DynamoDB

Permissions are enforced by comparing table or index Partition Key

against Amazon Cognito ID. Partition Key must be userId (String).

NoSQL Database – App User Permissions

- Public- Any user can read or write to any item

- Protected- Item owner can write

- Any user can read

- Private- Item owner can read or write

- No other user can read or write

- Read-Only- Any user can read

- No user can write (external system writes)

NoSQL Database

- All indexes are Global Secondary Indexes (GSIs).

- All indexes project all table attributes.

Example Query Schema Help

Additional Info

Unity

AWS Mobile SDKs

Swift Xamarin JavaScript

Objective-C Android Java

AWS ServicesCompute

Storage & Content Delivery

Database

Networking

Developer Tools

Management Tools

Security & Identity

Analytics

Internet of Things

Mobile Services

Application Services

Enterprise Applications

Sample App Walkthrough

Wiring Up The Sample App

Together

Thank You!

John Burry, Senior Manager, Solutions Architecture