In this section, we will cover four different architectural approaches for serverless projects:
- Nanoservices: This is where each functionality has its own Lambda function
- Microservices: This is where each Lambda handles all HTTP verbs of a single resource
- Monolith: This is where one single Lambda function handles all functionalities
- Graph: This uses the GraphQL standard, which is an alternative to REST APIs
As we will see, each architectural approach has its pros and cons and there is no silver bullet. You need to weigh the benefits and choose what you think is the best for your specific use case. Let's see more about them.
The first thing that we need to think about when choosing a serverless architecture is if the application will execute with just one Lambda function (Monolith or Graph) or if it will have multiple Lambdas. The number of Lambda functions represents how many deployment units it has.
A monolith is a self-contained application...