AWS Serverless APIs & Apps – A Complete Introduction

AWS Serverless APIs & Apps – A Complete Introduction

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 7.5 Hours | 1.77 GB

Get into serverless computing with API Gateway, AWS Lambda and other Amazon Web Services! Zero server config APIs & SPAs

Serverless computing will shape the future of web development since it allows you to get rid of many issues “traditional” web hosting poses. Now’s the time to dive into this exciting new technology!

Unlike in traditional web hosting, where you spin up servers, configure them and then deploy your code, in serverless applications, you don’t manage any servers! Instead, you only provide your code and define when it should get executed. Done!

Without managing any servers, you typically pay way less (since you got no overhead capacity), can react much better to incoming traffic spikes and don’t have to worry about server security!

For these very reasons, it’s no wonder that serverless computing is on the rise, with more and more companies adopting it! Learn it now to gain an edge and either use it for your own projects or apply for high-paid jobs!

What does this course offer then?

This course will introduce you to serverless computing and then quickly dive into how to build serverless apps with Amazon Web Services (AWS).

Specifically, you will learn:

  • how you can build a REST API without worrying about servers, using AWS API Gateway
  • to set up your on-demand code via AWS Lambda
  • how to execute that Lambda code whenever incoming requests reach your defined REST endpoints
  • how you can store data in a database – naturally without managing any database servers!

We won’t stop there though! Instead, you’ll then dive even deeper into serverless computing and learn:

  • how you can add user authentication to your existing frontend apps and how you can then also protect your REST API against unauthenticated access with ease!
  • how you can easily integrate a complete user sign up & sign in flow (including user confirmation) into ANY app (web app, iOS or Android app!) with AWS Cognito
  • how to deploy your web app in a serverless manner
  • how to speed up the delivery of your static web app assets
  • how to secure your serverless app
  • what else you can build with the services covered in this course and which other services might be interesting to you
  • where to dive deeper regarding advanced development workflows
  • and much more!
Table of Contents

Getting Started
1 How to use the File Downloads
2 AWS – A Closer Look (Optional)
3 Does AWS Cost Money
4 Introduction
5 What is AWS
6 What is Serverless Development
7 AWS Signup & First Serverless API
8 Why AWS
9 Course Structure
10 How to get the Most out of this Course

The Core Serverless Services
11 More Info about the Core Services
12 The Course Project
13 Module Introduction
14 An Overview over the Core Serverless Services

Creating an API with API Gateway & AWS Lambda
15 AWS Lambda Useful Resources & Links
16 Improved Lambda Console
17 Lambda Pricing & Uploading Code
18 Time to Practice – API Gateway + Lambda Basics
19 Understanding Body Mapping Templates
20 API Gateway Useful Resources & Links
21 Understanding JSON Schemas
22 Time to Practice – Models and Mappings
23 What about Query Parameters
24 Understanding AWS Permissions (IAM)
25 Module Introduction
26 What is API Gateway
27 Accessing the API Gateway Console
28 General API Gateway Features
29 API-specific Features & Options
30 Introducing the Request-Response Cycle
31 Understanding the Request-Response Cycle
32 Creating a New API
33 Creating a Resource (= URL Path)
34 Handling CORS and the OPTIONS Preflight Request
35 Creating a (HTTP) Method
36 What is AWS Lambda
37 Creating a Lambda Function
38 Connecting Lambda Functions to API Gateway Endpoints
39 Accessing the API from the Web & Fixing CORS Issues
40 Understanding event in Lambda Functions
41 Forwarding Requests with Proxy Integration
42 Accessing Lambda Logs
43 Getting Started with Body Mapping Templates
44 Extracting Request Data with Body Mapping Templates
45 What’s the Idea behind Body Mappings
46 Mapping Response Data
47 Using Models & Validating Requests
48 Models & Mappings
49 Next Steps
50 Adding a DELETE Method Endpoint to the API
51 Using Path Parameters
52 Accessing the API from the Web – The Right Way
53 Wrap Up

Data Storage with DynamoDB
54 Giving Lambda Logging Rights
55 AWS DynamoDB Useful Resources & Links
56 DynamoDB Concepts
57 Module Introduction
58 What is DynamoDB
59 How DynamoDB Organizes Data
60 NoSQL vs SQL
61 Using DynamoDB with Lambda
62 Creating a Table in DynamoDB
63 Understanding Read & Write Capacity
64 Creating and Scanning Items
65 What about multiple Databases
66 Accessing DynamoDB from Lambda
67 Sidenote How Lambda works behind the Scenes
68 Putting Items into a DynamoDB Table from Lambda
69 Setting Permissions Right
70 Using API Gateway (Request) Data for Item Creation
71 Mapping the Response & Web Testing
72 Scanning Data in DynamoDB from Lambda
73 Improving the IAM Permissions
74 Restructuring Fetched Data in Lambda
75 Getting a Single Item from DynamoDB via Lambda
76 Testing it from the Web & Passing Correct Data
77 Preparing Delete Permissions
78 Deleting Items in DynamoDB via Lambda
79 Mapping DynamoDB Responses
80 Wrap Up

Authenticating Users with Cognito and API Gateway Authorizers
81 AWS Cognito Useful Resources & Links
82 The Example Web App, Angular and TypeScript
83 Using Cognito in iOS or Android Apps
84 More on the Cognito Identity Service Provider
85 Custom Authorizers Provided Input & Expected Output
86 MUST READ New UI for setting up Custom Authorizers
87 Module Introduction
88 How to add Authorization to API Gateway
89 Understanding Custom Authorizers (API Gateway)
90 Creating a Custom Authorizer Function
91 Using Custom Authorizers
92 Retrieving Users from Custom Authorizers
93 What is AWS Cognito
94 Cognito User Pools and Federated Identities
95 Creating a Cognito User Pool
96 Understanding the Cognito Auth Flow
97 Adding Cognito to a Frontend App – Getting Started
98 Adding Signup to the Frontend App
99 Adding User Confirmation to a Frontend App
100 Adding Signin to a Frontend App
101 Managing User State with Cognito
102 Using a Cognito Authorizer with API Gateway
103 Passing the right User ID to Lambda
104 Using Query Params & Cognito from Lambda
105 Passing Query Params from the Frontend
106 Passing the User Id to the DELETE Endpoint
107 Wrap Up

Hosting a Serverless SPA
108 AWS Route53 Useful Resources & Links
109 AWS S3 Useful Resources & Links
110 AWS CloudFront Useful Resources & Links
111 Module Introduction
112 What is S3
113 Creating a S3 Bucket
114 Uploading the Web App to the Bucket
115 Turning a S3 Bucket into a Static Webserver
116 Setting up Logging
117 Optimizing Content Delivery What is AWS CloudFront
118 Setting up a CloudFront Distribution
119 Finishing the CloudFront Setup
120 Using a Custom Domain What is Route53
121 Registering a Domain
122 Connecting a Domain to a CloudFront Distribution
123 Wrap Up

Beyond the Basics – An Outlook
124 More about the Serverless Framework
125 More about the Serverless Application Model (SAM)
126 Useful Resources & Links
127 Learn more about AWS Serverless + Express Apps
128 Other AWS Lambda Triggers
129 Going Serverless with a Node Express App (Non-API!)
130 Running Node Express Apps via Lambda + API Gateway
131 Pros and Cons of Serverless NodeExpress MPA
132 Serverless Apps and Security
133 A Case of a Better Development Workflow
134 Getting to know the Serverless Framework
135 Getting to know SAM (Serverless Application Model) by AWS
136 Testing Serverless Apps with localstack
137 Other useful AWS Services
138 Wrap Up
139 Module Introduction
140 Documenting an API

Course Roundup
141 Roundup