develop a messaging app on aws in one day
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
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
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
AWS ServicesCompute
Storage & Content Delivery
Database
Networking
Developer Tools
Management Tools
Security & Identity
Analytics
Internet of Things
Mobile Services
Application Services
Enterprise Applications