Categorygithub.com/bartlomiej-jedrol/de07-aws-serverless-api
repository
0.0.0-20240926101539-fa3e3411d8c7
Repository: https://github.com/bartlomiej-jedrol/de07-aws-serverless-api.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author

# README

Architecture

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