AWS Serverless APIs & Apps - A Complete Introduction

Video description

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:

  • To build a REST API without worrying about servers, using AWS API Gateway
  • Set up your on-demand code via AWS Lambda
  • Execute Lambda code whenever incoming requests reach your defined REST endpoints
  • Store data in a database - naturally without managing any database servers!

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

  • To 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
  • Deploy your web app in a serverless manner
  • Speed up the delivery of your static web app assets

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 were to dive deeper regarding advanced development workflows.

What You Will Learn

  • Build, secure and run APIs without managing any servers using AWS API Gateway and Lambda
  • Host SPAs without managing any servers
  • Add user authentication to serverless applications
  • Run code on-demand in the cloud

Audience

Anyone who's interested in focusing on the core business logic instead of the infrastructure needed to run an API and/ or SPA. Anyone who wants to use modern techniques to create highly scalable and extremely cost-efficient web apps. Anyone who works with APIs and/ or SPAs on a regular basis and wants to learn how to create flexible and cost-effective web apps. Every developer who loves the "Dev" in "DevOps" but would be happy to make the "Ops" part easier.

About The Author

Academind by Maximilian Schwarzmüller:

Academind GmbH

Bundling the courses and the knowledge of successful instructors, Academind strives to deliver high-quality online education. The platform covers topics such as web development, data analysis, and more in a fun and engaging way.

Maximilian Schwarzmüller

Since the age of 13, he has never stopped learning new programming skills and languages. In his early days, he started creating websites simply for fun. This passion has remained and shaped his decision to work as a freelance web developer and consultant. Although he started web development on the backend (PHP with Laravel and NodeJS), he has progressed to becoming a front-end developer using modern frameworks such as React, Angular, and VueJS 2 in many projects.

The most rewarding experience for him is to see how people find new and better jobs, build exciting web applications, acquire amazing projects, or simply enjoy their hobby with the help of his content.

Table of contents

  1. Chapter 1 : Getting Started
    1. Introduction
    2. What is AWS?
    3. What is Serverless Development?
    4. AWS Signup First Serverless API
    5. Why AWS?
    6. Course Structure
    7. How to get the Most out of this Course
  2. Chapter 2 : The Core Serverless Services
    1. Module Introduction
    2. An Overview over the Core Serverless Services
    3. The Course Project
  3. Chapter 3 : Creating an API with API Gateway AWS Lambda
    1. Module Introduction
    2. What is API Gateway?
    3. Accessing the API Gateway Console
    4. General API Gateway Features
    5. API-specific Features Options
    6. Introducing the Request-Response Cycle
    7. Understanding the Request-Response Cycle
    8. Creating a New API
    9. Creating a Resource (= URL Path)
    10. Handling CORS and the OPTIONS Preflight Request
    11. Creating a (HTTP) Method
    12. What is AWS Lambda?
    13. Creating a Lambda Function
    14. Connecting Lambda Functions to API Gateway Endpoints
    15. Accessing the API from the Web Fixing CORS Issues
    16. Understanding "event" in Lambda Functions
    17. Forwarding Requests with "Proxy Integration"
    18. Accessing Lambda Logs
    19. Getting Started with Body Mapping Templates
    20. Extracting Request Data with Body Mapping Templates
    21. What's the Idea behind Body Mappings?
    22. Mapping Response Data
    23. Using Models Validating Requests
    24. Models Mappings
    25. Next Steps
    26. Adding a DELETE Method Endpoint to the API
    27. Using Path Parameters
    28. Accessing the API from the Web - The Right Way
    29. Wrap Up
  4. Chapter 4 : Data Storage with DynamoDB
    1. Module Introduction
    2. What is DynamoDB?
    3. How DynamoDB Organizes Data
    4. NoSQL vs SQL
    5. Using DynamoDB with Lambda
    6. Creating a Table in DynamoDB
    7. Understanding Read Write Capacity
    8. Creating and Scanning Items
    9. What about multiple Databases?
    10. Accessing DynamoDB from Lambda
    11. Sidenote: How Lambda works behind the Scenes
    12. Putting Items into a DynamoDB Table from Lambda
    13. Setting Permissions Right
    14. Using API Gateway (Request) Data for Item Creation
    15. Mapping the Response Web Testing
    16. Scanning Data in DynamoDB from Lambda
    17. Improving the IAM Permissions
    18. Restructuring Fetched Data in Lambda
    19. Getting a Single Item from DynamoDB via Lambda
    20. Testing it from the Web Passing Correct Data
    21. Preparing "Delete" Permissions
    22. Deleting Items in DynamoDB via Lambda
    23. Mapping DynamoDB Responses
    24. Wrap Up
  5. Chapter 5 : Authenticating Users with Cognito and API Gateway Authorizers
    1. Module Introduction
    2. How to add Authorization to API Gateway
    3. Understanding Custom Authorizers (API Gateway)
    4. Creating a Custom Authorizer Function
    5. Using Custom Authorizers
    6. Retrieving Users from Custom Authorizers
    7. What is AWS Cognito?
    8. Cognito User Pools and Federated Identities
    9. Creating a Cognito User Pool
    10. Understanding the Cognito Auth Flow
    11. Adding Cognito to a Frontend App - Getting Started
    12. Adding Signup to the Frontend App
    13. Adding User Confirmation to a Frontend App
    14. Adding Signin to a Frontend App
    15. Managing User State with Cognito
    16. Using a Cognito Authorizer with API Gateway
    17. Passing the right User ID to Lambda
    18. Using Query Params Cognito from Lambda
    19. Passing Query Params from the Frontend
    20. Passing the User Id to the DELETE Endpoint
    21. Wrap Up
  6. Chapter 6 : Hosting a Serverless SPA
    1. Module Introduction
    2. What is S3?
    3. Creating a S3 Bucket
    4. Uploading the Web App to the Bucket
    5. Turning a S3 Bucket into a Static Webserver
    6. Setting up Logging
    7. Optimizing Content Delivery: What is AWS CloudFront?
    8. Setting up a CloudFront Distribution
    9. Finishing the CloudFront Setup
    10. Using a Custom Domain: What is Route53?
    11. Registering a Domain
    12. Connecting a Domain to a CloudFront Distribution
    13. Wrap Up
  7. Chapter 7 : Beyond the Basics - An Outlook
    1. Module Introduction
    2. Documenting an API
    3. Other AWS Lambda Triggers
    4. Going Serverless with a Node/ Express App (Non-API!)
    5. Running Node/ Express Apps via Lambda + API Gateway
    6. Pros and Cons of Serverless Node/Express MPA
    7. Serverless Apps and Security
    8. A Case of a Better Development Workflow
    9. Getting to know the Serverless Framework
    10. Getting to know SAM (Serverless Application Model) by AWS
    11. Testing Serverless Apps with localstack
    12. Other useful AWS Services
    13. Wrap Up
  8. Chapter 8 : Course Roundup
    1. Roundup

Product information

  • Title: AWS Serverless APIs & Apps - A Complete Introduction
  • Author(s): Academind by Maximilian Schwarzmüller
  • Release date: October 2018
  • Publisher(s): Packt Publishing
  • ISBN: 9781789954340