Serverless Mobile Application & Game Development with Amazon Web Services (AWS)

Presenter

  • Curtis Bray, Manager of Solutions Architecture – US Education
  • Heather Matheson, Account Manager for UCLA
  • Amie Carobrese, Account Manager for UC & CSU

We’re deep into the public sector!  2,300+ govt agencies, 7,000+ educational institutions, etc.

When starting out, you pick a region, which is a location where your stuff (apps, data, whatever) will live. For example US-West-2 is a region. Within each region is a number of availability zones (AZs), separated by tens of miles.

How Do You Build a Mobile App Today?

  • Authorize
  • Authenticate
  • Synchronize
  • Store & Deliver Media
  • Analyze User Behavior
  • Send Push Notifications (bus arrival, quiz/test results, etc.)
  • Send Real Time Events
  • Store Shared Data (i.e. leaderboards)

Some of the products that’ll be covered:

  • Cognito: authentication
  • Kinesis Recorder: create live dashboards to track user events in real time
  • DynamoDB Mapper: store & query fast NoSQL data across users & devices
  • SNS Mobile Push: for push notifications
  • Lambda: “serverless” service that runs your functions

Authenticate Users: Amazon Cognito

What it does:

  1. Synchronize user’s data across devices / platforms
  2. Manage users as unique identities across identity providers
  3. Securely access all AWS services from Mobile device

It can provide temporary credentials to securely access your resources. It provides comprehensive support for identity use cases.

Synchronize data across devices: Amazon Cognito (Sync)

  • Store app data, preferences and staet
  • Cross-device Cross-OS Sync
  • Work Offline

Post processing can be done: push sync, events, streams

Store & Deliver Media Assets: S3 & CloudFront

  • S3 Connector transfer utility: multipart upload, fault tolerant download, no backend required, automatic retries, pause, resume, cancel functions.

Mobile Analytics

Collect, visualize and understand app usage data. Data stored can be put into a data warehouse if you want to.

Send Push Notifications: Amazon SNS Mobile Push

A single API can push messaging across multiple platforms.

Amazon DynamoDB Connector: Object Mapper

A NoSQL database that’s mobile aware

Which services should I use?

How do I connect them all together? We created the “AWS Mobile Hub” which ties into your AWS account. You create a project and add features you need to get up-and-running. The AWS Mobile Hub needs an IAM role so it can create resources on your behalf.

Working Mobile App project includes:

  • Xcode/Android Studio project
  • AWS resources
  • App Code
  • Helper “glue” code
  • SDKs
  • Detailed developer instructions

We then ran through an hour-long demonstration of the tools mentioned above…pretty powerful and easy-to-use stuff. The automated testing with AWS device farm was cool. You test against actual physical devices.