# README
Architecture
Project Description
When stepping into Serverless π, finding the right architecture ποΈ can make all the difference.
I recently built a Serverless API on AWS πimplementing the Services Design Pattern. In the Services Pattern, a single Lambda function can handle a few jobs that are usually related to a single entity of the data model (e.g., User π€).
All CRUD operations on the User data model are performed on the single HTTP endpoint using different HTTP methods.
For this to work, you can have a 'small' router (HTTP method) at the beginning of your Lambda code.βοΈ
It's different from the Microservices Pattern where each job is isolated within a separate Lambda function.π‘
Benefits of the Services Design Pattern: βοΈ
- Fewer Lambda functions to manage βοΈ
- Reduced cold starts βοΈ
- Team autonomy π₯
- Faster deployments π
Drawbacks of Services Pattern: β
- More complicated debugging β
- Requires a router β
- Bigger function size β
Tech Stack I utilised: π»
- Go
- Terraform
AWS Services I utilised: π οΈ
- AWS API Gateway
- AWS Lambda
- AWS DynamoDB
- AWS CloudWatch