In this tutorial, you'll create a simple serverless web application that enables users to request unicorn rides from the Wild Rydes fleet. The application will present users with an HTML based user interface for indicating the location where they would like to be picked up and will interface on the backend with a RESTful web service to submit the request and dispatch a nearby unicorn. The application will also provide facilities for users to register with the service and log in before requesting rides.

The application architecture uses AWS Lambda, Amazon API GatewayAmazon DynamoDB, Amazon Cognito, and AWS Amplify Console. Amplify Console provides continuous deployment and hosting of the static web resources including HTML, CSS, JavaScript, and image files which are loaded in the user's browser. JavaScript executed in the browser sends and receives data from a public backend API built using Lambda and API Gateway. Amazon Cognito provides user management and authentication functions to secure the backend API. Finally, DynamoDB provides a persistence layer where data can be stored by the API's Lambda function.

Serverless_Architecture
Serverless_Web_App_LP_assets-18

Static Web Hosting

AWS Amplify hosts static web resources including HTML, CSS, JavaScript, and image files which are loaded in the user's browser.

Serverless_Web_App_LP_assets-19

User Management

Amazon Cognito provides user management and authentication functions to secure the backend API.

Serverless_Web_App_LP_assets-20

Serverless Backend

Amazon DynamoDB provides a persistence layer where data can be stored by the API's Lambda function.

Serverless_Web_App_LP_assets-21

RESTful API

JavaScript executed in the browser sends and receives data from a public backend API built using Lambda and API Gateway.

This workshop is divided into five modules. Each module describes a scenario of what we're going to build and step-by-step directions to help you implement the architecture and verify your work.
  1. Static Web Hosting
  2. User Management
  3. Serverless Backend
  4. RESTful APIs
  5. Resource Termination and Next Steps

AWS Experience: Beginner

Time to complete: 2 hours

Cost to complete:  Each service used in this architecture is eligible for the AWS Free Tier. If you are outside the usage limits of the Free Tier, completing this tutorial will cost you less than $0.25*.
 
Prerequisites: To complete this tutorial, you will need:
  • An AWS account**
  • A text editor
  • Recommended browser: The latest version of Chrome

*This estimate assumes you follow the recommended configurations throughout the tutorial and terminate all resources within 24 hours.

**Accounts that have been created within the last 24 hours might not yet have access to the resources required for this tutorial.