Introduction
Introduction to the course
()
What you should know
()
Outlining our projects
()
1. Introduction to AWS CDK
The importance of infrastructure as code
()
Understanding AWS CDK
()
Advantages of AWS CDK
()
Installing and configuring AWS CDK
()
Building your first project with AWS CDK
()
Creating and deploying a Lambda function with API Gateway using CDK
()
Challenge: Add and test a function with API to your project
()
Solution: Add and test a function with API to your project
()
2. Hosting a Static Website with Serverless
Comparing options for hosting a website in AWS
()
Introduction to AWS Amplify
()
Host a simple React app using AWS Amplify from the console
()
Benefits of creating Amplify Infrastructure with AWS CDK
()
Modify the client app to be hosted in Amplify
()
Create AWS Amplify infrastructure with AWS CDK
()
Deploy and test Ampllify infrastructure
()
Challenge: Modify and deploy your Web app
()
Solution: Modify and deploy your Web app
()
Progress check: Hosting a static site
()
3. Authentication
Introduction to authentication and authorization for web apps
()
Introduction to AWS Cognito
()
Creating Cognito resources with AWS CDK
()
AWS CDK passing values between stacks
()
Deploying and verifying resources in the AWS console
()
Adding authentication
()
Deploying and testing the web page
()
Challenge: Add Login functionality
()
Solution: Add Login and log out functionality
()
Progress check: Authentication
()
4. WebApps with RESTful APIs
When to use RESTful vs. GraphQL APIs
()
Understanding Amazon API Gateway
()
Creating a simple API Gateway with Lambda using AWS CDK
()
Deploying and testing your API gateway
()
Introduction to DynamoDB
()
Building simple business logic
()
Build more advance business logic
()
Deploy and test your backend
()
Integrating the APIs into the webapp
()
Challenge: Extend your API
()
Solution: Extend your API
()
Progress Check: WebApps with RESTful APIs
()
5. API Gateway Authorizers
Introduction to JWT tokens
()
API gateway authorizers
()
Create an API with a Cognito Authorizer
()
Using JWT in the WebApp
()
Getting user data from Lambda
()
Challenge: Add an API with an authorizer
()
Solution: Add an API with an authorizer
()
Progress Check: API gateway authorizers
()
6. Web Apps with GraphQL APIs
Introduction to GraphQL
()
Introduction to AppSync
()
Challenge: Create a cognito userpool, client and identity pool
()
Solution: Create a cognito userpool, client and identity pool
()
Challenge: Host the test WebApp with Amplify
()
Solution: Host the test WebApp with Amplify
()
Challenge: Add authentication using cognito to the webapp
()
Solution: Add authentication using cognito to the webapp
()
Amplify GraphQL Directives
()
Create the GraphQL Schema
()
Creating a simple API with AppSync and AWS CDK
()
Deploying and testing your AppSync API
()
Integrating the API into your webapp
()
Adding a function as a datasource
()
Challenge: Integrating the new function in the front end
()
Solution: Integrating the new function in the frontend
()
Progress check: Web Apps with GraphQL APIs
()
7. Migrating an Existing Web App to Lambda
Migrating to a serverless architecture
()
Challenges of migrating to serverless
()
Lambda Functions URL
()
Challenge: Create a new Lambda function
()
Solution: Create a new Lambda function
()
Creating a function URL
()
Introduction to Lambda Web Adapter
()
Lift and shift an existing webapp with Lambda web adapter
()
Understand Lambda scaling for syncronous invocations
()
Running load tests to understand how our web app performs
()
Progress check: Migrating an existing web app to lambda
()
8. Migrating an Existing Web App to Serverless containers
Serverless containers
()
AWS AppRunner
()
Creating the infrastructure for AWS AppRunner
()
Deploying an app using AppRunner
()
Testing an App Runner app
()
Challenge: Enhance your Node.js app
()
Solution: Enhance your Node.js app
()
Conclusion
Cleaning up resources and configurations
()
Learning more about serverless
()