Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

February 2016 Webinar Series Migrate Your Apps from Parse to AWS


Published on

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

Published in: Technology
  • Login to see the comments

February 2016 Webinar Series Migrate Your Apps from Parse to AWS

  1. 1. © 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. John Burry, AWS Principal Solutions Architect Andrew Chud, Software Development Engineer March 1, 2016 Migrate your apps from Parse to AWS
  2. 2. Eric Nakagawa Developer Advocate, Parse +
  3. 3. Parse shutting down. Official date January 2017
  4. 4. Suggested migration timeline • Database • App logic (Cloud Code) • Push • Files 7/28/2016 4/28/2016
  5. 5. Estimating database size.
  6. 6. How long to migrate? Can take < an hour to multiple days. AWS US-East
  7. 7. You control finalizing step. 24 hours to confirm or must redo.
  8. 8. Very active. ⭐ 6550 stars on repo!
  9. 9. Released additional functionality. • Simple Push • Custom S3 • Local environments (@flovimart) • Dashboard under active development • More coming soon
  10. 10. Many options for Push, Push-only. You will still benefit by migrating your _Installation data to your own database.
  11. 11. S3 Migration Tool Under development.
  12. 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. 13. Visit and ⭐ star the repo: @ericnakagawa Q+A
  14. 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
  15. 15. Key AWS Concepts
  16. 16. AWS global infrastructure Region Edge Location 12 Regions 32 Availability Zones 54 Edge Locations
  17. 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
  18. 18. AWS Mobile Hub and the AWS Mobile Services
  19. 19. AWS Mobile Hub
  20. 20. Create A Project and Add Features
  21. 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. 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. 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. 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. 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. 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
  27. 27. Monitoring Usage with Mobile Analytics
  28. 28. Download your starter app & start coding…
  29. 29. Testing Apps with Amazon Device Farm
  30. 30. Unity AWS Mobile SDKs Swift Xamarin JavaScript Objective-C Android Java
  31. 31. AWS Services Compute Storage & Content Delivery Database Networking Developer Tools Management Tools Security & Identity Analytics Internet of Things Mobile Services Application Services Enterprise Applications
  32. 32. Migrating Parse Core to AWS
  33. 33. Parse Core to AWS: Using Elastic Beanstalk What is AWS Elastic Beanstalk? STEP 1: Run a Parse Server using AWS Elastic Beanstalk
  34. 34. Parse Core to AWS: Step 1 -Using Elastic Beanstalk What is AWS Elastic Beanstalk?
  35. 35. Parse Core to AWS: Step 2 - Set up a Mongo Instance Let’s use MongoLab
  36. 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. 37. Parse Core to AWS: Step 3 – Configure AWS and MongoLab
  38. 38. Parse Core to AWS Demonstration
  39. 39. Migrating from Parse Push to Amazon SNS Mobile Push
  40. 40. Send Push Notifications: Amazon SNS Mobile Push
  41. 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. 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. 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. 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. 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. 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. 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. 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. 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).
  50. 50. Migrating to SNS: Step 3 - Create AWS Resources
  51. 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. 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. 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. 54. Migrating to SNS: Step 4 – Import Parse Push Data Download the Parse Push migration tool • 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. 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
  56. 56. Migrating from Parse Analytics to AWS Mobile Analytics
  57. 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. 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. 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. 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. 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
  62. 62. Track Custom Events AWS Custom Event JSON Parse Custom Event JSON
  63. 63. Demo: Amazon Mobile Analytics
  64. 64. Thank you!