Many customers build the back-end infrastructure that powers their mobile apps with AWS services such as Amazon EC2, Amazon S3, Amazon DynamoDB, Amazon SNS Mobile Push, and Amazon RDS. AWS provides a range of services that are designed specifically to help mobile app developers quickly and easily build apps that can scale from tens to hundreds of millions of users, and reach global scale with minimum effort. With AWS, developers need only pay for what they use, with no up-front fees, or long-term commitments.
The slides from this AWS webinar will help you learn about AWS services specifically designed to help mobile app developers with identity management & sync (Amazon Cognito), analytics (Amazon Mobile Analytics), and push notifications (Amazon SNS Mobile Push). We also explain how you can easily include these services in your apps using the AWS Mobile SDK.
Watch a YouTube recording of this webinar here: http://youtu.be/LA9kjxDLk9k
Human Factors of XR: Using Human Factors to Design XR Systems
Journey Through the Cloud - Mobile & Social Apps
1. Journey through the Cloud:
Mobile & Social Apps
Ian Massingham – Technical Evangelist
@IanMmmm
2. Journey through the cloud
Common use cases & stepping stones into the AWS cloud
Learning from customer journeys
Best practices to bootstrap your projects
3. Mobile & Social Apps
AWS helps mobile app developers quickly & easily build apps
Scale from tens to hundreds of millions of users
Reach global scale with minimum effort
Only pay for what you use, with no up-front fees
4. Agenda
Why AWS for Mobile & Social Apps?
Identity Management & Sync
Analytics
Push Notifications
Other AWS Services & the AWS Mobile SDK
8. Authenticate users
Manage users and
identity providers
Authorize access
Store and share media
Securely access
cloud resources
Synchronize data
Deliver media
Send push notifications
Store shared data
Sync user prefs
across devices
Track active users,
engagement
Track Retention Stream real-time data
Manage funnels,
Campaign performances
Store user-generated photos
Media and share them
Automatically detect mobile devices
Deliver content quickly globally
Bring users back to your app by sending
messages reliably
Store and query fast NoSQL data
across users and devices
Collect real-time clickstream logs
and take actions quickly
Your
Mobile
App
Analyze User Behavior
9. Authenticate users
Amazon Cognito
(Identity Broker)
Authorize access
Store and share media
AWS Identity and
Access Management
Synchronize data
AWS Mobile SDK
Amazon Mobile
Analytics
Deliver media
Amazon Cognito
(Sync)
Amazon S3
Transfer Manager
Amazon CloudFront
(Device Detection)
Store shared data
Amazon DynamoDB
(Object Mapper)
Stream real-time data
Amazon Kinesis
(Recorder)
Track Retention
Amazon Mobile
Analytics
Send push notifications
Amazon SNS
Mobile Push
Your
Mobile
App
Analyze User Behavior
10. AWS Mobile Services
Amazon Cognito Amazon Mobile Analytics Amazon SNS Mobile Push
Kinesis Connector DynamoDB Connector S3 Connector SQS Connector SES Connector
AWS Global Infrastructure (10 Regions, Availability Zones, 51 Edge Locations)
Mobile Optimized
Services
Mobile Optimized
Connectors
Core Building Block
Services
Your Mobile App, Game or Device App
AWS Mobile SDK, API Endpoints, Management Console
Compute Storage Networking Analytics Databases
Integrated SDK
12. Amazon Cognito
“Your App data is secure, available offline, and kept in sync between devices”
Simplifies Identity and
Access Management
Securely access all
AWS services from
Mobile device
Cross-device and
Cross-platform Sync
Implement security best
practices
Synchronize user’s data
across devices and
platforms
Guest
Your own
Auth
Manage users as
unique identities across
identity providers
13. Unique
Joe Anna Bob Identities
Identity
Providers
Any Device
Any Platform
Any AWS
Service
Amazon Cognito Identity
Support Multiple Login Providers
Easily integrate with major login providers for
authentication.
Unique Users vs. Devices
Manage unique identities. Automatically
recognize unique user across devices and
platforms.
Helps implement security best
practices
Securely access any AWS Service from mobile
device. It simplifies the interaction with AWS
Identity and Access Management
Mobile
Analytics
S3
DynamoDB
Kinesis
Your own
Auth
14. Amazon Cognito for Unauthenticated Identities
Guest User Access
Securely access AWS resources and leverage
app features without the need to create an
account or logging in
Save Data to the Cloud
Save app and device data to the cloud and
merge them after login
Unique Identifier for Your “Things”
“Headless” connected devices can also
securely access cloud services.
Visitor
Preferences
Guest
Cognito
Store
EC2
S3
DynamoDB
Kinesis
15. Amazon Cognito Security Architecture
Cognito ID
(Temp
Credentials)
DynamoDB
End Users
Developer
Access
to AWS
Services
Cognito Identity
Broker
Login OAUTH/OpenID
Access Token
Cognito ID,
Temp
Credentials
S3
Mobile Analytics
Cognito Sync
Store
AWS
Management
Console
Access Token
Pool ID
Role ARNs
App with
AWS Mobile
SDK
Your own
Auth
17. What have customers told us about
“Synchronized Profile”
People have multiple devices and want to transition between devices.
Implementing a user profile that syncs across devices, OS, apps is hard.
It not only has to work when offline, but easy to integrate with existing apps.
18. Amazon Cognito Sync
User Data
Storage and
Sync
Any Platform
Identity pool
iOS/Android/FireOS
Store App Data, Preferences and State
Save app and device data to the cloud and merge
them after login
Cross-device Cross-OS Sync
Sync user data and preferences across devices
with one line of code
Work Offline
Data always stored in local SQLite DB first.
Works seamlessly when intermittent or no
connectivity
k/v data
19. Amazon Cognito Sync
Offline: The client SDK manages a local SQLite data
store to allow the app to work even when connectivity is
not available.
Fast: The methods to read and write data only interact
with the local SQLite database.
Intelligent Sync: The sync method compares the local
version of the data to the cloud sync store, pushes up
deltas and pulls down new changes.
Flexible Conflict resolution: The sync method first
reads the changes then writes its local changes to the
cloud sync store By default Cognito assumes that the
last write wins. Developers can override and
implement their own conflict resolution programmatically
Local SQLite Cache
26. What Customers Told Us About “Mobile Analytics”
Developers deeply value user analytics and consider it an integral part
of their app development process. They want to monitor their most
important metrics in a timely manner, and take action quickly. They
would like to own their mobile data, just like they do with any other
AWS service.
27. Amazon Mobile Analytics
“Easily collect, visualize and understand your app usage data at scale”
Scalable and Generous
Free Tier
Fast
Focus on metrics that
matter. Usage reports
available within 60
minutes of receiving data
from an app
Scale to billions of
events per day from
millions of users.
Own Your Data
Data collected are not
shared, aggregated, or
reused
28. Getting Started with Mobile Analytics in 3 steps
Sign up for AWS Account and create or use existing Cognito ID in
the AWS Management Console
Download and integrate the Mobile SDK with a few lines
of code (Android/FireOS, iOS)
View engagement and session activity reports in the
AWS Management console within minutes
32. What Customers Told Us About “Push Notifications”
Sending large-scale push notifications, cross-platform is still hard.
Developers want to be able to reach their customers globally and
across all devices.
33. Some Use Cases
Broadcast Direct Closed Loop
Identical messages to
many at once
Unique messages to
individual customers
Targeted and optimized
with analytics
34. Each platform works differently, and push gets even more
complex as you scale to support millions of devices.
Cloud App
Platform Services Mobile Apps
35. Amazon SNS
Cross-platform
Mobile Push
Internet
Apple APNS
Google GCM
Baidu CP
Amazon ADM
Windows WNS and
MPNS
Industry’s First!
New!
iOS
Apple iPhones and iPads
Android Phones and Tablets in China
With Amazon SNS, developers can send push notifications on multiple platforms
and reach mobile users around the world
New features:
Message Expiry Time
Message Attributes
Amazon SNS Mobile Push
Android Phones and Tablets
Kindle Fire Devices
Windows Desktop and Windows Phone
Devices
37. AWS Mobile Services
Amazon Cognito Amazon Mobile Analytics Amazon SNS Mobile Push
Kinesis Connector DynamoDB Connector S3 Connector SQS Connector SES Connector
AWS Global Infrastructure (10 Regions, Availability Zones, 51 Edge Locations)
Mobile Optimized
Services
Mobile Optimized
Connectors
Core Building Block
Services
Your Mobile App, Game or Device App
AWS Mobile SDK, API Endpoints, Management Console
Compute Storage Networking Analytics Databases
Integrated SDK
38. Fully Integrated AWS Mobile SDK
• Common authentication mechanism across
all services
• Automatically handle intermittent network
connections
• Cross-platform Support: Android (with Maven
support), iOS, Fire OS, Xamarin
• Native SDKs optimized for Mobile OS, for
example, uses the local offline caching
architecture
• Reduced memory footprint; Pick and choose
the service jars you need
39. Amazon S3 Connector: Transfer Manager
S3 Connector
Multipart upload media (photos, videos, audio)
Fault tolerant download (e.g. assets)
No backend required
Automatic retries
Pause, resume, cancel functions
Optimized for native OS
40. Amazon DynamoDB Connector: Object Mapper
High Scores
Joe 1500
Anna 800
Bob 750
Joe Anna Bob
Simplifies access to Amazon
DynamoDB in you app
Map client-side classes to Amazon
DynamoDB tables
Removes the need to transform
objects into tables and vice versa
41. Amazon Kinesis Connector for Mobile Apps
Amazon
Kinesis
S3 Redshift Kinesis
enabled
Apps on
EC2
AWS
Mobile
SDK
For sophisticated
User Behavior
Analysis
Integrated AWS Mobile SDK
Generic batching system that
handles intermittent network
connection and also optimize
battery utilization
For Crash Dump
Analysis
43. Resources
AWS Mobile Services
• aws.amazon.com/mobile
AWS Mobile SDK
• aws.amazon.com/mobile/sdk/
AWS Mobile Blog
• mobile.awsblog.com
44. Mobile Sessions from AWS re:Invent 2014
MBL301 - Beyond the App - Extend Your User Experience with Mobile Push Notifications - Featuring Mailbox
MBL302 - Mastering Synchronization Across Mobile Devices, Login Providers, and the Web
MBL303 - Get Deeper Insights Using Amazon Mobile Analytics
MBL304 - Building Scalable Mobile Services with Global Footprints
MBL305 - The World Cup Second Screen Experience
45. Get Started for Free!
Amazon Cognito Amazon Mobile
Analytics
Amazon SNS
Mobile Push
Free Tier:
1 Million push messages
every month
Free Tier
(for first 12 months):
1 Million syncs/month +
10GB of storage for
Amazon Cognito
Free Tier:
100 Million events every
month
http://aws.amazon.com/mobile
46. AWS Training & Certification
Certification
Demonstrate your skills,
knowledge, and expertise
with the AWS platform
aws.amazon.com/certification
Self-Paced Labs
Try products, gain new
skills, and get hands-on
practice working with
AWS technologies
aws.amazon.com/training/
self-paced-labs
Training
Skill up and gain
confidence to design,
develop, deploy and
manage your applications
on AWS
aws.amazon.com/training