Parse recently announced that they are retiring their mobile app development service, and current customers will have until January 28, 2017 to move their apps to alternative services. To help you get through the transition, AWS is working together with Parse to provide a migration path to AWS. AWS provides a variety of services for building, testing and monitoring mobile apps.
In this webinar, we will introduce you to the full range of AWS mobile services, and take you through the steps required to migrate your mobile apps from Parse to AWS.
Learning Objectives:
Get an overview of AWS Mobile Services
Learn how to migrate your apps from Parse to AWS
Who Should Attend:
Developers, product managers, and anyone interested in migrating mobile apps from Parse to AWS
9. Released additional functionality.
• Simple Push
• Custom S3
• Local environments (@flovimart)
• Dashboard under active development
• More coming soon
10. Many options for Push, Push-only.
You will still benefit by migrating your
_Installation data to your own database.
12. • Move data by 4/28/2016
• Storage runs 3-5x amount displayed in Dashboard
• US-East for best performance
• Consider using Parse Server
• Migrate your Push users
• Migrate your files (soon)
Key Takeways
13. Visit and ⭐ star the repo:
https://github.com/ParsePlatform/parse-server
@ericnakagawa
Q+A
14. Agenda
Key AWS Concepts We’ll be Using
AWS Mobile Hub and the AWS Mobile Services
Migrating Parse Core to AWS
Migrating from Parse Push to Amazon SNS Mobile Push
Migrating from Parse Analytics to AWS Mobile Analytics
17. US West (OR)
AZ A AZ B
AZ C
GovCloud (US)
AZ A AZ B
US West (CA)
AZ A AZ B
AZ C
US East (VA)
AZ A AZ B
AZ C AZ D
AZ E
*A limited preview of the China (Beijing) Region is available to a select group of China-based and multinational companies with customers in China.
These customers are required to create a AWS Account, with a set of credentials that are distinct and separate from other global AWS Accounts.
EU (Ireland)
AZ A AZ B
AZ C
AZ A AZ B
S. America (Sao
Paulo)
Asia Pacific
(Tokyo)
AZ A AZ B
AZ C
AZ A AZ B
Asia Pacific
(Singapore)
China (Bejing)Asia Pacific
(Sydney)
AZ A AZ B
EU (Frankfurt)
AZ A AZ B
AWS Regions
China (Beijing)*
AZ A AZ B
AWS Regions and Availability Zones
21. Configure how your users sign-in:
• No Sign-In, Optional, or Mandatory
Configure Sign-In Providers:
• Facebook, Google (Twitter coming soon)
• Your own system
Adds a Sign-In Screen to your quickstart app
Powered by Amazon Cognito Identity
User Sign-in
22. Store User Files such as Photos
• User-only access or all-user access
Store User Profile Data
• Key/Value Pairs
• Syncs across devices where user signed in
Quickstart app includes usage examples
• Contains file browser and color selector
Powered by Amazon S3 and Cognito Sync
User Data Storage
23. Run backend code in the cloud
• Share functions across apps
• Update on the fly without app submissions
Call directly from your mobile app
• You define inputs/outputs
Write in Java, Javascript or Python
You write code, we manage infrastructure
Powered by AWS Lambda
Cloud Logic
24. Send Push Notifications to your apps
• iOS or Android
• 1:1 or Topic/Subscription based
Quickstart App demonstrates features
• Enable/Disable Notifications
• Auto-registers push tokens with SNS
• Lets you select topic subscriptions
Powered by Amazon SNS
Push Notifications
25. Store application assets in the cloud
• Example: Resource files or media assets
Use a CDN for faster delivery (optional)
Quickstart app includes on-device cache logic
• Set max cache size
• Pin specific files to the cache
Powered by Amazon S3 and CloudFront
App Content Delivery
26. Monitor app usage with analytics
• Session, monetization, and custom events
• Monitor Active Users, monetization, retention
Quickstart app includes all three event types
Access your dashboard from the Mobile Hub
App Analytics
Powered by Amazon Mobile Analytics
33. Parse Core to AWS: Using Elastic Beanstalk
What is AWS Elastic Beanstalk?
STEP 1: Run a Parse Server using AWS Elastic Beanstalk
34. Parse Core to AWS: Step 1 -Using Elastic Beanstalk
What is AWS Elastic Beanstalk?
35. Parse Core to AWS: Step 2 - Set up a Mongo Instance
Let’s use MongoLab
36. Parse Core to AWS: Step 3 – Configure AWS and
MongoLab
Configure AWS Elastic Beanstalk console
• Within the AWS Elastic Beanstalk console, choose the Software
Configuration card in the Configuration tab and scroll down to
the environment variables.
• In the Property Value text boxes, add your APP_ID and
MASTER_KEY values from the Parse Dashboard, and add the
MongoLab database URI you generated in the last step.
37. Parse Core to AWS: Step 3 – Configure AWS and
MongoLab
41. Amazon SNS
Cross-Platform
Mobile Push
Internet
Apple APNS
Google GCM
Amazon ADM
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
42. Reliable Push at Scale Takes Constant Work
35 AWS EC2 m3.xlarge instances
Home-rolled code based on Tornado
6 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
43. Now Using Amazon SNS Mobile Push
Zero to 500m+ daily
push notifications
almost overnight
Highest available
reliability and speed
Easy migration
10m
170m
500m
Day 1 Day 2 Day 3
Daily SNS Mobile Push
Deliveries (millions)
…Rising
44. SNS Mobile Push Pricing
• 1M requests
• 1M mobile push delivery attempts
• 1GB of data out of any AWS region are
free every month.
After that, it’s $0.50 per million requests and
$0.50 per million mobile push delivery
attempts (plus applicable data transfer
charges).
45. Migrating to SNS: Step 1 - Export Parse Push Data
Log in to the Parse console and select your application.
Under Core > Browser, select the Installation class.
In the top right corner click Edit.
Select Export this data.
46. Migrating to SNS: Step 1 - Export Parse Push Data
In Export this class, select Export.
An email will arrive shortly with a link to download your exported zipped JSON
file.
47. Migrating to SNS: Step 1 - Export Parse Push Data
Download and save the
exported JSON file. We’ll
be using it next. The
exported JSON file should
look like the sample below
and should have
deviceToken,
deviceType and
channels keys with
appropriate values.
48. Migrating to SNS:
Step 2 - Obtain your APNS and/or GCM credentials
Obtain the APNS and/or GCM credentials that you used to create
the integration with Parse.
• For Apple (APNS) applications: Amazon SNS uses a .p12 push
certificate. You can export it from your Mac Keychain. If you don’t have
the .p12, follow Step 1 from the tutorial here.
• For Android (GCM) applications: You need to provide the API (Server)
Key from the Google Developers Project associated with your Parse
app.
• For Windows (WNS) applications: You need to provide the Client
secret and Package Security Identifier (SID) by following instructions
from here.
Save these credentials for later because we will use these to create
your Amazon SNS resource using the AWS Mobile Hub.
49. Migrating to SNS: Step 3 - Create AWS Resources
Create a new AWS Account
(if you need one)
Create an AWS Mobile Hub project and configure the
Push Notifications feature
Click Resources on the left panel of the Mobile Hub console.
• Under Amazon SNS Platform Applications, copy the
highlighted name and save it in a temporary location (you will
use it later as a parameter to the migration tool)
• Under Amazon SNS Topics, copy the topic name and save it in
a temporary location (you will use it later as a parameter to the
migration tool).
51. Migrating to SNS: Step 3 - Create AWS Resources
Your fully qualified SNS platform application name will look
something like the following. The highlighted part is the application
name that you will provide to the migration tool in Step 4:
arn:aws:sns:us-east-
1:xxxxxxxxxxxx:app/APNS/parse_MOBILEHUB_1768078787
An SNS PlatformApplication has now been created
• Holds the credentials for the specific push notification gateway (e.g.
APNS or GCM)
52. Migrating to SNS: Step 3 - Create AWS Resources
This PlatformApplication is represented in AWS by
something called an Amazon Resource Name (ARN)
An Amazon SNS Topic is a resource that is similar to
what Parse calls channels.
Topics are also represented in SNS as ARNs.
53. Migrating to SNS: Step 3 - Create AWS Resources
Obtain your AWS credentials for the Migration Tool to
use
(access key ID and secret access key)
54. Migrating to SNS: Step 4 – Import Parse Push Data
Download the Parse Push migration tool
• https://s3.amazonaws.com/sns.region/SNSImportTool.jar
Run the command as specified below with the appropriate command line
options and start the migration!
java -jar SNSImportTool.jar -s -f
<PATH_TO_EXPORTED_PARSE_INSTALLATION_.JSON_FILE>
--apnsName <APNS_PLATFORM_APP_NAME_STEP>
--gcmName <GCM_PLATFORM_APP_NAME_STEP>
--wnsName <WNS_PLATFORM_APP_NAME_STEP>
--topicName <SNS_TOPIC_NAME_STEP>
--awsaccess <AWS_KEY_ID_STEP>
--awssecret <SECRET_ACCESS_KEY_STEP>
55. Migrating to SNS: Feature comparison tableFeature Parse Push Amazon SNS
Subscriptions Yes - channels Yes - topics
Advanced Targeting Yes – objects, users, queries, and GeoPoints No
Custom Segments Yes – Saved Audiences No
Scheduled Notifications Yes (Android/Windows Only) No
A/B Testing Yes – Push Experiments No
Push Localization Yes No
Badge Increment Yes – (iOS only) No
Expiration Date Yes Yes
Background/Silent Push Yes Yes
Sound Yes Yes
Campaigns Yes No
Token Feedback No Yes
Token/Endpoint Event Triggers Yes Yes
100% Delivery Success/Failure
Logging
No (“Generic” Push Delivery Report Only)
Yes (100% success/failure logs
targeting each endpoint)
Pricing
· 1M unique recipients (i.e. tokens) per month.
· $0.05 per 1,000 unique recipients after that
· 1 million free requests and mobile
push delivery attempts per month.
· $0.50 per million requests and
$0.50 per million mobile push delivery
attempts after that.
· More information on pricinghere
57. 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
58. Getting Started with Amazon Mobile Analytics
in Three Steps
Sign up for an AWS account and create or use an 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)
59. Key Business Metrics
(with one line of code)
1. Monthly Active Users
(MAU)
2. Daily Active Users
(DAU)
3. New Users
4. Daily Sessions
5. Sticky Factor
6. 1-Day Retention
7. Avg. Revenue per DAU
8. Daily Paying Users
9. Avg. Paying DAU
60. Track Retention
User retention is a key
indicator to judge the
outcome of a marketing
campaign, new feature
introduction, UX changes,
app updates, etc.
Mobile Analytics provide four
charts to track daily or
weekly rate of returning
users, after first use of the
app.
61. Get behavioral insights into app-specific
actions that your users take.
Reports provide a view of how often custom
events occur. You can add further context
with attributes and metrics for each custom
event.
Examples
Track the number of
likes/shares, per
article, in a news app
Understand player
abort rates per
level, in a game
Number of songs
played, per user
session, in a music app
In-app item popularity
in a shopping app
Track Custom Events