Getting Started with AWS Mobile Hub
-
Upload
amazon-web-services -
Category
Technology
-
view
651 -
download
1
Transcript of Getting Started with AWS Mobile Hub
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Getting Started with AWS Mobile Hub
Paul Maddox, Solutions ArchitectOctober 2016
Who am I?
• @paulmaddox – feel free to reach out- Mixture of Dev
• Building highly scalable infrastructure since 2002- Mixture of Dev & Ops. Linux, LAMP, Java, C, Go, Docker etc.
• Building mobile applications, APIs and backends since 2012
• Solutions Architect @ AWS focusing on Mobile since 2014
When developing mobile apps today, you want to focus on ...
The great stuff that makes your app unique
Not…
The heavy lifting needed to manage back-end infrastructure
AWS Mobile Services eliminate the heavy lifting
“Mobile” growing in all directionsPublished mobile apps
continue to grow……As “mobile” platforms expand to new domains
TV
Watch
Car
*Source: App Annie
Apps are also getting more complex
…To cloud-connected apps From basic client apps…
Sign-in/SocialPush notifications
Usage analytics
Cloud storage
Crash analytics
Ads
Attributionanalytics Config management
Custom back ends
A/B testing
AWS Mobile SDKs
AWS Mobile Hub
Authenticate users
Analyze user behavior
Store and share media
Synchronize data
Deliver media
Amazon Cognito (Sync)
Amazon Cognito(Identity)
Amazon S3
Amazon CloudFront
Store dataAmazon DynamoDBAmazon RDS
Track retentionAmazon Mobile Analytics
Send push notificationsAmazon SNS Mobile Push
Server-side logicAWS Lambda
AWS Device Farm
Test your app
Build and scale your apps on AWS
Amazon Mobile Analytics
“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
High performance at any scale; Cost-effective and efficient
No Infrastructure to manage
Pay only for what you use: Lambda automatically matches capacity to
your request rate. Purchase compute in 100ms increments.
Bring Your Own Code
Lambda functions: Stateless, trigger-based code execution
Run code in a choice of standard languages. Use threads, processes,
files, and shell scripts normally.
Focus on business logic, not infrastructure. You upload code; AWS
Lambda handles everything else.
Cloud Logic with AWS Lambda
AWS Lambda ConsoleDevelop, test and publish your Lambda functions either by the AWS Management Console, AWS CLI or our SDKs.
Or use community frameworks such as serverless.com, gosparta.io and more…
Pricing Example
AWS Lambda (our example = $1.80/month):
Free tier: 1,000,000 invocations/month$0.20/million thereafterplus $0.00001667 per GB/second of memory
Our mobile backend services 10,000,000 requests/month, each request invokes a Lambda function that takes 100ms and uses 128MB of memory.
$1.80per month
InstrumentationUI AutomationUI Automator
Your app
Improve the quality of your apps by testing against real devices in the AWS cloud
Automated testing on AWS Device Farm
(native, hybrid, web)XCTest
XCTest UI
Select a device View historical sessionsInteract with the device
Introducing Device Farm:Remote access
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.
Amazon Mobile Analytics
Daily/monthly active users
Sessions
Sticky factor
In-app revenue
Lifetime value (LTV)
Retention
…. and more
(9 predefined metrics with one line of code)
Fast, flexible, global messaging to any device or endpoint
Global and fast at high scale
Send messages to any device or endpoint
Support for multiple platforms or frameworks
Amazon Simple Notification Service
RetrospectiveAnalyze historical
trends to know what's happening in
the app
Predictive Anticipate user
behavior to enhance experience
InquisitiveDiscover latent user behavior to shape
product or marketing decisions
Three Types of Data-Driven Decision Making
How many users use the app and how often?
What are key user behaviors in the app?
Your Mobile
App
How to predict user behavior and use those predictions to enhance their experience ?
In the Context of a Mobile App
Three Types of Data Driven Decision Making
RetrospectiveAnalyze historical
trends to know what's happening in
the app
Predictive Anticipate user
behavior to enhance experience
InquisitiveDiscover latent user behavior to shape
product or marketing decisions
RetrospectiveAnalyze historical
trends to know what's happening in
the app
Predictive Anticipate user
behavior to enhance experience
InquisitiveDiscover latent user behavior to shape
product or marketing decisions
Three Types of Data Driven Decision Making
How does usage pattern vary for users with different demographic profiles ?
Who are the most engaged users and what are their usage patterns ?
How does user population distribute across countries and platform ?
How much time does it takes for a user to convert to a paying user ?
Music App
Few Questions That Will Help You Understand Your Users Better
Simple & intuitive
Integrate with existing data models
Automatically collect common attributes
Schema for Your App’s Event Data
RetrospectiveAnalyze historical
trends to know what's happening in
the app
Predictive Anticipate user
behavior to enhance experience
InquisitiveDiscover latent user behavior to shape
product or marketing decisions
Three Types of Data Driven Decision Making
Let’s say we have been observing high user churn in the music app. Now, we want to identify these users in advance so that we could reach out to users before they leave the app
Predictive Application by Example
Music App
Let’s say we have been observing high user churn in the music app. Now, we want to identify these users in advance so that we could reach out to users before they leave the app
How could you identify users who have high probability to churn away from the app?
Music App
Predictive Application by Example
SELECT e.unique_id, Count(distinct session_id)
FROM events e
WHERE event_type = ‘_session.start’
HAVING e.date> GETDATE() - 30
You can start by looking atusage patterns of all users in thelast 30 days
One Way To Do is…
SELECT e.unique_id, Count(distinct session_id)
FROM events e
WHERE event_type = ‘_session.start’
AND date_part (dow,e.date ) in (6,7)
HAVING e.date> GETDATE() - 30
But usage pattern changes on weekends.
You can edit the query to filter for weekends only
One Way To Do is…
SELECT e.unique_id, Count(distinct session_id)
FROM events e
WHERE event_type = ‘_session.start’
AND date_part (dow,e.date ) in (6,7)
HAVING e.date> GETDATE() - 60
Pattern is not clear. You can go back in time to get a more clear pattern
One Way To Do is…
SELECT e.unique_id, Count(distinct session_id),
e.music_genre , e.subscription_type , e.locale
FROM events e
WHERE event_type = ‘_session.start’
AND date_part (dow,e.date ) in (6,7)
HAVING e.date> GETDATE() - 60
You want to learn not only from usage data but from custom behavior in the app
One Way To Do is…
SELECT e.unique_id, Count(distinct session_id),
e.music_genre , e.subscription_type , e.locale
FROM events e
WHERE event_type = ‘_session.start’
AND date_part (dow,e.date ) in (6,7)
HAVING e.date> GETDATE() - 120
….and again
One Way To Do is…
SELECT e.unique_id, Count(distinct session_id)
, e.music_genre , e.subscription_type , e.locale
FROM events e
WHERE event_type = ‘_session.start’
AND date_part (dow,e.date ) in (6,7)
HAVING e.date> GETDATE() - 120
Use machine learning technology to learn business rules from your data
Machine learning automatically finds patterns in your data and uses them to make predictions
Better Way To Do it is…
Users with High probability to churn
Users with Low probability to churn
Machine learning automatically finds patterns in your data and uses them to make predictions
Your data + Machine Learning
Predictive applications in the app
Better Way To Do it is…
Users with High probability to churn
Users with Low probability to churn
Predict users with low probability to purchase in the app and send discount coupon via in-app notification
Predict users with high probability to churn from the app and send push them notification to re-engage
Identify users with high probability to share the app and reach out to them to do the same Recommend relevant content to users based on similar user’s behavioral patterns
A Few Examples of Leveraging Mobile App Data with Machine Learning
Amazon Mobile Analytics
Amazon Redshift
App events
InsightsStrategies
Predictions
Mobile app developer Amazon Machine
Learning
+
Now Build Predictive Applications Using Your Mobile App Data Easily
Your Mobile
App
QuickSight
+
Without worrying about infrastructure
On real devices in the cloud
Track and improve usage and monetization
DEVELOP TEST ENGAGE
AWS Mobile Services
Without worrying about infrastructure
On real devices in the cloud
Track and improve usage and monetization
DEVELOP TEST ENGAGE
AWS Mobile Services
ITERATE