O'Reilly logo
live online training icon Live Online training

AWS for Mobile App Developers

Create and Consuming AWS Backend for Mobile Apps

Bear Cahill

Most mobile apps these days need some form of backend (e.g., messaging apps send messages through the cloud, notes apps have to sync online, and shopping apps need to know what’s for sale from a server API). From data storage, file storage, online features to functionality and APIs to tie them all together, apps need a variety of backend services.

AWS provides the resources to create and manage the backend but can be overwhelming and intimidating. And what’s best is that it almost all works together seamlessly and often effortlessly. AWS provides tools like Amplify CLI (command line interface) to allow the developer to design what they need and AWS implements the definitions in the services required. Also, in many cases the SDK provides the code for the mobile app project as well.

What you'll learn-and how you can apply it

By the end of this live, hands-on, online course, you’ll understand:

  • AWS Services like AppSync, DynamoDB and S3
  • What these services provide on their own
  • How these services relate and work together
  • What steps are necessary to develop an AWS backend

And you’ll be able to:

  • How to use Amplify to configure your AWS services for your client locally
  • How to inspect and edit the services locally and online
  • How to use these services in your client (mobile or web app) easily

This training course is for you because...

  • You’re a mobile or web developer and your app needs a backend
  • You work with iOS and/or Android
  • You want to be able to support your app with a backend without learning full web-stack development


  • Mobile (or web app) development experience
  • Online API experience
  • Understanding of APIs and databases

Recommended preparation:

  • Set up an AWS account at console.aws.amazon.com (free, but credit card required)
  • Install the Amplify CLI: https://aws-amplify.github.io/docs/ (if you want to follow along)
  • Install CocoaPods: cocoapods.org (if you want to follow along)

Recommended follow-up:

About your instructor

  • Bear Cahill has been developing software professionally since 1990 for companies such as IBM, Ericsson and Travelocity and freelance since 2008. He’s developed in most languages, on most platforms and most size companies.

    He wrote “iOS in Practice”, teaches iOS/Android development around the US for various companies. Bear also records online courses, tutorials and walk-throughs for various companies.

    Having developed well over 100 mobile apps using most available frameworks, Bear has also developed various backend solutions with Parse Server, Firebase and AWS.


The timeframes are only estimates and may vary according to how the class is progressing

AWS Discussion (10 minutes)

  • Presentation: 5 - Navigating AWS services
  • Discussion: 5 - Experience with AWS
  • Q&A

IAM/Cognito (10 minutes)

  • Presentation: 10 - Authorization in Your App
  • Q&A

DynamoDB (10 minutes)

  • Presentation: 10 - Database Tables in AWS
  • Q&A

Lambda (30 minutes)

  • Presentation: 10 - Serverless Functionality on the Server
  • Exercise: 20 - Create your first Lambda function.
  • Q&A
  • Break: 5 mins

API Gateway (30 minutes)

  • Presentation: 10 - RESTful API with Ease and Power
  • Exercise: 20 - Create your first API Gateway
  • Q&A

AppSync (15 minutes)

  • Presentation: 10 - GraphQL API with DynamoDB
  • Discussion: 5 - Comparing API Types
  • Q&A
  • Break: 5 mins

Amplify (10 minutes)

  • Presentation: 5 - Command Line Interface Usage
  • Exercise: 5 - Initialize a Project and Push
  • Q&A

Dependencies: (20 minutes)

  • Presentation: 10 - CocoaPods and Android Dependencies
  • Exercise: 10 - Initialize and Configure
  • Q&A
  • Break: 5 mins

iOS Project Authorization (15 minutes)

  • Presentation: 5 - Adding Authorization with Cognito
  • Exercise: 10 - Add Authorization to your App
  • Q&A

iOS Project API (30 minutes)

  • Presentation: 10 - Adding AppSync API
  • Exercise: 20 - Add GraphQL API to your App
  • Q&A