SlideShare a Scribd company logo
1 of 80
Download to read offline
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
Build Your Mobile App Faster with AWS Mobile
Services
Jinesh Varia, @jinman
Technology Evangelist, AWS Mobile and IoT
How to build a mobile app today?
Authenticate users
Authorize access
Analyze User Behavior
Store and share media
Synchronize data
Deliver media
Store shared data
Stream real-time dataRun Business Logic
Send push notifications
Manage users and
identity providers
Securely access
cloud resources
Sync user prefs , states
across devices
Track active users,
Engagement, retention
Run stateless custom
Code without managing servers
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
What Our Mobile Customers Have Told Us
Problems developers face today
Fragmentation across platforms
Sync scalability is extremely hard
Expensive to manage and operate
Distracts them from building core UX
Managing unique user identities is difficult
“Table stakes” for every app
Undifferentiated Heavy Lifting
Developer’s Mobile App Code
User Identity Mgmt. and Auth
User Data Synchronization
Asynchronous Communication
Active Devices Analytics
User Behavior Analytics
Engagement Analytics
Push Notifications
Event Triggers
Platform agnostic Mobile Backend
Data Validation and Transformation
File and Media Storage
Shared Database Storage
Data Collection
And More….
AWS Cloud Infrastructure
What Our Mobile Customers Have Told Us
Developer’s Mobile App Code
User Identity Mgmt. and Auth
User Data Synchronization
Asynchronous Communication
Active Devices Analytics
User Behavior Analytics
Engagement Analytics
Push Notifications
Event Triggers
Platform agnostic Mobile Backend
Data Validation and Transformation
File and Media Storage
Shared Database Storage
Data Collection
And More….
AWS Cloud Infrastructure
Amazon Cognito
Amazon Mobile Analytics
Amazon SNS Mobile Push
AWS Lambda New!
Mobile-optimized Connectors
(Amazon Kinesis, Amazon S3,
Amazon DynamoDB, Amazon SQS)
Amazon Cognito Amazon Mobile Analytics Amazon SNS Mobile Push
Amazon Kinesis
Recorder
DynamoDB
Mapper
S3 Transfer
Manager
SQS Client Amazon SES
Client
AWS Global Infrastructure (Regions, Availability Zones, Edge Locations)
Core Building Block
Services
Mobile Optimized
Connectors
Mobile Optimized
Services
Your Mobile App, Game or Device App
AWS Mobile SDK, API Endpoints, AWS Management Console
Compute Storage Networking Analytics Databases
Integrated SDK
AWS Mobile Services
AWS Lambda
Lambda
Functions
λ λ
λ
λ
Cross-platform, Optimized for Mobile
User identity &
data synchronization
service
Store any NoSQL
data and also map
mobile OS specific
objects to
DynamoDB tables
Fast cross-platform
Analytics & reporting
Service
Powerful Cross-platform
Push notification service
Recorder that can
handle intermittent
network connection
Easily upload,
download to S3 and
also pause,
resume, and cancel
these operations
Send email
reliably from
device
Access
distributed
buffering and
queuing service
Amazon Cognito Amazon Mobile Analytics Amazon SNS Mobile Push
Amazon Kinesis
Recorder
DynamoDB Mapper S3 Transfer
Manager
SQS Client SES ClientAWS Lambda
Lambda
Functions
λ λ
λ
λ
Not limited to Mobile.
Run stateless Lambda
Functions without any
backend servers to
manage or scale
Authenticate users
Authorize access
Analyze User Behavior
Store and share media
Synchronize data
Deliver media
Store shared data
Stream real-time dataRun Business Logic
Send push notifications
Manage users and
identity providers
Securely access
cloud resources
Sync user prefs
across devices
Track active users,
Engagement, retention
Run stateless custom
Code without managing servers
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
Authenticate users
Authorize access
Analyze User Behavior
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)
Run Business Logic
AWS Lambda
Send push notifications
Amazon SNS
Mobile Push
Your
Mobile
App
Photo Sharing App Example Use case: The Next Instagram
AWS RegionAUTHENTICATED(ASSUMEDROLE)
Photo Sharing
AWS MOBILE REFERENCE ARCHITECTURES
Download
Photos &
App Files
Session and Device Data, User Behavior
Social Content
(Tagging, Likes,
Comments, etc.)
Auto Export
Metadata
Image Manipulation
40
Function
Invoked
Multi-part Upload
User Login
Auto with Web Identity Token
User
Friends
AWS Mobile SDK
Session & Photo Metadata
RoleAssociated
WithIdentityPool
AWS
Lambda
Amazon
CloudFront
Amazon
Mobile Analytics
Amazon
DynamoDB
Amazon
Cognito
Amazon
IAM Amazon
S3
Geo Look up
Amazon
SNS Mobile
Push
Amazon
Redshift
Targeted
Authenticate users
Authorize access
Analyze User Behavior
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)
Send push notifications
Amazon SNS
Mobile Push
Your
Mobile
App
Run Business Logic
AWS Lambda
Serverless Backend Optimized for Mobile
AWS Lambda
Auto Scaling
(Never under or over
provision)
Focus on business logic,
not infrastructure. Upload
your code; AWS Lambda
handles everything else
Zero Administration
Lambda scales the
infrastructure as needed
to match the event rate
and pay as you go
Bring Your Own Code
“Run stateless functions in the cloud and scale without any servers to manage”
Starting with JavaScript but
later any language, create
threads and processes, run
batch scripts or other
executables
How can you put AWS Lambda to work?
Stream
processing
Data triggersServerless
backend
Mobile/IoT Indexing &
synchronization
Case Study: AWS Lambda on Social Media Aggregation
CommandPost is CMP.LY’s patented
Monitoring, Measurement & Insights (MMI)
tool for managed social communications.
Increase the amount of data
processed while reducing(!)
the resources (instances)
required to do it
Respond to events in real-time
Map local functions to cloud functions from within the SDK
Target, Filter, and Route Amazon SNS Notifications
Apply Custom Logic to User Preferences and Game State
Java Support (Coming soon), AWS CloudTrail integration, Enhanced
metrics and logging via Amazon CloudWatch
S3 event
notification
s
DynamoDB
Streams
Amazon
Kinesis
events
Amazon
Cognito
eventsSNS
events
Custom
events
AWS Lambda Now Ready for Production at Scale
Amazon
Cognito Sync
Dataset
Amazon
DynamoDB
Table
Map local
functions to
invoke
Lambda
Functions
synchronously
Maintain
intelligence
in the cloud
and not the
device
Chain
multiple
functions or
call them in
parallel

SNS
Push notificationPersonalize your
notification for
every user
Demo: Synchronously invoke Lambda function from a
mobile device
Adding a Lambda Backend to your Mobile App is
simple
Initialize the LambdaFactory and define the Interface for the functions
Call synchronize on the dataset
Create/Upload the Lambda Function to the AWS Management Console
lambda = new LambdaInvokerFactory(context, Regions.US_WEST_2, provider);
//interface
@LambdaFunction(functionName="cloudFunction”)
String localFunction(String nameInfo);
lambda.localFunction(“Hello From “); // this will output “Hello From Lambda”
exports.handler = function(event, context) {
context.done(null, event + 'Lambda'); // SUCCESS with message
};
Send Push Notifications: Amazon SNS Mobile Push
Amazon SNS
Cross-platform
Mobile Push
Internet
Apple APNS
Google GCM
Amazon ADM
Microsoft Windows
WNS and MPNS
Baidu CP
With Amazon SNS, developers can send push notifications on multiple platforms
and reach mobile users around the world
New features:
Delivery Metrics via
CloudWatch
Trigger Lambda
Functions from SNS
notifications
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
Mobile push lets our users live
life together in the moment, even
when they are miles apart.
Founded in San Francisco
in 2010
Social networking and
messaging designed for
close friends and family
Two apps, Three
platforms, 20 languages
5M+ DAU worldwide
creating billions of monthly
impressions
Reliable push at scale takes constant work
35 AWS EC2 m3.xlarge instances
Home-rolled code based on Tornado
6 ELB Load
Balancers
Constantly trying to
scale out, both at
process level and
server level
Fighting to maximize
throughput at packets
per second level
Never certain how
many pushes we were
sending or dropping
Now Path Uses SNS Mobile Push
Amazon SNS
Mobile Push
Now Path Uses SNS Mobile Push
Zero to 500m+ daily
push notifications
almost overnight
Highest available
reliability and speed
Easy migration
$1 per million
mobile push deliveries 10m
170m
500m
Day 1 Day 2 Day 3
Path Daily SNS Mobile
Push Deliveries
(millions)
…Rising
How are AWS Mobile Services different?
Serverless and
Scales automatically
Authenticate users: Amazon Cognito
Amazon Cognito
Simplifies Identity and
Access Management
Securely access all
AWS services from
mobile devices
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
IdentitiesJoe 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 (IAM)
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 Amazon
Kinesis
Developer Authenticated Identities
(Any OpenID Connect Token)
Amazon Cognito
ID (Temp
Credentials)
DynamoDB
End Users
Developer
App with
AWS Mobile
SDK
Access
to AWS
Services
Amazon Cognito
Identity Broker
Get OpenID Token
Username
password
Amazon Cognito
ID, Temp
Credentials
S3
Mobile Analytics
Amazon Cognito
Sync Store
AWS
Management
Console
OIDC Token
Pool ID
Role ARNs
User Authentication
System
(Running on AWS or not)
OIDC Token
OIDC Token
Getting Started with Amazon Cognito in 3 steps
Sign up for AWS Account and login to AWS Management Console
Download and integrate the Mobile SDK and store and
sync user data in a dataset
Create identitypool for authenticated and
unauthenticated users in the AWS console
Demo: Amazon Cognito Console
Amazon Cognito (Identity Broker)
Identitypool
Identity
Providers
Pool of identities that
share the same trust policy
Access
Policy
Access to
AWS
Services
identitypool
Unauthenticated
Identities
authenticated
identities
AWS IAM Roles
AWS
Account
Web Identity
Federation
S3
DynamoDB
Get Delete Put
Synchronize data across devices : Amazon Cognito (Sync)
Amazon Cognito Cloud
Save and 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
No Backend
Simple client SDK eliminates need for server
side code
Synchronize data across devices with
Amazon Cognito
Sync Game States
Across OS/devices
State Transition
(link multiple accounts)
Sync User Profiles
across OS/devices/web
Concrete Software builds cross platform mobile games
Concrete Software has been making hit mobile games
like Jellyflop and PBA Bowling Challenge since 2003.
With Amazon Cognito, We
can build games much faster
and provide great user
experience to our customers.
Keith A. Pichelman
CEO, Concrete Software
”
“ • Provide a seamless user experience across devices
and platforms to our users.
• Store save games in the cloud and synchronize them
across all of a user’s devices without creating or
hosting a backend.
The Challenge
The solution
• Amazon Cognito helps us securely access our AWS
resources.
• Amazon Cognito Sync gives us flexibility to save data
in the cloud, and cache it on a user’s devices, without
managing any backend infrastructure.
Amazon Cognito Sync data model
• Identity Pool: Pool of app users. Can be shared
across apps.
• Identity: An individual user. Consistent across
identity providers. Can be a guest user.
• Dataset: Per user grouping of data. The most
granular level of sync. Up to 1MB.
• Record: Key/Value pair.
AWS Account
Dataset
Identity
Identity
Identity
Dataset
Dataset
Identity
Pool
1:60
1:n
1:20
Dataset
Dataset
Record
1:1024
You
Your App
Your App Users
User Data
Container
User Data
Demo: Sync user’s game state across devices
Integrating Amazon Cognito Sync functionality is
dead simple
Initialize the CredentialsProvider and CognitoClient
Call synchronize on the dataset
Create or open Dataset and Add Key Values
provider = new CognitoCachingCredentialsProvider (context, AWS_ACCOUNT_ID,
COGNITO_POOL_ID, COGNITO_ROLE_UNAUTH, COGNITO_ROLE_AUTH, Regions.US_EAST_1);
cognito = new CognitoSyncManager (context, Regions.US_EAST_1, provider);
dataset.synchronize(new SyncCallback(){..});
cognito.openOrCreateDataset(datasetName);
dataset.put(key, value);
Integrating Amazon Cognito Sync functionality is
dead simple
Initialize the AWSCognitoSyncClient
Call synchronize on the dataset
Create or open Dataset and Add Key Values
DataSet *dataset = [syncClient openOrCreateDataSet:@"myDataSet"];
NSString *value = [dataset readStringForKey:@"myKey"];
[dataset putString:@"my value" forKey:@"myKey"];
AWSCognitoSyncClient *syncClient = [[AWSCognitoSyncClient alloc]
initWithConfiguration: configuration];
[dataset synchronize];
iOS
Analyze User Behavior: Amazon Mobile Analytics
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
“Simply and cost effectively collect and analyze your application usage data”
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 Amazon
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 one line of
code (Android/FireOS, iOS)
Integrating Mobile Analytics is super simple
Initialize the MobileAnalyticsManager. That’s it! Get Session
Activity in the AWS Management Console.
For Custom Events activity reports, add events.
Add OnResume() and OnPause()
private static MobileAnalyticsManager analytics;
analytics = MobileAnalyticsManager.getOrCreateInstance(
this.getApplicationContext(),"yourCompany.yourAppId",
Regions.YOUR_REGION, config, cognitoProvider );
EventClient eventClient = analytics.getEventClient();
MobileAnalyticsEvent visitEvent = eventClient.createEvent("speedSet");
eventClient.recordEvent(visitEvent);
analytics.getSessionClient().resumeSession();
analytics.getSessionClient().pauseSession();
Analytics.getEventClient().submitEvents();
Demo: How is my game performing across platforms
Just Last Month: Run custom queries
Export to S3 + Amazon Redshift
mobile
client
S3Amazon Mobile
Analytics
Export to S3, Process Data Anywhere
mobile
client
Amazon
S3
Amazon
Redshift
Amazon Mobile
Analytics
Hadoop/Spark
Amazon EMR
Amazon
Glacier
archive
batch
Export to Amazon Redshift (Managed)
mobile
client
Amazon
S3
Amazon
Redshift
Amazon Mobile
Analytics
External data
mobile
client
Amazon
S3
Amazon
Redshift
Amazon Mobile
Analytics
External data
74Live score VotingPush notifications
FORZA FOOTBALL
75
SINCE 2012
GROWTH PER COUNTRY
76
THE WORLD CUP IS THE MOST INTERESTING FOR THE AMERICANS
PENETRATION
77
USERS PER CAPITA
LEVERAGE ON MISSION
78
VOTE PER COUNTRY
DEVICES
79
IN FORZA FOOTBALL
Mobile Services Work Better Together
SNS
Amazon
Cognito
Amazon
Cognito
Amazon
Cognito
SNS
Lambda
Lambda Lambda
Lambda
Any
Analytics
S3 +
Amazon Redshift
Amazon
Kinesis
DynamoDB
Amazon
Cognito
Amazon
KinesisLambdaS3
How are AWS Mobile Services different?
Flexible and Work
Better Together
Serverless and
Scales automatically
Store and share media: Amazon S3
Amazon
KinesisAWS
Mobile
SDK
Mobile-optimized Connectors (AWS Mobile
SDK)
S3
Integrated AWS Mobile SDK
Optimized for native OS
Multipart upload media
Fault tolerant download
Automatic retries
Pause, resume, cancel functions
Generic batching system
handles intermittent network
connection
Optimize battery utilization
DynamoDB
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
Outplay Entertainment – Amazon S3 Connector via AWS Mobile SDK
Outplay Entertainment is mobile-focused game
developer on a mission to deliver fun, free and
innovative games for smartphones, tablets, and social
networks.
With Amazon S3 connector, we can
improve the users experience by
dynamically downloading game assets
in the background. No long up-front
delays for our users.
Douglas Hare
CEO, Outplay Entertainment
”
“ • Improved User Experience. Using the Mobile SDK,
they can download the game assets in background
while the user starts playing the game. No limits on
downloading extra assets.
• Dynamic updates. They can update the assets
dynamically and avoid AppStore release cycles.
• Unquestioned Scalability. Different assets for
multiple screen densities go up to 170 MB+. By
storing this data on S3 and directly downloading to
the mobile device, they can scale seamlessly.
• Excellent Performance. Highest resolution devices
end up downloading about 90MB of extra content.
Amazon S3 Connector: Transfer Manager in Android
// Creating the transfer manager
TransferManager transferManager = new
TransferManager(credentialProvider);
// Upload image
Upload upload = transferManager.upload(BUCKET_NAME, fileName, file);
// Download image
Download = transferManager.download(BUCKET_NAME, mKey, file);
// Pause, and Resume
try {
PersistableDownload persistableDownload = download.pause();
//do something if we didn’t abort
} catch(PauseException e) {
//do something if we aborted
}
download = transferManager.resumeDownload(persistableDownload);
Amazon S3 Connector: Transfer Manager in iOS
// Creating the transfer manager
self.transferManager = [S3TransferManager new];
self.transferManager.s3 = s3client;
// Upload image
[self.transferManager uploadFile:fileName bucket:bucketName
key:objectName];
// Download image
[self.transferManager downloadFile:fileName bucket:bucketName
key:objectName];
// Pause, Resume, Cancel
[self.transferManager pauseAllTransfers];
[self.transferManager resumeAllTransfers];
[self.transferManager cancelAllTransfers];
Demo : Download Game Assets
Fully Integrated AWS Mobile SDK
• Common authentication mechanism across
all services
• Automatically handle intermittent network
connections
• Cross-platform Support: Android, iOS, Fire
OS
• 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
• Continuously updated with latest platform
enhancements
iOS Android JavaScript
Unity Xamarin
Download the latest
versions of the SDKs
How are AWS Mobile Services different?
Flexible and Work
Better Together
Serverless and
Scales automatically
Fully Integrated and
easy to get started
Summary
Authenticate users
Authorize access
Analyze User Behavior
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)
Run Business Logic
AWS Lambda
Send push notifications
Amazon SNS
Mobile Push
Your
Mobile
App
Amazon Cognito Amazon Mobile Analytics Amazon SNS Mobile Push
Amazon Kinesis
Recorder
DynamoDB Mapper S3 Transfer Mgr SQS Client SES Client
AWS Global Infrastructure (Regions, Availability Zones, 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
AWS Mobile Services
AWS Lambda
Lambda
Functions
λ λ
λ
λ
Key Takeaways
Flexible and Work
Better Together
Serverless and
Scales automatically
Fully Integrated and
easy to get started
Amazon
Cognito
Mobile
Analytics
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
Lambda
Free Tier : 1M free
requests per month
400,000 GB-
seconds of compute
time per month
SAN FRANCISCO
Jinesh Varia
@jinman
jvaria@amazon.com
Appendix..
Simple and predictable pay as you go pricing
Amazon Cognito Amazon Mobile
Analytics
Amazon SNS
Mobile Push
Free Tier:
1 Million push messages
every month
Thereafter:
$0.50 for Million
notifications delivered
$0.50 for Million requests
Free Tier (for first 12
months):
1 Million syncs/month +
10GB of storage for
Amazon Cognito
Thereafter:
$0.15 for 10K Syncs
$0.15 per GB for storage
Free Tier:
100 Million events every
month
Thereafter:
$1.00 per Million events

More Related Content

What's hot

What's hot (20)

Build a mobile app serverless with AWS Lambda
Build a mobile app serverless with AWS LambdaBuild a mobile app serverless with AWS Lambda
Build a mobile app serverless with AWS Lambda
 
(MBL317) NEW! Introducing AWS Mobile Hub
(MBL317) NEW! Introducing AWS Mobile Hub(MBL317) NEW! Introducing AWS Mobile Hub
(MBL317) NEW! Introducing AWS Mobile Hub
 
Build Your Mobile App Faster with AWS Mobile Services
Build Your Mobile App Faster with AWS Mobile ServicesBuild Your Mobile App Faster with AWS Mobile Services
Build Your Mobile App Faster with AWS Mobile Services
 
Build Your Mobile App Faster with AWS Mobile Services
Build Your Mobile App Faster with AWS Mobile ServicesBuild Your Mobile App Faster with AWS Mobile Services
Build Your Mobile App Faster with AWS Mobile Services
 
Introduction to Amazon Pinpoint - DevDay Los Angeles 2017
Introduction to Amazon Pinpoint - DevDay Los Angeles 2017Introduction to Amazon Pinpoint - DevDay Los Angeles 2017
Introduction to Amazon Pinpoint - DevDay Los Angeles 2017
 
Building Mobile Apps, APIs, and Chatbots on AWS - DevDay Los Angeles 2017
Building Mobile Apps, APIs, and Chatbots on AWS - DevDay Los Angeles 2017Building Mobile Apps, APIs, and Chatbots on AWS - DevDay Los Angeles 2017
Building Mobile Apps, APIs, and Chatbots on AWS - DevDay Los Angeles 2017
 
Day 2 - Delivering Media Mobile Apps Using the AWS Mobile & Javascript SDKs
Day 2 - Delivering Media Mobile Apps Using the AWS Mobile & Javascript SDKsDay 2 - Delivering Media Mobile Apps Using the AWS Mobile & Javascript SDKs
Day 2 - Delivering Media Mobile Apps Using the AWS Mobile & Javascript SDKs
 
Delivering Mobile Apps Using AWS Mobile Services
Delivering Mobile Apps Using AWS Mobile ServicesDelivering Mobile Apps Using AWS Mobile Services
Delivering Mobile Apps Using AWS Mobile Services
 
AWS Mobile Services & SDK Introduction & Demo
AWS Mobile Services & SDK Introduction & DemoAWS Mobile Services & SDK Introduction & Demo
AWS Mobile Services & SDK Introduction & Demo
 
(MBL310) Workshop: Build iOS Apps Using AWS Mobile Services | AWS re:Invent 2014
(MBL310) Workshop: Build iOS Apps Using AWS Mobile Services | AWS re:Invent 2014(MBL310) Workshop: Build iOS Apps Using AWS Mobile Services | AWS re:Invent 2014
(MBL310) Workshop: Build iOS Apps Using AWS Mobile Services | AWS re:Invent 2014
 
Mobile applicationdevelopment
Mobile applicationdevelopmentMobile applicationdevelopment
Mobile applicationdevelopment
 
AWS Mobile Hub
AWS Mobile HubAWS Mobile Hub
AWS Mobile Hub
 
Add User Sign in and Management to your Apps with Amazon Cognito
Add User Sign in and Management to your Apps with Amazon CognitoAdd User Sign in and Management to your Apps with Amazon Cognito
Add User Sign in and Management to your Apps with Amazon Cognito
 
Engage your users with Amazon SNS Mobile Push (Now with Broadcast) - Jinesh V...
Engage your users with Amazon SNS Mobile Push (Now with Broadcast) - Jinesh V...Engage your users with Amazon SNS Mobile Push (Now with Broadcast) - Jinesh V...
Engage your users with Amazon SNS Mobile Push (Now with Broadcast) - Jinesh V...
 
Getting Started with AWS Mobile Hub
Getting Started with AWS Mobile HubGetting Started with AWS Mobile Hub
Getting Started with AWS Mobile Hub
 
Journey Through the Cloud - Social & Mobile Apps
Journey Through the Cloud - Social & Mobile Apps Journey Through the Cloud - Social & Mobile Apps
Journey Through the Cloud - Social & Mobile Apps
 
Cloud-powered Mobile Apps
Cloud-powered Mobile AppsCloud-powered Mobile Apps
Cloud-powered Mobile Apps
 
Getting Started with AWS Mobile Hub
Getting Started with AWS Mobile Hub Getting Started with AWS Mobile Hub
Getting Started with AWS Mobile Hub
 
善用分析與推播訊息增加及留住用戶
善用分析與推播訊息增加及留住用戶善用分析與推播訊息增加及留住用戶
善用分析與推播訊息增加及留住用戶
 
AWS Mobile Hub Overview
AWS Mobile Hub OverviewAWS Mobile Hub Overview
AWS Mobile Hub Overview
 

Similar to Build Your Mobile App Faster with AWS Mobile Services

Social & Mobile Apps journey through the cloud
Social & Mobile Apps   journey through the cloudSocial & Mobile Apps   journey through the cloud
Social & Mobile Apps journey through the cloud
Ian Massingham
 
02 cloud poweredmobileappsonaws_short
02 cloud poweredmobileappsonaws_short02 cloud poweredmobileappsonaws_short
02 cloud poweredmobileappsonaws_short
Codemotion
 

Similar to Build Your Mobile App Faster with AWS Mobile Services (20)

Social & Mobile Apps journey through the cloud
Social & Mobile Apps   journey through the cloudSocial & Mobile Apps   journey through the cloud
Social & Mobile Apps journey through the cloud
 
AWS April Webinar Series - Easily Build and Scale Mobile Apps with AWS Mobile...
AWS April Webinar Series - Easily Build and Scale Mobile Apps with AWS Mobile...AWS April Webinar Series - Easily Build and Scale Mobile Apps with AWS Mobile...
AWS April Webinar Series - Easily Build and Scale Mobile Apps with AWS Mobile...
 
Journey Through the Cloud - Mobile & Social Apps
Journey Through the Cloud - Mobile & Social AppsJourney Through the Cloud - Mobile & Social Apps
Journey Through the Cloud - Mobile & Social Apps
 
Build Your Mobile App Faster with AWS Mobile Services
Build Your Mobile App Faster with AWS Mobile ServicesBuild Your Mobile App Faster with AWS Mobile Services
Build Your Mobile App Faster with AWS Mobile Services
 
(SPOT205) State of the Union: AWS Mobile Services and New World of Connected ...
(SPOT205) State of the Union: AWS Mobile Services and New World of Connected ...(SPOT205) State of the Union: AWS Mobile Services and New World of Connected ...
(SPOT205) State of the Union: AWS Mobile Services and New World of Connected ...
 
4. Carlos Conde - Amazon Web Services
4. Carlos Conde - Amazon Web Services4. Carlos Conde - Amazon Web Services
4. Carlos Conde - Amazon Web Services
 
(GAM401) Build a Serverless Mobile Game w/ Cognito, Lambda & DynamoDB
(GAM401) Build a Serverless Mobile Game w/ Cognito, Lambda & DynamoDB(GAM401) Build a Serverless Mobile Game w/ Cognito, Lambda & DynamoDB
(GAM401) Build a Serverless Mobile Game w/ Cognito, Lambda & DynamoDB
 
Building Cloud-Powered Mobile Apps
Building Cloud-Powered Mobile AppsBuilding Cloud-Powered Mobile Apps
Building Cloud-Powered Mobile Apps
 
Build Your Mobile App Faster with AWS Mobile Services (Cognito, Lambda, SNS, ...
Build Your Mobile App Faster with AWS Mobile Services (Cognito, Lambda, SNS, ...Build Your Mobile App Faster with AWS Mobile Services (Cognito, Lambda, SNS, ...
Build Your Mobile App Faster with AWS Mobile Services (Cognito, Lambda, SNS, ...
 
Building Cloud-powered Mobile Apps
Building Cloud-powered Mobile AppsBuilding Cloud-powered Mobile Apps
Building Cloud-powered Mobile Apps
 
Building mobile apps on AWS
Building mobile apps on AWSBuilding mobile apps on AWS
Building mobile apps on AWS
 
Building mobile apps on aws
Building mobile apps on awsBuilding mobile apps on aws
Building mobile apps on aws
 
AWS Cloud Kata 2014 | Jakarta - 2-2 Mobile
AWS Cloud Kata 2014 | Jakarta - 2-2 MobileAWS Cloud Kata 2014 | Jakarta - 2-2 Mobile
AWS Cloud Kata 2014 | Jakarta - 2-2 Mobile
 
02 cloud poweredmobileappsonaws_short
02 cloud poweredmobileappsonaws_short02 cloud poweredmobileappsonaws_short
02 cloud poweredmobileappsonaws_short
 
Cloud-powered Cross-platform Mobile Apps on AWS
Cloud-powered Cross-platform Mobile Apps on AWSCloud-powered Cross-platform Mobile Apps on AWS
Cloud-powered Cross-platform Mobile Apps on AWS
 
Building Mobile Apps on AWS at Websummit Diublin
Building Mobile Apps on AWS at Websummit DiublinBuilding Mobile Apps on AWS at Websummit Diublin
Building Mobile Apps on AWS at Websummit Diublin
 
AWS Mobile Hub + AWS Device Farm
AWS Mobile Hub + AWS Device FarmAWS Mobile Hub + AWS Device Farm
AWS Mobile Hub + AWS Device Farm
 
Build high performing mobile apps, faster with AWS
Build high performing mobile apps, faster with AWSBuild high performing mobile apps, faster with AWS
Build high performing mobile apps, faster with AWS
 
AWS Summit Seoul 2015 - 모바일 및 IoT 환경을 위한 AWS 클라우드 플랫폼의 진화 (윤석찬, Markku Lepisto)
AWS Summit Seoul 2015 - 모바일 및 IoT 환경을 위한 AWS 클라우드 플랫폼의 진화 (윤석찬, Markku Lepisto)AWS Summit Seoul 2015 - 모바일 및 IoT 환경을 위한 AWS 클라우드 플랫폼의 진화 (윤석찬, Markku Lepisto)
AWS Summit Seoul 2015 - 모바일 및 IoT 환경을 위한 AWS 클라우드 플랫폼의 진화 (윤석찬, Markku Lepisto)
 
Scaling your Mobile App Development in the Cloud - DevNexus
Scaling your Mobile App Development in the Cloud - DevNexusScaling your Mobile App Development in the Cloud - DevNexus
Scaling your Mobile App Development in the Cloud - DevNexus
 

More from Amazon Web Services

Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

Build Your Mobile App Faster with AWS Mobile Services

  • 1. ©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved Build Your Mobile App Faster with AWS Mobile Services Jinesh Varia, @jinman Technology Evangelist, AWS Mobile and IoT
  • 2. How to build a mobile app today?
  • 3. Authenticate users Authorize access Analyze User Behavior Store and share media Synchronize data Deliver media Store shared data Stream real-time dataRun Business Logic Send push notifications Manage users and identity providers Securely access cloud resources Sync user prefs , states across devices Track active users, Engagement, retention Run stateless custom Code without managing servers 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
  • 4. What Our Mobile Customers Have Told Us Problems developers face today Fragmentation across platforms Sync scalability is extremely hard Expensive to manage and operate Distracts them from building core UX Managing unique user identities is difficult “Table stakes” for every app Undifferentiated Heavy Lifting Developer’s Mobile App Code User Identity Mgmt. and Auth User Data Synchronization Asynchronous Communication Active Devices Analytics User Behavior Analytics Engagement Analytics Push Notifications Event Triggers Platform agnostic Mobile Backend Data Validation and Transformation File and Media Storage Shared Database Storage Data Collection And More…. AWS Cloud Infrastructure
  • 5. What Our Mobile Customers Have Told Us Developer’s Mobile App Code User Identity Mgmt. and Auth User Data Synchronization Asynchronous Communication Active Devices Analytics User Behavior Analytics Engagement Analytics Push Notifications Event Triggers Platform agnostic Mobile Backend Data Validation and Transformation File and Media Storage Shared Database Storage Data Collection And More…. AWS Cloud Infrastructure Amazon Cognito Amazon Mobile Analytics Amazon SNS Mobile Push AWS Lambda New! Mobile-optimized Connectors (Amazon Kinesis, Amazon S3, Amazon DynamoDB, Amazon SQS)
  • 6. Amazon Cognito Amazon Mobile Analytics Amazon SNS Mobile Push Amazon Kinesis Recorder DynamoDB Mapper S3 Transfer Manager SQS Client Amazon SES Client AWS Global Infrastructure (Regions, Availability Zones, Edge Locations) Core Building Block Services Mobile Optimized Connectors Mobile Optimized Services Your Mobile App, Game or Device App AWS Mobile SDK, API Endpoints, AWS Management Console Compute Storage Networking Analytics Databases Integrated SDK AWS Mobile Services AWS Lambda Lambda Functions λ λ λ λ
  • 7. Cross-platform, Optimized for Mobile User identity & data synchronization service Store any NoSQL data and also map mobile OS specific objects to DynamoDB tables Fast cross-platform Analytics & reporting Service Powerful Cross-platform Push notification service Recorder that can handle intermittent network connection Easily upload, download to S3 and also pause, resume, and cancel these operations Send email reliably from device Access distributed buffering and queuing service Amazon Cognito Amazon Mobile Analytics Amazon SNS Mobile Push Amazon Kinesis Recorder DynamoDB Mapper S3 Transfer Manager SQS Client SES ClientAWS Lambda Lambda Functions λ λ λ λ Not limited to Mobile. Run stateless Lambda Functions without any backend servers to manage or scale
  • 8. Authenticate users Authorize access Analyze User Behavior Store and share media Synchronize data Deliver media Store shared data Stream real-time dataRun Business Logic Send push notifications Manage users and identity providers Securely access cloud resources Sync user prefs across devices Track active users, Engagement, retention Run stateless custom Code without managing servers 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
  • 9. Authenticate users Authorize access Analyze User Behavior 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) Run Business Logic AWS Lambda Send push notifications Amazon SNS Mobile Push Your Mobile App
  • 10. Photo Sharing App Example Use case: The Next Instagram
  • 11. AWS RegionAUTHENTICATED(ASSUMEDROLE) Photo Sharing AWS MOBILE REFERENCE ARCHITECTURES Download Photos & App Files Session and Device Data, User Behavior Social Content (Tagging, Likes, Comments, etc.) Auto Export Metadata Image Manipulation 40 Function Invoked Multi-part Upload User Login Auto with Web Identity Token User Friends AWS Mobile SDK Session & Photo Metadata RoleAssociated WithIdentityPool AWS Lambda Amazon CloudFront Amazon Mobile Analytics Amazon DynamoDB Amazon Cognito Amazon IAM Amazon S3 Geo Look up Amazon SNS Mobile Push Amazon Redshift Targeted
  • 12. Authenticate users Authorize access Analyze User Behavior 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) Send push notifications Amazon SNS Mobile Push Your Mobile App Run Business Logic AWS Lambda
  • 14. AWS Lambda Auto Scaling (Never under or over provision) Focus on business logic, not infrastructure. Upload your code; AWS Lambda handles everything else Zero Administration Lambda scales the infrastructure as needed to match the event rate and pay as you go Bring Your Own Code “Run stateless functions in the cloud and scale without any servers to manage” Starting with JavaScript but later any language, create threads and processes, run batch scripts or other executables
  • 15. How can you put AWS Lambda to work? Stream processing Data triggersServerless backend Mobile/IoT Indexing & synchronization
  • 16. Case Study: AWS Lambda on Social Media Aggregation CommandPost is CMP.LY’s patented Monitoring, Measurement & Insights (MMI) tool for managed social communications. Increase the amount of data processed while reducing(!) the resources (instances) required to do it
  • 17. Respond to events in real-time Map local functions to cloud functions from within the SDK Target, Filter, and Route Amazon SNS Notifications Apply Custom Logic to User Preferences and Game State Java Support (Coming soon), AWS CloudTrail integration, Enhanced metrics and logging via Amazon CloudWatch S3 event notification s DynamoDB Streams Amazon Kinesis events Amazon Cognito eventsSNS events Custom events AWS Lambda Now Ready for Production at Scale
  • 18. Amazon Cognito Sync Dataset Amazon DynamoDB Table Map local functions to invoke Lambda Functions synchronously Maintain intelligence in the cloud and not the device Chain multiple functions or call them in parallel  SNS Push notificationPersonalize your notification for every user
  • 19. Demo: Synchronously invoke Lambda function from a mobile device
  • 20. Adding a Lambda Backend to your Mobile App is simple Initialize the LambdaFactory and define the Interface for the functions Call synchronize on the dataset Create/Upload the Lambda Function to the AWS Management Console lambda = new LambdaInvokerFactory(context, Regions.US_WEST_2, provider); //interface @LambdaFunction(functionName="cloudFunction”) String localFunction(String nameInfo); lambda.localFunction(“Hello From “); // this will output “Hello From Lambda” exports.handler = function(event, context) { context.done(null, event + 'Lambda'); // SUCCESS with message };
  • 21. Send Push Notifications: Amazon SNS Mobile Push
  • 22. Amazon SNS Cross-platform Mobile Push Internet Apple APNS Google GCM Amazon ADM Microsoft Windows WNS and MPNS Baidu CP With Amazon SNS, developers can send push notifications on multiple platforms and reach mobile users around the world New features: Delivery Metrics via CloudWatch Trigger Lambda Functions from SNS notifications 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
  • 23. Mobile push lets our users live life together in the moment, even when they are miles apart. Founded in San Francisco in 2010 Social networking and messaging designed for close friends and family Two apps, Three platforms, 20 languages 5M+ DAU worldwide creating billions of monthly impressions
  • 24. Reliable push at scale takes constant work 35 AWS EC2 m3.xlarge instances Home-rolled code based on Tornado 6 ELB Load Balancers Constantly trying to scale out, both at process level and server level Fighting to maximize throughput at packets per second level Never certain how many pushes we were sending or dropping
  • 25. Now Path Uses SNS Mobile Push Amazon SNS Mobile Push
  • 26. Now Path Uses SNS Mobile Push Zero to 500m+ daily push notifications almost overnight Highest available reliability and speed Easy migration $1 per million mobile push deliveries 10m 170m 500m Day 1 Day 2 Day 3 Path Daily SNS Mobile Push Deliveries (millions) …Rising
  • 27. How are AWS Mobile Services different? Serverless and Scales automatically
  • 29. Amazon Cognito Simplifies Identity and Access Management Securely access all AWS services from mobile devices 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
  • 30. Identity Providers Unique IdentitiesJoe 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 (IAM) 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 Amazon Kinesis
  • 31. Developer Authenticated Identities (Any OpenID Connect Token) Amazon Cognito ID (Temp Credentials) DynamoDB End Users Developer App with AWS Mobile SDK Access to AWS Services Amazon Cognito Identity Broker Get OpenID Token Username password Amazon Cognito ID, Temp Credentials S3 Mobile Analytics Amazon Cognito Sync Store AWS Management Console OIDC Token Pool ID Role ARNs User Authentication System (Running on AWS or not) OIDC Token OIDC Token
  • 32. Getting Started with Amazon Cognito in 3 steps Sign up for AWS Account and login to AWS Management Console Download and integrate the Mobile SDK and store and sync user data in a dataset Create identitypool for authenticated and unauthenticated users in the AWS console
  • 34. Amazon Cognito (Identity Broker) Identitypool Identity Providers Pool of identities that share the same trust policy Access Policy Access to AWS Services identitypool Unauthenticated Identities authenticated identities AWS IAM Roles AWS Account Web Identity Federation S3 DynamoDB Get Delete Put
  • 35. Synchronize data across devices : Amazon Cognito (Sync)
  • 36. Amazon Cognito Cloud Save and 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 No Backend Simple client SDK eliminates need for server side code
  • 37. Synchronize data across devices with Amazon Cognito Sync Game States Across OS/devices State Transition (link multiple accounts) Sync User Profiles across OS/devices/web
  • 38. Concrete Software builds cross platform mobile games Concrete Software has been making hit mobile games like Jellyflop and PBA Bowling Challenge since 2003. With Amazon Cognito, We can build games much faster and provide great user experience to our customers. Keith A. Pichelman CEO, Concrete Software ” “ • Provide a seamless user experience across devices and platforms to our users. • Store save games in the cloud and synchronize them across all of a user’s devices without creating or hosting a backend. The Challenge The solution • Amazon Cognito helps us securely access our AWS resources. • Amazon Cognito Sync gives us flexibility to save data in the cloud, and cache it on a user’s devices, without managing any backend infrastructure.
  • 39. Amazon Cognito Sync data model • Identity Pool: Pool of app users. Can be shared across apps. • Identity: An individual user. Consistent across identity providers. Can be a guest user. • Dataset: Per user grouping of data. The most granular level of sync. Up to 1MB. • Record: Key/Value pair. AWS Account Dataset Identity Identity Identity Dataset Dataset Identity Pool 1:60 1:n 1:20 Dataset Dataset Record 1:1024 You Your App Your App Users User Data Container User Data
  • 40. Demo: Sync user’s game state across devices
  • 41. Integrating Amazon Cognito Sync functionality is dead simple Initialize the CredentialsProvider and CognitoClient Call synchronize on the dataset Create or open Dataset and Add Key Values provider = new CognitoCachingCredentialsProvider (context, AWS_ACCOUNT_ID, COGNITO_POOL_ID, COGNITO_ROLE_UNAUTH, COGNITO_ROLE_AUTH, Regions.US_EAST_1); cognito = new CognitoSyncManager (context, Regions.US_EAST_1, provider); dataset.synchronize(new SyncCallback(){..}); cognito.openOrCreateDataset(datasetName); dataset.put(key, value);
  • 42. Integrating Amazon Cognito Sync functionality is dead simple Initialize the AWSCognitoSyncClient Call synchronize on the dataset Create or open Dataset and Add Key Values DataSet *dataset = [syncClient openOrCreateDataSet:@"myDataSet"]; NSString *value = [dataset readStringForKey:@"myKey"]; [dataset putString:@"my value" forKey:@"myKey"]; AWSCognitoSyncClient *syncClient = [[AWSCognitoSyncClient alloc] initWithConfiguration: configuration]; [dataset synchronize]; iOS
  • 43. Analyze User Behavior: Amazon Mobile Analytics
  • 44. 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 “Simply and cost effectively collect and analyze your application usage data” Data collected are not shared, aggregated, or reused
  • 45. Getting Started with Mobile Analytics in 3 steps Sign up for AWS Account and create or use existing Amazon 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 one line of code (Android/FireOS, iOS)
  • 46. Integrating Mobile Analytics is super simple Initialize the MobileAnalyticsManager. That’s it! Get Session Activity in the AWS Management Console. For Custom Events activity reports, add events. Add OnResume() and OnPause() private static MobileAnalyticsManager analytics; analytics = MobileAnalyticsManager.getOrCreateInstance( this.getApplicationContext(),"yourCompany.yourAppId", Regions.YOUR_REGION, config, cognitoProvider ); EventClient eventClient = analytics.getEventClient(); MobileAnalyticsEvent visitEvent = eventClient.createEvent("speedSet"); eventClient.recordEvent(visitEvent); analytics.getSessionClient().resumeSession(); analytics.getSessionClient().pauseSession(); Analytics.getEventClient().submitEvents();
  • 47. Demo: How is my game performing across platforms
  • 48. Just Last Month: Run custom queries
  • 49. Export to S3 + Amazon Redshift mobile client S3Amazon Mobile Analytics
  • 50.
  • 51. Export to S3, Process Data Anywhere mobile client Amazon S3 Amazon Redshift Amazon Mobile Analytics Hadoop/Spark Amazon EMR Amazon Glacier archive batch
  • 52. Export to Amazon Redshift (Managed) mobile client Amazon S3 Amazon Redshift Amazon Mobile Analytics External data
  • 53.
  • 55.
  • 56. 74Live score VotingPush notifications
  • 58. GROWTH PER COUNTRY 76 THE WORLD CUP IS THE MOST INTERESTING FOR THE AMERICANS
  • 62. Mobile Services Work Better Together SNS Amazon Cognito Amazon Cognito Amazon Cognito SNS Lambda Lambda Lambda Lambda Any Analytics S3 + Amazon Redshift Amazon Kinesis DynamoDB Amazon Cognito Amazon KinesisLambdaS3
  • 63. How are AWS Mobile Services different? Flexible and Work Better Together Serverless and Scales automatically
  • 64. Store and share media: Amazon S3
  • 65. Amazon KinesisAWS Mobile SDK Mobile-optimized Connectors (AWS Mobile SDK) S3 Integrated AWS Mobile SDK Optimized for native OS Multipart upload media Fault tolerant download Automatic retries Pause, resume, cancel functions Generic batching system handles intermittent network connection Optimize battery utilization DynamoDB
  • 66. 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
  • 67. Outplay Entertainment – Amazon S3 Connector via AWS Mobile SDK Outplay Entertainment is mobile-focused game developer on a mission to deliver fun, free and innovative games for smartphones, tablets, and social networks. With Amazon S3 connector, we can improve the users experience by dynamically downloading game assets in the background. No long up-front delays for our users. Douglas Hare CEO, Outplay Entertainment ” “ • Improved User Experience. Using the Mobile SDK, they can download the game assets in background while the user starts playing the game. No limits on downloading extra assets. • Dynamic updates. They can update the assets dynamically and avoid AppStore release cycles. • Unquestioned Scalability. Different assets for multiple screen densities go up to 170 MB+. By storing this data on S3 and directly downloading to the mobile device, they can scale seamlessly. • Excellent Performance. Highest resolution devices end up downloading about 90MB of extra content.
  • 68. Amazon S3 Connector: Transfer Manager in Android // Creating the transfer manager TransferManager transferManager = new TransferManager(credentialProvider); // Upload image Upload upload = transferManager.upload(BUCKET_NAME, fileName, file); // Download image Download = transferManager.download(BUCKET_NAME, mKey, file); // Pause, and Resume try { PersistableDownload persistableDownload = download.pause(); //do something if we didn’t abort } catch(PauseException e) { //do something if we aborted } download = transferManager.resumeDownload(persistableDownload);
  • 69. Amazon S3 Connector: Transfer Manager in iOS // Creating the transfer manager self.transferManager = [S3TransferManager new]; self.transferManager.s3 = s3client; // Upload image [self.transferManager uploadFile:fileName bucket:bucketName key:objectName]; // Download image [self.transferManager downloadFile:fileName bucket:bucketName key:objectName]; // Pause, Resume, Cancel [self.transferManager pauseAllTransfers]; [self.transferManager resumeAllTransfers]; [self.transferManager cancelAllTransfers];
  • 70. Demo : Download Game Assets
  • 71. Fully Integrated AWS Mobile SDK • Common authentication mechanism across all services • Automatically handle intermittent network connections • Cross-platform Support: Android, iOS, Fire OS • 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 • Continuously updated with latest platform enhancements iOS Android JavaScript Unity Xamarin Download the latest versions of the SDKs
  • 72. How are AWS Mobile Services different? Flexible and Work Better Together Serverless and Scales automatically Fully Integrated and easy to get started
  • 74. Authenticate users Authorize access Analyze User Behavior 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) Run Business Logic AWS Lambda Send push notifications Amazon SNS Mobile Push Your Mobile App
  • 75. Amazon Cognito Amazon Mobile Analytics Amazon SNS Mobile Push Amazon Kinesis Recorder DynamoDB Mapper S3 Transfer Mgr SQS Client SES Client AWS Global Infrastructure (Regions, Availability Zones, 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 AWS Mobile Services AWS Lambda Lambda Functions λ λ λ λ
  • 76. Key Takeaways Flexible and Work Better Together Serverless and Scales automatically Fully Integrated and easy to get started
  • 77. Amazon Cognito Mobile Analytics 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 Lambda Free Tier : 1M free requests per month 400,000 GB- seconds of compute time per month
  • 80. Simple and predictable pay as you go pricing Amazon Cognito Amazon Mobile Analytics Amazon SNS Mobile Push Free Tier: 1 Million push messages every month Thereafter: $0.50 for Million notifications delivered $0.50 for Million requests Free Tier (for first 12 months): 1 Million syncs/month + 10GB of storage for Amazon Cognito Thereafter: $0.15 for 10K Syncs $0.15 per GB for storage Free Tier: 100 Million events every month Thereafter: $1.00 per Million events