Architecture
This section covers key software architecture decisions that shape how your system is structured, scaled, and maintained. Use the decision guides below to choose the right approach for organizing your application, handling communication between its parts, and deploying your backend. These choices have a long-term impact, choose based on your team's experience and the size and needs of your project.
Choose a topic → Answer a few questions → Get a clear recommendation.
CQRS vs. CRUD
This page will help you determine whether Command Query Responsibility Segregation or the traditional Create, Read, Update, Delete model is the more appropriate choice for your project.
Event-Driven vs. Request-Response
This page will help you decide what communication style to use between services or components.
Event Sourcing vs. Traditional State
This page will help you decide whether to use Event Sourcing or Traditional State for your project.
Layered Architecture vs. Hexagonal
This decision page will help you decide which architectural style is best suited for your backend application.
Monolith vs. Microservices
This page will help you decide which architectural approach is best suited to your project.
Serverless vs. Traditional Backend
This page will help you decide which approach to use for your project's backend and infrastructure.
Synchronous vs. Asynchronous Communication
This page will help you decide whether your services should wait for a reply after sending a message, or fire and forget.
Feedback & Sharing
Give us your thoughts on this page, or share it with others who may find it useful.
Share with your network:
Feedback
Found this helpful? Let me know what you think or suggest improvements 👉 Contact me.