At SleekSky, we build SaaS products for our clients. Working with numerous startups, we have learned what works and what does not over the years.
We realize that, technically, most SaaS product architecture can be boiled down to a few essential components and their relationships. And these always work and are eventually always needed.
Nevertheless, the business use cases are so varied that no no-code or generic solutions can ever provide the experience these solutions aim to offer their customers.
Based on what we have learned, here is an outline of a generic architecture laundry list that you can blindly incorporate if you are building a SaaS product -
Design
- Logo, Typography, Color palette, UI element styles
- Low-fidelity wireframes
- Information Architecture
Frontend
- Theme
- Routing
- API interface
- UI state store and sync
- UI components
- Utility library
Backend
- Authentication middleware
- Authorization middleware
- ORM with multi-tenancy checks/hooks
- Swaggers specs
- API routes, controllers, and helpers
Database
- Relational database for SaaS workflows (optionally NoSQL with good model workflows)
- Data migrations managed in code
- Cloud big-data solutions for domain-specific needs
- In-memory data store for caching
- Queuing infrastructure for asynchronous tasks
Compute
- Containers or virtual machines
- Cloud functions
Networking
- Load balancers
- Content Delivery Networks
If you are developing any SaaS product, small or large, you will eventually need all of the above. You can build something much more complex, but that is generally not necessary until the product-market fit is established.
You can use numerous technology options for each of the points above. The choice should generally be based on the developer ecosystem, ease of hiring those skills, and cost.