When you’re first learning AWS, it’s sometimes hard to know how to put all the “pieces” together—how to use the various services to create an actual application that you could use in the real world. I felt the same way when I started!
In this hands-on tutorial, I’ll walk you through how to design and build a simple web application from scratch. We’ll pick five different services—Amplify, Lambda, IAM, API Gateway and DynamoDB—and talk about why/where to use them, and how to get them to work with each other. As we go, we’ll build out each of the services, resulting in a fully-functional math web application.
To follow along, you’ll need:
• A text editor (such as Notepad or Notepad++)
• An AWS account and access to the Console (video here if you need help: https://youtu.be/SJcqOj0fz6A). NOTE: You’ll need administrator permissions to follow along.
• Some basic knowledge of AWS is preferable, but you can still follow along if you’re an absolute newbie
Here’s all the code you’ll need to build the application:
• index-ORIGINAL.html: https://drive.google.com/file/d/1D4GFqjos_MmCES7wHbn4ccD6Gq2ZCuul/view?usp=sharing
• PowerOfMathFunction – Lambda-ORIGINAL.txt: https://drive.google.com/file/d/1ak_o_OKKBv5UFa7lcp2CMfKsh10tEAhi/view?usp=sharing
• Execution Role Policy JSON.txt: https://drive.google.com/file/d/1xdko5AREleKbVfvj9MwRDpNqOzEl1qlj/view?usp=sharing
• PowerOfMathFunction – Lambda-FINAL.txt: https://drive.google.com/file/d/1ao_8hKZXEmL4pNeeWEHdaWmUNdLPGAJb/view?usp=sharing
• index.html: https://drive.google.com/file/d/1fCFDH1PcT6Gw0rZUIsJnQf8xow4GEdv_/view?usp=sharing
Some code was re-used from this AWS walk-through: https://aws.amazon.com/getting-started/hands-on/build-web-app-s3-lambda-api-gateway-dynamodb/
??If you’re interested in getting AWS certifications, check out these full courses. They include lots of hands-on demos, quizzes and full practice exams. Use FRIENDS10 for a 10% discount!
– AWS Certified Cloud Practitioner: https://academy.zerotomastery.io/a/aff_n20ghyn4/external?affcode=441520_lm7gzk-d
– AWS Certified Solutions Architect Associate: https://academy.zerotomastery.io/a/aff_464yrtnn/external?affcode=441520_lm7gzk-d
Timestamps
00:00 – Let me tell you a story…
01:07 – Overviewing the services and application we’ll be building in this video
01:56 – Architecting the web application from scratch
02:28 – What you’ll need to follow along with this video
03:02 – How to create and host a web page for our web application
03:37 – Creating an index.html page from scratch in a text editor
04:09 – Where to download the code used in this video
04:27 – Deploying and hosting a web page with AWS Amplify
06:14 – How to do math calculations in our web application
06:56 – Creating a Python Lambda function to implement our math functionality
08:44 – Testing our Lambda function
10:21 – How to invoke our Lambda function
10:54 – Creating a REST API for our Lambda function using API Gateway
14:53 – How to persist our math result to a database, and also handle permissions
15:44 – Creating a new DynamoDB table to store our math result
16:37 – Giving Lambda permission to write to the DynamoDB table
18:23 – Updating the Lambda function code to write to the DynamoDB table
20:49 – Invoking the API Gateway endpoint from the index.html page in Amplify
21:08 – Updating the index.html page to call API Gateway
23:03 – Re-deploying our index.html page using Amplify
23:33 – Admiring our completed web application!
24:32 – IMPORTANT!! Delete your resources (I’ll show you how)