aws-microservices
aws-microservices copied to clipboard
AWS Serverless Event-driven Microservices with using AWS Lambda, AWS DynamoDB, AWS API Gateway, AWS EventBridge, AWS SQS, AWS CDK stands for Cloud Development Kit for IaC — Infrastructure as Code tool...
Serverless Event-driven E-commerce Microservices
UDEMY COURSE WITH DISCOUNTED - Step by Step Development of this Repository -> https://www.udemy.com/course/aws-serverless-microservices-lambda-eventbridge-sqs-apigateway/?couponCode=JUNE24
This is a Serverless Event-driven E-commerce project for TypeScript development with CDK.
The cdk.json
file tells the CDK Toolkit how to execute your app.
Check Explanation of this Repository on Medium
- AWS Event-driven Serverless Microservices using AWS Lambda, API Gateway, EventBridge, SQS, DynamoDB and CDK for IaC
- See All Articles - AWS Serverless Microservices with Patterns & Best Practices
Whats Including In This Repository
We will be following the reference architecture above which is a real-world Serverless E-commerce application and it includes;
- REST API and CRUD endpoints with using AWS Lambda, API Gateway
- Data persistence with using AWS DynamoDB
- Decouple microservices with events using Amazon EventBridge
- Message Queues for cross-service communication using AWS SQS
- Cloud stack development with IaC using AWS CloudFormation and AWS CDK
Prerequisites
You will need the following tools:
- AWS Account and User
- AWS CLI
- NodeJS
- AWS CDK Toolkit
- Docker
Run The Project
Follow these steps to get your development environment set up: (Before Run Start the Docker Desktop)
- Clone the repository
- At the root directory which include cdk.json files, run below command:
cdk deploy
Note: Make sure that your Docker Desktop is running before execute the cdk deploy command.
-
Wait for provision all microservices into aws cloud. That’s it!
-
You can launch microservices as below urls:
- Product API -> https://xxx.execute-api.ap-southeast-1.amazonaws.com/prod/product
- Basket API -> https://xxx.execute-api.ap-southeast-1.amazonaws.com/prod/basket
- Ordering API -> https://xxx.execute-api.ap-southeast-1.amazonaws.com/prod/order
Useful commands
-
npm run build
compile typescript to js -
npm run watch
watch for changes and compile -
npm run test
perform the jest unit tests -
cdk deploy
deploy this stack to your default AWS account/region -
cdk diff
compare deployed stack with current state -
cdk synth
emits the synthesized CloudFormation template
Authors
- Mehmet Ozkaya - Initial work - mehmetozkaya
See also the list of contributors who participated in this project. Check also gihtub page of repository.