journey through the cloud - mobile & social apps
DESCRIPTION
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/LA9kjxDLk9kTRANSCRIPT
Journey through the Cloud:
Mobile & Social Apps
Ian Massingham – Technical Evangelist @IanMmmm
Common use cases & stepping stones into the AWS cloud Learning from customer journeys
Best practices to bootstrap your projects
Journey through the cloud
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
Mobile & Social Apps
Why AWS for Mobile & Social Apps? Identity Management & Sync Analytics Push Notifications Other AWS Services & the AWS Mobile SDK
Agenda
Why AWS for Mobile & Social Apps?
Customers Using AWS for Social & Mobile Applications
How to build a mobile app today?
Authenticate users
Authorize access
Store and share media
Synchronize data
Deliver media
Store shared data
Stream real-time data Track Retention
Send push notifications
Manage users and identity providers
Securely access cloud resources
Sync user prefs across devices
Track active users, engagement
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
Authenticate users
Authorize access
Store and share media
Synchronize data
AWS Mobile SDK
Amazon Mobile Analytics
Deliver media
Amazon Cognito (Sync)
AWS Identity and Access Management
Amazon Cognito (Identity Broker)
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
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)
Core Building Block Services
Mobile Optimized Connectors
Mobile Optimized Services
Your Mobile App, Game or Device App AWS Mobile SDK, API Endpoints, Management Console
Compute Storage Networking Analytics Databases
Integrated SDK
Identity Management & Sync
Amazon Cognito
Simplifies Identity and Access Management
Securely access all AWS services from
Mobile device
Cross-device and Cross-platform Sync
Implement security best practices
“Your App data is secure, available offline, and kept in sync between devices”
Synchronize user’s data across devices and
platforms
Manage users as unique identities across
identity providers
Guest
Your own Auth
Identity Providers
Unique Identities Joe Anna Bob
Any Device Any Platform
Any AWS Service
Helps implement security best practices Securely access any AWS Service from mobile device. It simplifies the interaction with AWS Identity and Access Management
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.
Amazon Cognito Identity
Mobile Analytics
S3 DynamoDB Kinesis
Your own Auth
Amazon Cognito for Unauthenticated Identities
Unique Identifier for Your “Things” “Headless” connected devices can also securely access cloud services.
Save Data to the Cloud Save app and device data to the cloud and merge them after login
Guest User Access Securely access AWS resources and leverage app features without the need to create an account or logging in
Visitor Preferences
Cognito Store
Guest
EC2 S3 DynamoDB Kinesis
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
Synchronize data across devices : Amazon Cognito (Sync)
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.
Amazon Cognito Sync
User Data Storage and Sync
Any Platform
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
Identity pool
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
Analytics
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.
Amazon Mobile Analytics
Scalable and Generous Free Tier
Focus on metrics that matter. Usage reports
available within 60 minutes of receiving data
from an app
Fast
Scale to billions of events per day from
millions of users.
Own Your Data
“Easily collect, visualize and understand your app usage data at scale”
Data collected are not shared, aggregated, or
reused
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
View engagement and session activity reports in the AWS Management console within minutes
Download and integrate the Mobile SDK with a few lines of code (Android/FireOS, iOS)
Push Notifications
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.
Some Use Cases
Broadcast Direct Closed Loop
Identical messages to many at once
Unique messages to individual customers
Targeted and optimized with analytics
Each platform works differently, and push gets even more complex as you scale to support millions of devices.
Cloud App
Platform Services Mobile Apps
Amazon SNS Cross-platform
Mobile Push
Internet
Apple APNS
Google GCM
Amazon ADM
Windows WNS and MPNS
Baidu CP
Industry’s First!
New!
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
Apple iPhones and iPads
Kindle Fire Devices
Android Phones and Tablets in China
iOS
Windows Desktop and Windows Phone Devices
Other AWS Services & the AWS Mobile SDK
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)
Core Building Block Services
Mobile Optimized Connectors
Mobile Optimized Services
Your Mobile App, Game or Device App AWS Mobile SDK, API Endpoints, Management Console
Compute Storage Networking Analytics Databases
Integrated SDK
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
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
Joe Anna Bob
High Scores
Joe 1500
Anna 800
Bob 750
Amazon DynamoDB Connector: Object Mapper
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
Amazon Kinesis
Redshift S3 Kinesis enabled Apps on
EC2
AWS Mobile SDK
Amazon Kinesis Connector for Mobile Apps
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
Where to go to learn more
AWS Mobile Services
• aws.amazon.com/mobile
AWS Mobile SDK
• aws.amazon.com/mobile/sdk/
AWS Mobile Blog
• mobile.awsblog.com
Resources
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
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
Get Started for Free!
http://aws.amazon.com/mobile
AWS Training & Certification Certification
aws.amazon.com/certification
Demonstrate your skills, knowledge, and expertise
with the AWS platform
Self-Paced Labs
aws.amazon.com/training/ self-paced-labs
Try products, gain new skills, and get hands-on
practice working with AWS technologies
aws.amazon.com/training
Training
Skill up and gain confidence to design, develop, deploy and
manage your applications on AWS
Ian Massingham – Technical Evangelist @IanMmmm
@AWS_UKI for local AWS events & news
@AWScloud for Global AWS News and Announcements ©Amazon.com, Inc. and its affiliates. All rights reserved.
We typically see customers start by trying our services
Get started now at : aws.amazon.com/getting-started
You can get started for free…
Get started now at : aws.amazon.com/free
Design your application for the AWS Cloud
More details on the AWS Architecture Center at : aws.amazon.com/architecture