MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.
Building brand new applications on AWS is a different task than lifting and shifting existing applications into AWS. When you have an existing application that you need to move to AWS, you might first look to using Amazon EC2 as your virtual machines, or maybe you might look into using docker containers and container hosting services like Amazon Elastic Container Service or Amazon Elastic Kubernetes Service. Those are all great application hosting options, but in most cases, they still require you to have some kind of pulse on the underlying infrastructure hosting your application.
In this class, we will explore how to build an API driven application using Amazon API Gateway for serverless API hosting, AWS Lambda for serverless compute, and Amazon Cognito for serverless authentication. We will follow an API driven development process and first mock up what the API will look like. We will cover all the ins and outs of the service Amazon API Gateway, and as you’ll learn- it does a lot more than just hosting an API.
Then we will add authentication to the API using Amazon Cognito. You’ll learn about how the authorization flow works with cognito, and how to build it into your APIs. From there, we will add a Lambda backend that will be triggered by API Gateway. The lambda functions will be using the AWS SDKs to perform various data processing tasks. You’ll learn about the different configurations that exist for Lambda, and we will show you how to create and manage lambda functions. Some of the features of our API will require multiple lambda functions to execute in a specific order, like a workflow, and we will use AWS Step Functions to create a serverless workflow. Finally, we will talk about how to optimize your APIs at every layer using AWS features.
What you'll learn
- How to build a modern, greenfield serverless backend on AWS
- How to build an API driven application using Amazon API Gateway for serverless API hosting
- How to build an API driven application using AWS Lambda for serverless compute
- How to build an API driven application using Amazon Cognito for serverless authentication
Prerequisites:
We expect that you have basic knowledge of AWS already. Some examples of concepts you should be familiar with are: you should know the basics of the AWS Global infrastructure, like what regions and availability zones are. You also should know the at a high-level AWS Identity and Access Management, or IAM, and how it is used to control access to AWS resources. You should also understand what an Amazon EC2 instance is, what Amazon S3 is, what a VPC is, as well as other basic AWS terminology.
Syllabus
Week 1
Architecting for the Cloud
What we are building
Introduction to AWS Cloud9
AWS Command Line Interface (CLI) and Application Programming Interfaces (APIs)
AWS APIs
AWS CLI
Section Reading
AWS SDK Exploration (Node)
AWS Credentials in Cloud9
Introduction to the Serverless Application Model (SAM)
AWS Toolkit for (Cloud9/IntelliJ/PyCharm)
Section Reading
Quiz
Lab 1: Create a static website in Amazon S3
Week 2
Introduction to API Driven Design
API driven development
What is Amazon API Gateway?
Amazon API Gateway terminology
Section Readings
Models and Mapping
Creating an API with Mock integration
Using Mappings
Using Models
Section Readings
Publish API
Using Postman to create requests
Section Readings
Lab 2: API
API Authentication
Introduction to Amazon API Gateway authentication
Amazon API Gateway access controls
Amazon API Gateway authentication and authorization mechanisms
Amazon Cognito
Introduction to Amazon Cognito
Using Amazon Cognito to sign in and call Amazon API Gateway
Section Readings
Quiz
Lab 3 Cognito
Week 3
Serverless Computing and AWS Lambda
Introduction to AWS Lambda
AWS Lambda Execution
AWS Lambda permisions
Section Readings
Triggers, Push, Pull model
AWS Lambda execution context and reuse
AWS Lambda Compliance
Asynchronous vs Synchronous Responses
Section Readings
Versions and Aliases
Creating a lambda function using the AWS CLI
Creating and Debugging a AWS Lambda Function using the AWS Toolkit
Section Readings
Lab 4: AWS Lambda
Quiz
Week 4
Orchestration
Creating a serverless workflow
Introduction to AWS Step Functions
Step Functions API exploration
Step Function State types
Section Readings
Step Function Service Integrations
Amazon API Gateway and Step function Integration
Callback patterns
Step Function Activities
Standard vs Express Step functions
Section Readings
Other Orchestration and messaging Services
Event Driven Architectures
SQS, SNS, EventBridge
Section Reading
Lab 5: Process
Quiz
Week 5
Observability
Introduction to Observability
Introduction to Amazon X-Ray
X-Ray, API Gateway, and Lambda
Using the AWS X-Ray SDK with (Node)
Section Readings
API Gateway and Lambda Logs
Amazon CloudWatch Logs integration with API Gateway, Step Functions, and Lambda
Configuring CloudWatch Logs in API Gateway, Step Functions, and Lambda
Section Readings
Quiz
Week 6
Optimization
Introduction to edge-optimized endpoints
API Gateway Response caching
Lambda at the Edge
Section Readings
Lambda Performance
Lambda Layers
Lambda best practices
Section Readings
API Gateway optimization
API Gateway Proxy for AWS APIs
API Gateway HTTP APIs
Section Readings
Lab 6: Optimizing
Quiz
Course Wrap-up
Final Readings
Final Assessment
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.