Video description
In this course, you will learn AWS event-driven serverless microservices using AWS Lambda, AWS DynamoDB, AWS API Gateway, AWS EventBridge, AWS SQS, AWS CDK for IaC, and AWS CloudWatch for monitoring. You will learn to develop reliable and scalable serverless applications, following the microservices architecture.
You will use AWS API Gateway for Restful API-driven development and synchronous event sources, AWS EventBridge for event-driven asynchronous communication between microservices, and AWS SQS for decoupling microservices and processing events asynchronously using queues. The project of building an e-commerce application will be totally serverless components. The serverless components that will be used are API Gateway, Product Lambda microservices, Basket Lambda microservices, and AWS EventBridge.
There will be three communication types: synchronous communication with AWS API Gateway, asynchronous communication with AWS serverless EventBus, which is EventBridge, and event source mapping communication when polling queue records from Lambda services to AWS SQS-Simple Queue Service. Finally, you will use AWS CDK for IaC Serverless Stacks developments that we will develop and provision for all services.
By the end of this course, you will learn how to design and develop AWS event-driven microservices using serverless patterns and best practices.
What You Will Learn
- Create rules and target definitions for AWS EventBridge
- Build REST API and CRUD endpoints using AWS Lambda, API Gateway
- Work on data persistence using AWS DynamoDB
- Decouple microservices with events using AWS EventBridge
- Message queues for cross-service communication using AWS SQS
- Work on cloud stack development with IaC using AWS CloudFormation CDK
Audience
This course is ideal for software developers who want to develop real-world projects with AWS serverless services and software/solutions architects who want to develop real-world projects with AWS serverless services. Students who would be appearing for the AWS Certified Developer Associate and AWS Certified Solutions Architect Associate will also be benefitted from this course.
You would need a basic knowledge of cloud, JavaScript, and TypeScript to get started with the course. Basic knowledge of using an AWS account is a plus but not mandatory.
About The Author
Mehmet Ozkaya: Mehmet Ozkaya is a software/solutions architect with over fifteen years of experience working with software companies around the world. He is now concentrating on cloud-native and serverless event-driven microservices architectures on AWS and .NET ecosystems.
He enjoys delivering online courses about designing software architecture for cloud-native and serverless event-driven microservices. He routinely contributes to GitHub and blogs on Medium.He enjoys delivering online courses about Designing Software Architecture for Cloud-Native and Serverless Event-driven Microservices. He routinely contirbutes to GitHub and blogs on Medium.
Table of contents
-
Chapter 1 : Introduction to the Course
- Introduction
- Final Application – Serverless Event-Driven E-Commerce Application
- Project Code Structure
- AWS Cost Management During the Course
- Course Structure and Way of Learning
- AWS Lambda Invocation Types
- Our Serverless Journey with AWS Lambda Invocation Types
- Serverless Explained: AWS Operational Responsibility Model
- AWS Serverless Services for Microservices Architectures
- Chapter 2 : Project Code and Course Slides
- Chapter 3 : Create AWS Account – Free Tier
- Chapter 4 : Developing Our First Lambda Function
- Chapter 5 : Architecture Recap: Event-Driven Microservices Architectures
- Chapter 6 : Thinking AWS Serverless for Event-Driven Microservices Architecture
-
Chapter 7 : API Gateway RESTful API Development with Synchronous Lambda Event Sources
- Introduction to the Section
- What Is Amazon API Gateway?
- Architecture of API Gateway
- Main Features of API Gateway
- Amazon API Gateway Use Cases
- API Gateway as a Lambda Synchronous Event Sources
- Amazon API Gateway Core Concepts
- Amazon API Gateway - Differences Between REST - HTTP API
- Amazon API Gateway Walkthrough with AWS Management Console
- Chapter 8 : Building Microservices with AWS Lambda for Synchronous API-Driven Event Sources
- Chapter 9 : AWS DynamoDB Serverless NoSQL Data Persistence
- Chapter 10 : Building RESTful Microservices with AWS Lambda, API Gateway, and DynamoDB
-
Chapter 11 : AWS Serverless Deployments IaC with AWS CDK (Cloud Development Kit)
- Introduction to the Section
- What Is IaC - Infrastructure as Code
- AWS Cloud Formation
- AWS CDK - Cloud Development Kit
- AWS CDK Core Concepts - Apps - Stacks - Constructs - Environments
- AWS Solutions Constructs with Levels L1 - L2 - L3 Pattern Construct
- AWS CDK Lifecycle
- CDK Serverless Patterns with Solution Constructs
- Serverless + CDK Automation + Integration Patterns = AWSome Microservices
- CDK - Hands-On IaC Development
- Chapter 12 : Prerequisites and Tools for Developing Serverless Applications on AWS
-
Chapter 13 : Getting Started with AWS CDK by Developing Our First CSK Application
- Introduction to the Section
- Creating AWS CDK Application for IaC
- Building AWS CDK Application for IaC
- Explore CDK Project Directory
- Run CDK Commands on VS Code - Set-ExecutionPolicy RemoteSigned
- CDK Commands Overview
- Bootstrapping CDK Stack
- Developing Our AWS CDK App–Part 1
- Deploying Our AWS CDK App - Part 2
- Modifying Our AWS CDK App
- Deploying Our Modified AWS CDK App
- Don't Forget - Destroying Our AWS CDK App
- CDK Template Application Types
- CDK sample-app Template
-
Chapter 14 : API Gateway-Lambda Synchronous RESTful Microservices with CDK
- Introduction to the Section
- Create a New Project for API Gateway-Lambda Synchronous Microservices with CDK
- Developing Lambda Handler Code
- Developing Infrastructure with CDK - Create Lambda Function and API Gateway – Part 1
- Testing Infrastructure with CDK
- Developing Infrastructure with CDK - Create Lambda Function and API Gateway – Part 2
- Testing Infrastructure with CDK
- Don't Forget - Destroying Our AWS CDK App
- Chapter 15 : Creating Our E-Commerce Serverless Microservices Project with CDK
- Chapter 16 : Understanding Our E-Commerce Domain
-
Chapter 17 : Code Structure of E-Commerce Serverless Microservices Project in CDK
- Introduction to the Section
- Monorepo - What Is Monorepo and How Can We Use Monorepo?
- Code Structure for Our Application Architecture with CDK
- IaC Development with AWS CDK for Our Application Architecture
- Writing L3 Constructs and Construct Tree on AWS CDK
- AWS CDK (IaC) Versus AWS SDK (Microservices)
-
Chapter 18 : Creating Product Microservices Serverless CRUD REST API Infrastructure with CDK
- Introduction to the Section
- Creating DynamoDB Database for Product Microservices with AWS CDK
- How to Know AWS CDK Construct Classes and Write Better IaC with AWS CDK
- Creating Lambda Function for Product Microservices with AWS CDK
- Implement Lambda Function Code for Product Microservices
- Creating API Gateway for Product Microservices with AWS CDK
- Deploy and Testing Serverless Product Microservices Sync Flow – Part 1
- Prerequisites 6 - Docker Desktop - Bundling Lambda Function with Libraries
- Deploying and Testing Serverless Product Microservices Sync Flow – Part 2
- Prerequisites 7 - Postman - Test and Manage API Gateway API Methods
- Testing Product Microservices Sync Flow; API Gateway - Lambda - DynamoDB
- Don't Forget - Destroying Our AWS CDK App
-
Chapter 19 : Developing Product Lambda Microservices CRUD Functions with AWS SDK
- Introduction to the Section
- AWS CDK (IaC) Versus AWS SDK (Microservices)
- AWS SDK for JavaScript Version 3 and Lambda Interactions
- Start Developing Product Lambda Microservice - Install npm Package - @aws-sdk
- Developing Product Lambda Microservice with DynamoDB Client – AWS SDK for JS v3
- AWS API Gateway Trigger AWS Lambda with API Gateway Proxy Event (REST API)
- Developing Product Lambda Microservice with DynamoDB Client - AWS SDK for JS v3
- Understanding DynamoDB Interactions - Working with Items and Attributes
- Developing getProduct Methods for Product Lambda Microservice with DynamoDB
- Developing getAllProducts Methods for Product Lambda Microservice with DynamoDB
- Developing createProduct CRUD Methods for Product Lambda Microservice with Dyndb
- Using uuid Library When Creating Product Item in DynamoDB
- Developing deleteProduct CRUD Methods for Product Lambda Microservice with Dyndb
- Developing updateProduct CRUD Methods for Product Lambda Microservice with Dyndb
- Developing DynamoDB Query and Scan Operations for Product Lambda Microservice
- Developing Return Response of Product Lambda Microservice and Manage Switch Code
- Overview Product Lambda Microservice Developments
- Deploy and Test Serverless Product Microservices Sync Flow
- Create Postman Collection to Manage Product ApiGateway APIs
- Testing Product Microservices Sync Flow; API Gateway - Lambda - DynamoDB
- Environment Variable of Postman Collection - Best Practice Provisioned API URLs
- Don't Forget - Destroying Our AWS CDK App
-
Chapter 20 : Organize Infrastructure Code with Creating Solution Constructs on AWS CDK
- Introduction - CDK Code Refactoring with Constructs -Creating Solution Construct
- Create Database Infrastructure Solution Construct for Our E-Commerce Serverless App
- Create Microservices Lambda Infrastructure Solution Construct for Our E-Commerce App
- Create API Gateway Infrastructure Solution Construct for Our E-Commerce Serverless App
- Deploying and Testing Serverless Product Microservices Sync Flow
- Don't Forget - Destroying Our AWS CDK App
-
Chapter 21 : Creating Basket Microservices Infrastructure with AWS CDK – Add to Basket Case
- Introduction to the Section
- Analyzing Basket Microservices Use Cases for Our E-Commerce Serverless App
- Creating DynamoDB Database for Basket Microservices with AWS CDK
- Refactoring database.ts Infrastructure File
- Creating Lambda Function for Basket Microservices with AWS CDK
- Implement Lambda Function Code for Basket Microservices
- Creating API Gateway for Basket Microservices with AWS CDK
- Deploying and Testing Serverless Basket Microservices AddtoBasket Sync Flow
- Set Basket Microservices APIs in Postman Collection and Testing Basket Microserv
- Don't Forget - Destroying Our AWS CDK App
-
Chapter 22 : Developing Basket Lambda Microservices Functions with AWS SDK
- Introduction to the Section
- Start to Developing Basket Lambda Microservice - Install npm Package - @aws-sdk
- Developing Basket Lambda Microservice with DynamoDB Client - AWS SDK for JS v3 – Part 1
- Developing Basket Lambda Microservice with DynamoDB Client - AWS SDK for JS v3 – Part 2
- Developing getBasket Methods for Basket Lambda Microservice with DynamoDB Client
- Developing getAllBaskets Methods for Basket Lambda Microservice with DynamoDB
- Developing createBasket Methods for Basket Lambda Microservice with DynamoDB
- Developing deleteBasket CRUD Method for Basket Lambda Microservice with DynamoDB
- Overview Basket Lambda Microservice Developments
- Deploy and Test Serverless Basket Microservices Sync Flow
- Testing Serverless Basket Microservices Add or Remove Basket Sync Flow
- Don't Forget - Destroying Our AWS CDK App
-
Chapter 23 : AWS EventBridge for Decouple Microservices with Event-Driven Architecture
- Introduction to the Section
- Asynchronous Event Sources - Lambda Invocation Types
- What Is Amazon EventBridge?
- Benefits of Amazon EventBridge
- How Amazon EventBridge Works?
- Amazon EventBridge Core Concepts - Events - Event Buses - Rules - Targets
- Serverless Pattern: Fan-Out and Message Filtering with Publish/Subscribe Pattern
- Using AWS Lambda with Other Services - Amazon EventBridge
- Amazon EventBridge Walkthrough with AWS Management Console
-
Chapter 24 : Creating AWS EventBridge EventBus Infrastructure with AWS CDK – Checkout Basket
- Introduction to the Section
- Analyzing AWS EventBridge and Checkout Basket Async Flow Use Cases for Decouple
- Creating AWS EventBridge for Decoupling Microservices with AWS CDK
- Creating Custom EventBus Construct for AWS EventBridge with AWS CDK
- Using Custom EventBus Construct in Main Stack with AWS CDK
-
Chapter 25 : Creating Ordering Microservices Infrastructure with AWS CDK
- Introduction to the Section
- Analyzing Ordering Microservices Use Cases for Our E-Commerce Serverless App
- Creating DynamoDB Database for Ordering Microservices with AWS CDK
- Creating Lambda Function for Ordering Microservices with AWS CDK
- Implement Lambda Function Code for Ordering Microservices
- Creating API Gateway for Ordering Microservices with AWS CDK
- Fix Custom EventBus Target Function Parameter Error
- Deploying and Testing Serverless Ordering Microservices with AWS EventBridge Custom
- Test Custom Event Bus of AWS EventBridge Using Put-Event Method
- Set Ordering Microservices APIs in Postman Collection and Testing Ordering MS
- Don't Forget - Destroying Our AWS CDK App
-
Chapter 26 : Develop Checkout Basket for Send Event to AWS EventBridge from Basket with SDK
- Introduction to the Section
- Start Developing Checkout Basket Function - Install npm Package - @aws-sdk
- Developing Checkout Basket Function with EventBridge Client - AWS SDK for JS v3
- Analyzing Checkout Basket Function in Basket Microservices
- Breakdown Methods to Checkout Basket Function with EventBridge Client - AWS SDK
- Developing "getBasket" of Checkout Basket Function with EventBridge Client
- Developing "prepareOrderPayload" of Checkout Basket Function with EventBridge
- Developing "publishCheckoutBasketEvent" of Checkout Basket Function with EventBrg
- Set Environment Variables for EventBridge Entry Parameters When Publish Checkout
- Developing "deleteBasket" of Checkout Basket Function with EventBridge Client
- Deploying and Testing Serverless Basket Microservices CheckoutBasket EventBridge
- Testing Serverless Basket Microservices CheckoutBasket EventBridge Async Flow
- Don't Forget - Destroying Our AWS CDK App
-
Chapter 27 : Develop Ordering Microservice Consume Checkout Event from AWS EventBridge with SDK
- Introduction to the Section
- Start Developing Ordering Lambda Microservice - Install npm Package -@aws-sdk
- Developing Ordering Lambda Microservice with DynamoDB Client - AWS SDK for JS v3
- Catch and Process Async EventBridge Invocation and Sync API Gateway Invocation
- Developing Event Bridge Async Invocation of Ordering Lambda Microservice
- Chapter 28 : Developing Ordering Microservice Sync Invocation from API Gateway with AWS SDK
- Chapter 29 : E2E Testing Basket and Ordering Microservices Sync and Async Invocations
-
Chapter 30 : AWS SQS for Event-Driven Architecture with Queues
- Introduction to the Section
- Polling Events and Event Source Mappings - Lambda Invocation Types
- What Is Amazon SQS?
- Benefits of Amazon SQS
- Amazon SQS Architecture and How SQS Works - The Lifecycle of an Amazon SQS Queue
- Amazon SQS Visibility Timeout
- Amazon SQS Short and Long Polling
- Amazon SQS Dead-Letter Queues
- Amazon SQS Queue Types - Standard Queues and FIFO Queues
- Serverless Pattern: Topic-Queue Chaining and Load Balancing Pattern
- Using AWS Lambda with Other Services - Amazon SQS
- AWS SQS Walkthrough Step-by-Step Tutorial over Console
-
Chapter 31 : Creating AWS SQS Queue Infrastructure with AWS CDK – Polling Checkout Basket
- Introduction to the Section
- Analyzing AWS SQS and Polling Checkout Basket Event with Event Source Mappings
- Creating AWS SQS with AWS CDK
- Creating Custom Queue Construct for AWS SQS with AWS CDK
- Using Custom Queue Construct in Main Stack with AWS CDK
- Change Target Service of AWS Event Bridge Custom EventBus
- Chapter 32 : Developing AWS SQS Event Source Mapping Polling Invocation from Ordering with SDK
- Chapter 33 : E2E Testing Basket and Ordering Microservices Event Source Mapping Polling
- Chapter 34 : What Next – AWS Step Functions for Orchestration Order Fulfilment
- Chapter 35 : Thanks
Product information
- Title: AWS Serverless Microservices with Patterns and Best Practices
- Author(s):
- Release date: November 2022
- Publisher(s): Packt Publishing
- ISBN: 9781804611203
You might also like
book
Serverless Development on AWS
The adoption of serverless is on the rise, but until now, little guidance has been available …
book
Serverless Architectures on AWS, Second Edition
Design low-maintenance systems using pre-built cloud services! Bring down costs, automate time-consuming ops tasks, and scale …
book
Learn Microservices with Spring Boot: A Practical Approach to RESTful Services Using an Event-Driven Architecture, Cloud-Native Patterns, and Containerization
Build Java-based microservices architecture using the Spring Boot framework by evolving an application from a small …
book
The Definitive Guide to AWS Application Integration: With Amazon SQS, SNS, SWF and Step Functions
Build reliable, asynchronous, and distributed applications using message queuing and task orchestration capabilities of Amazon Web …