Scenario Overview
Scenario Overview

In this course, we will create a multi-tier serverless architecture on AWS using Amazon API Gateway, AWS Lambda, AWS Step Functions, and Amazon Polly text to speech. This is a hands-on course where you will learn how to create serverless functions, data access, business logic, and integration layers on AWS. Also, you will learn how to create a presentation layer for your application using the client SDK generated by Amazon API Gateway. We will then host the application on Amazon S3.

Learning Objectives

By the end of this course, you will be able to recognize and implement an end to end workflow built in the Amazon Cloud using Serverless components.

Intended Audience

This course is intended for developers or DevOps engineers who want to create serverless applications on AWS, or who may be considering migrating their existing web applications to AWS.


A basic familiarity with Amazon API Gateway, Lambda, DynamoDb, S3, and AWS Step functions is required for this course. Some knowledge of building web applications using HTML and JavaScript will also be helpful.


The GitHub repository for this course is available here:


In this hands-on course, we'll build a pizza ordering web application where the users will be able to select menu items, choose a delivery or pickup option and enter payment details and then order the pizza. The back end and front end of this app will be built using various services provided by AWS. As you can see in this diagram, our architecture is divided into several layers. The data layer consists of Amazon DynamoDB, which is a fast and flexible NoSQL database. It's best suited for applications that require a flexible data model and reliable performance, like our web application here. Then the data access layer is hosted in lambda functions. All necessary transactions to the DynamoDB are made through lambda functions. We'll also utilize Amazon Polly in this application, which is a newer service by Amazon. It lets you convert text to lifelike speech. In our case, we'll use it to convert order status to speech, which will be played back by our application for the users to hear. Each of our lambda functions here corresponds to a microservice that performs a certain task. And we'll orchestrate these using Amazon Step Functions. Hence our business logic layer is embodied in Step Functions where we make decisions based on results from lambda functions. Step Functions will allow us to create a visual workflow or state machine for our execution. Then, our integration layer consists of API Gateway, which will be used to create a rest interface of the underlying daytracks islay for the client task. Here, we'll directly integrate API Gateway with Step Functions. For the front end, we'll create an HTML page using JavaScript and host our page on Amazon S3 as a static website. Okay, if you're ready, let's get started!

About the Author

Tehreem is a Sr. Software Engineer with passion in Cloud Technologies, Big Data analytics, Software Testing and Automation. She has over 10 years of work experience comprising of her tenure at ServiceNow, Microsoft and Harmonic Inc. Most recently she has been developing learning content in-line with the emergence of Public Clouds and XaaS platforms with focus on AWS, Microsoft Azure and GCP. Tehreem resides in BayArea, CA with her family and when not working she enjoys nature/outdoors, movies and fine dining.