Compare Scenarios
Side-by-side comparison with decision path analysis. Every dimension traces back to topology, risk propagation, simulation, and advisor intelligence.
Select Scenarios to Compare
Left Scenario
AI / RAG
Multi-Tenant SaaS
Analytics
Financial Ledger
Read-Heavy
Multi-Tenant SaaS
Write-Heavy
Marketplace
Event-Driven
Financial Ledger
Realtime Collab
Realtime Collab
Financial Ledger
Write-Heavy
AI / RAG
Multi-Tenant SaaS
Event-Driven
Analytics
Read-Heavy
Realtime Collab
Search-Heavy
Event-Driven
Event-Driven
Marketplace
Write-Heavy
Right Scenario
AI / RAG
Multi-Tenant SaaS
Analytics
Financial Ledger
Read-Heavy
Multi-Tenant SaaS
Write-Heavy
Marketplace
Event-Driven
Financial Ledger
Realtime Collab
Realtime Collab
Financial Ledger
Write-Heavy
AI / RAG
Multi-Tenant SaaS
Event-Driven
Analytics
Read-Heavy
Realtime Collab
Search-Heavy
Event-Driven
Event-Driven
Marketplace
Write-Heavy
Topology at a Glance
Architecture Comparison
Read-Heavy SaaS API is both simpler and lower-risk than Multi-Tenant SaaS Platform
Read-Heavy SaaS API is the simpler architecture. Read-Heavy SaaS API carries lower operational risk. They share 5 component(s). Multi-Tenant SaaS Platform has 3 unique risk(s); Read-Heavy SaaS API has 1.
11
Nodes
7
Edges
4
Risks
3
Seeds
4
Strengths
4
Adv. Risks
7
Nodes
6
Edges
2
Risks
2
Seeds
5
Strengths
2
Adv. Risks
Comparison Dimensions
Complexity
Multi-Tenant SaaS Platform
moderate complexity, 11 nodes, 7 edges, 4 risks, 3 simulation seeds
Read-Heavy SaaS API
moderate complexity, 7 nodes, 6 edges, 2 risks, 2 simulation seeds
Read-Heavy SaaS API is simpler: moderate operational complexity with 7 topology nodes vs 11 for Multi-Tenant SaaS Platform.
Operational Risk
Multi-Tenant SaaS Platform
4 risks (top: high), 3 high/critical, 2 confirmed by simulation
Read-Heavy SaaS API
2 risks (top: high), 2 high/critical, 2 confirmed by simulation
Read-Heavy SaaS API has lower operational risk: weighted severity score 8 vs 14 (2 vs 2 simulation-confirmed).
Scalability
Multi-Tenant SaaS Platform
4 scaling thresholds, 3 migration paths, 9 advisor scaling signals
Read-Heavy SaaS API
4 scaling thresholds, 2 migration paths, 9 advisor scaling signals
Both scenarios have comparable scaling paths. The best choice depends on your specific growth trajectory. Multi-Tenant SaaS Platform and Read-Heavy SaaS API offer similar numbers of defined evolution steps.
Operational Maturity
Multi-Tenant SaaS Platform
Advisor assessment: Intermediate; recommended team: Small Product Team; 6 operational requirements
Read-Heavy SaaS API
Advisor assessment: Intermediate; recommended team: Experienced Backend Team; 7 operational requirements
Both scenarios require equivalent team maturity: Intermediate.
Observability
Multi-Tenant SaaS Platform
9 watched metrics, 6 observability recommendations, 3 simulation seeds
Read-Heavy SaaS API
8 watched metrics, 3 observability recommendations, 2 simulation seeds
Read-Heavy SaaS API has lower observability burden: 8 watched metrics vs 9.
Generator Readiness
Multi-Tenant SaaS Platform
generator relevance documented; topology generation relevance noted; simulation relevance noted; 3 seeds with generator notes
Read-Heavy SaaS API
generator relevance documented; topology generation relevance noted; simulation relevance noted; 2 seeds with generator notes
Multi-Tenant SaaS Platform has more documented generator readiness signals. Note: this is still preliminary.
Architecture Components
Shared (5)
Only in Multi-Tenant SaaS Platform (6)
Only in Read-Heavy SaaS API (2)
Operational Risks
Shared (1)
Only in Multi-Tenant SaaS Platform (3)
Only in Read-Heavy SaaS API (1)
Consistency Guarantees
Neither scenario has a recorded consistency-guarantee claim.
Neither scenario has recorded a consistency-guarantee claim; no guarantee comparison is possible from the data on record.
Tradeoff Summary
Complexity vs Risk
Multi-Tenant SaaS Platform has moderate complexity. Read-Heavy SaaS API has moderate complexity. Simpler systems often carry different (not necessarily fewer) risks.
Multi-Tenant SaaS Platform
Multi-Tenant SaaS Platform: 4 risks (top: high), 3 high/critical, 2 confirmed by simulation
Read-Heavy SaaS API
Read-Heavy SaaS API: 2 risks (top: high), 2 high/critical, 2 confirmed by simulation
Scaling Path
Multi-Tenant SaaS Platform offers 4 defined scaling thresholds. Read-Heavy SaaS API offers 4. More defined paths means clearer evolution steps but also more anticipated growth.
Multi-Tenant SaaS Platform
4 scaling thresholds, 3 migration paths, 9 advisor scaling signals
Read-Heavy SaaS API
4 scaling thresholds, 2 migration paths, 9 advisor scaling signals
Team Maturity Requirement
Multi-Tenant SaaS Platform can be operated by a less experienced team. Read-Heavy SaaS API requires deeper operational expertise.
Multi-Tenant SaaS Platform
Advisor assessment: Intermediate; recommended team: Small Product Team; 6 operational requirements
Read-Heavy SaaS API
Advisor assessment: Intermediate; recommended team: Experienced Backend Team; 7 operational requirements
Architecture Strengths vs Risks Balance
The advisor identifies strengths and risks grounded in knowledge relationships. A higher strengths-to-risks ratio suggests better mitigation coverage in the current topology.
Multi-Tenant SaaS Platform
4 strengths, 4 risks
Read-Heavy SaaS API
5 strengths, 2 risks
Migration Considerations
Migration Step 1
Multi-Tenant SaaS Platform
Single-tenant PostgreSQL with per-user row filtering in application code → Multi-tenant PostgreSQL with row-level security policies
Read-Heavy SaaS API
Single PostgreSQL, no cache, no pooling → PostgreSQL + PgBouncer + Redis cache
Both scenarios define a migration step at this stage. Multi-Tenant SaaS Platform: triggered by 'Adding a second paying customer; first audit or security rev'. Read-Heavy SaaS API: triggered by 'Connection pool exhaustion or p99 read latency > 200ms under'.
Migration Step 2
Multi-Tenant SaaS Platform
Shared schema multi-tenant with no caching → Shared schema + Redis with tenant-namespaced cache keys
Read-Heavy SaaS API
PostgreSQL + PgBouncer + Redis cache → PostgreSQL + PgBouncer + Redis + streaming read replica
Both scenarios define a migration step at this stage. Multi-Tenant SaaS Platform: triggered by 'Database read load growing disproportionately with tenant co'. Read-Heavy SaaS API: triggered by 'Primary CPU > 70% during peak read hours'.
Migration Step 3
Multi-Tenant SaaS Platform
Shared schema for all tenants → Hybrid: dedicated database per enterprise tenant + shared schema for standard tenants
Read-Heavy SaaS API
No further migration step defined
Multi-Tenant SaaS Platform has a defined migration; Read-Heavy SaaS API does not at this stage.
Advisor Notes
Strength: Redis caching absorbs repeated read requests at the edge, reducing database load and latency for high read-to-write ratio workloads by orders of magnitude
Redis caching absorbs repeated read requests at the edge, reducing database load and latency for high read-to-write ratio workloads by orders of magnitude. Key trade-off: Introduces eventual consistency: stale reads possible within TTL window. Operational note: Cache-aside (lazy population) is the dominant integration pattern. Evidence: Cache hit rates of 80–95% observed in production read-heavy APIs.
Strength: Redis caching absorbs repeated read requests at the edge, reducing database load and latency for high read-to-write ratio workloads by orders of magnitude
Redis caching absorbs repeated read requests at the edge, reducing database load and latency for high read-to-write ratio workloads by orders of magnitude. Key trade-off: Introduces eventual consistency: stale reads possible within TTL window. Operational note: Cache-aside (lazy population) is the dominant integration pattern. Evidence: Cache hit rates of 80–95% observed in production read-heavy APIs.
Risk (high): Hot Partition
One partition (a database shard, a Kafka topic partition, a Redis hash slot) receives traffic so far above its peers that it saturates while the others sit idle. Aggregate capacity looks healthy, but the hot partition throttles or lags, and everything routed to it degrades. The cause is skew in how keys map to partitions, and the fix depends on whether the skew is spread across many keys or concentrated in one.
Risk (high): Connection Pool Exhaustion
All database connections in the pool are in use; new requests queue and then time out, causing cascading latency and errors across all dependent services.
Shared Operational Requirements
Both scenarios require: Cache sizing and eviction policy configuration, PostgreSQL: scenario includes high_write_throughput or write_heavy workload, Redis: scenario has read_heavy workload with high cache miss risk.
Supporting Evidence · 16 items
Limitations
- ·Comparison grounded in YAML knowledge only. Not measured from any production system.
- ·Winner assessments are deterministic heuristics, not absolute recommendations. Context, team preferences, and workload specifics may change the conclusion.
- ·2 seed type(s) across both scenarios do not have execution previews. Risk confirmation for those types is unavailable.
- ·Neither scenario has a recorded consistency-guarantee claim. Guarantee comparison is uninformative for this pair, not silently empty.
Read-Heavy SaaS API is the recommended starting point over Multi-Tenant SaaS Platform
Read-Heavy SaaS API leads on 3 weighted dimension(s): Complexity, Operational Risk, Observability. Weighted score: 5.5 vs 1.0 for Multi-Tenant SaaS Platform.
Decision Intelligence
Architecture Decision Path
Structured reasoning for choosing between Multi-Tenant SaaS Platform and Read-Heavy SaaS API. Every condition and trigger traces back to comparison dimensions, advisor insights, and topology evidence.
Read-Heavy SaaS API is the recommended starting point over Multi-Tenant SaaS Platform
Read-Heavy SaaS API leads on 3 weighted dimension(s): Complexity, Operational Risk, Observability. Weighted score: 5.5 vs 1.0 for Multi-Tenant SaaS Platform. The architectures share 5 component(s), reducing migration cost if you switch later. Read-Heavy SaaS API is the operationally simpler choice.
Where to Start
Start with Read-Heavy SaaS API
RightRead-Heavy SaaS API has lower operational complexity. Starting here reduces risk and cognitive load. Migrate to the more capable architecture only when you hit concrete scaling or feature limits.
Complexity: moderate complexity, 7 nodes, 6 edges, 2 risks, 2 simulation seeds
Migrate when:
- p99 database latency rising; connection wait queue growing; requests timing out with "too many connections" or pool queue full errors → Add PgBouncer connection pooler in transaction mode
- Database CPU > 80% sustained; read query p99 rising; cache miss rate stable but overall latency increasing → Add one or more streaming read replicas; implement lag-aware replica routing
- Redis hit rate < 60%; database read pressure rising despite cache presence; TTL expiry storms visible in Redis monitoring → Expand Redis memory allocation; segment cache by object lifecycle; implement staggered TTL jitter to prevent expiry storms
Decision Flow
Does your team have the operational maturity to run Multi-Tenant SaaS Platform (intermediate rating)?
If Yes
Your team can operate Multi-Tenant SaaS Platform. Continue to Step 2 to refine based on risk tolerance and workload fit.
If No
Prefer the lower-maturity option: right scenario.
Is operational stability and minimising production risk your primary concern over feature richness or scalability ceiling?
If Yes
Prefer Read-Heavy SaaS API: it carries lower operational risk weight per the advisor's assessment.
If No
Proceed to Step 3 to evaluate based on scaling requirements.
Do you expect your load to reach: high sustained load with clear migration paths?
If Yes
Both scenarios have comparable scaling paths. Choose based on complexity preference.
If No
If you don't expect to hit these scaling signals soon, prefer the simpler architecture and re-evaluate when load patterns become clearer.
Is operational simplicity (fewer moving parts, easier debugging, lower ops burden) more important than maximum architectural capability?
If Yes
Read-Heavy SaaS API is the simpler choice: Read-Heavy SaaS API is simpler: moderate operational complexity with 7 topology nodes vs 11 for Multi-Tenant SaaS Platform.
If No
If capability and scalability ceiling matter more than simplicity, evaluate the higher-complexity scenario against your specific load model.
When to Choose Each Scenario
Multi-Tenant SaaS Platform
LeftWhen your architecture benefits from: redis caching absorbs repeated read requests at the edge, reducing database load and latency for high read-to-write ratio workloads by orders of magnitude
ModerateRedis caching absorbs repeated read requests at the edge, reducing database load and latency for high read-to-write ratio workloads by orders of magnitude. Key trade-off: Introduces eventual consistency: stale reads possible within TTL window. Operational note: Cache-aside (lazy population) is the dominant integration pattern. Evidence: Cache hit rates of 80–95% observed in production read-heavy APIs.
When your architecture benefits from: a connection pool bounds the total database connections an application can open, preventing connection storms during traffic…
ModerateA connection pool bounds the total database connections an application can open, preventing connection storms during traffic spikes and protecting the database server from exceeding its connection limit. Key trade-off: Pooler becomes a new single point of failure if not replicated. Operational note: PgBouncer transaction-mode pooling is most effective for stateless APIs. Evidence: PgBouncer reduces PostgreSQL connections by 10–100x in typical deployments.
Read-Heavy SaaS API
RightWhen operational simplicity is a top priority
HighRead-Heavy SaaS API has lower operational complexity: fewer moving parts, easier to reason about and debug.
When stability and predictability matter most
CriticalRead-Heavy SaaS API carries lower overall risk weight per the advisor's assessment.
When you want to minimise monitoring setup overhead
ModerateRead-Heavy SaaS API has a lower observability burden: fewer watched metrics and monitoring targets.
When your architecture benefits from: redis caching absorbs repeated read requests at the edge, reducing database load and latency for high read-to-write ratio workloads by orders of magnitude
ModerateRedis caching absorbs repeated read requests at the edge, reducing database load and latency for high read-to-write ratio workloads by orders of magnitude. Key trade-off: Introduces eventual consistency: stale reads possible within TTL window. Operational note: Cache-aside (lazy population) is the dominant integration pattern. Evidence: Cache hit rates of 80–95% observed in production read-heavy APIs.
When your architecture benefits from: a connection pool bounds the total database connections an application can open, preventing connection storms during traffic…
ModerateA connection pool bounds the total database connections an application can open, preventing connection storms during traffic spikes and protecting the database server from exceeding its connection limit. Key trade-off: Pooler becomes a new single point of failure if not replicated. Operational note: PgBouncer transaction-mode pooling is most effective for stateless APIs. Evidence: PgBouncer reduces PostgreSQL connections by 10–100x in typical deployments.
When to Avoid Each Scenario
Multi-Tenant SaaS Platform
LeftWhen your team cannot mitigate: hot partition
HighThis architecture is significantly exposed to Hot Partition. One partition (a database shard, a Kafka topic partition, a Redis hash slot) receives traffic so far above its peers that it saturates while the others sit idle. Aggregate capacity looks healthy, but the hot partition throttles or lags, and everything routed to it degrades. The cause is skew in how keys map to partitions, and the fix depends on whether the skew is spread across many keys or concentrated in one.
When your team cannot mitigate: connection pool exhaustion
HighThis architecture is significantly exposed to Connection Pool Exhaustion. All database connections in the pool are in use; new requests queue and then time out, causing cascading latency and errors across all dependent services.
When you expect rapid growth within the next 12–18 months
ModerateThe advisor identifies 6 predicted bottlenecks for Multi-Tenant SaaS Platform. Rapid growth will surface these limitations quickly.
Read-Heavy SaaS API
RightWhen your team cannot mitigate: connection pool exhaustion
HighThis architecture is significantly exposed to Connection Pool Exhaustion. All database connections in the pool are in use; new requests queue and then time out, causing cascading latency and errors across all dependent services.
When your team cannot mitigate: replication lag cascade
HighThis architecture is significantly exposed to Replication Lag Cascade. Asynchronous replicas fall behind the primary under write load and serve reads from an older version of the data. Reads keep succeeding, so nothing errors; what breaks is one of three specific consistency guarantees (read-after-write, monotonic reads, or consistent prefix), each with a distinct user-visible anomaly.
When you expect rapid growth within the next 12–18 months
ModerateThe advisor identifies 4 predicted bottlenecks for Read-Heavy SaaS API. Rapid growth will surface these limitations quickly.
Team Fit
Solo developer or small startup
LeftMulti-Tenant SaaS Platform is more accessible for small teams. Fewer operational moving parts reduces on-call burden.
- ↳Validate that the simpler architecture can handle your projected load before committing.
Small product team (2–6 engineers)
LeftMulti-Tenant SaaS Platform suits small teams that need to move fast without deep platform tooling investment.
- ↳Consider Read-Heavy SaaS API only if your workload pattern specifically requires it.
Experienced backend team
DependsAn experienced team can operate either architecture. Choose based on workload fit, not team capability.
- ↳Prioritise alignment with existing infrastructure and tooling.
- ↳Read-Heavy SaaS API may require additional runbook coverage and alerting investment.
Platform engineering team or SRE-equipped organisation
RightA platform team can safely operate Read-Heavy SaaS API and will benefit from its more advanced scaling characteristics.
- ↳Ensure observability and alerting are configured before launch.
Migration Triggers
Migration Step 1
Both scenarios define a migration step at this stage. Multi-Tenant SaaS Platform: triggered by 'Adding a second paying customer; first audit or security rev'. Read-Heavy SaaS API: triggered by 'Connection pool exhaustion or p99 read latency > 200ms under'.
Migration Step 2
Both scenarios define a migration step at this stage. Multi-Tenant SaaS Platform: triggered by 'Database read load growing disproportionately with tenant co'. Read-Heavy SaaS API: triggered by 'Primary CPU > 70% during peak read hours'.
Migration Step 3
Multi-Tenant SaaS Platform has a defined migration; Read-Heavy SaaS API does not at this stage.
PgBouncer pool wait queue > 0 during peak hours; application errors reporting "connection pool exhausted" or pool timeout; pool utilization > 90%
Tier 1: Connection Pool Exhaustion: Aggregate tenant connection demand exceeding PgBouncer pool_size. Recommended evolution: Implement per-tenant connection quotas at the application layer before hitting the pool; increase pool_size incrementally; identify top-N connection consumers by tenant and implement connection reuse within tenant request handlers .
pg_stat_activity shows one tenant's queries dominating query runtime; other tenants reporting p99 latency regression while their own query counts are stable; PostgreSQL shared_buffers cache eviction rate increasing
Tier 2: Noisy Tenant I/O Saturation: Single large tenant displacing other tenants' working sets from shared buffer cache. Recommended evolution: Implement pg_cgroups or connection-level resource groups if available; consider database-per-tenant for the top N largest tenants while keeping the shared schema for smaller tenants (hybrid isolation model) .
p99 database latency rising; connection wait queue growing; requests timing out with "too many connections" or pool queue full errors
Tier 1: Connection Exhaustion: Database connection pool saturated or max_connections exceeded. Recommended evolution: Add PgBouncer connection pooler in transaction mode.
Database CPU > 80% sustained; read query p99 rising; cache miss rate stable but overall latency increasing
Tier 2: Read Throughput Ceiling: Single PostgreSQL primary saturated with read traffic. Recommended evolution: Add one or more streaming read replicas; implement lag-aware replica routing.
Readiness Requirements
Cache sizing and eviction policy configuration
BothRedis or equivalent cache requires correct maxmemory configuration, eviction policy selection (allkeys-lru is common), and cold-start warming strategy after restarts.
PostgreSQL: scenario includes high_write_throughput or write_heavy workload
BothDeploy PgBouncer in transaction-mode pooling before relying on vertical scaling
Required maturity: mid_level
Redis: scenario has read_heavy workload with high cache miss risk
BothImplement cache stampede protection (probabilistic early expiry or locking) to prevent thundering herd on cold start
Required maturity: junior
Redis: scenario relies on Redis for data that cannot be re-derived
BothRedis is not a durable store: add persistence layer or treat Redis as expendable cache only
Required maturity: junior
Runbooks and alerting for high-severity risks
Both3 high-severity risks identified. Each requires a documented runbook, alerting threshold, and on-call response procedure before running in production.
Minimum team maturity: Small Product Team
LeftThis scenario has moderate operational complexity. It is recommended for Small Product Team teams or higher.
Required maturity: small_product_team
Minimum team maturity: Experienced Backend Team
RightThis scenario has moderate operational complexity. It is recommended for Experienced Backend Team teams or higher.
Required maturity: experienced_backend_team
Replica lag monitoring and lag-aware routing
RightRead replicas must be monitored for replication lag. The application router must include a max_lag_ms threshold; queries above that threshold must be redirected to the primary.
Generator Constraints
Multi-Tenant SaaS Platform
LeftGenerator relevance documented but not yet production-ready.
For SaaS product briefs with multi-tenant requirements, the generator should propose the shared-schema + RLS + Redis cache composition as the starting point for small to medium tenant counts (< 1000 tenants). Database-per-tenant (silo model) should be presented as an alternative for high isolation requirements or large enterprise tenants. The generator must output RLS policy templates and cache key namespacing as non-optional components.
Read-Heavy SaaS API
RightGenerator relevance documented but not yet production-ready.
This scenario is the most common initial architecture for read-heavy SaaS products. The generator should recommend this composition whenever the input brief specifies a read-heavy API workload with moderate consistency requirements. The technology and pattern selections here should be presented as a bundle, not as isolated independent recommendations.
Supporting Evidence
| Type | Reference | Explanation |
|---|---|---|
| Comparison | compare_multi_tenant_saas_platform_vs_read_heavy_saas_api | Full comparison of Multi-Tenant SaaS Platform vs Read-Heavy SaaS API: 6 dimensions, 5 shared components, 1 shared risks. |
| Advisor | advisor_multi_tenant_saas_platform | Advisor for Multi-Tenant SaaS Platform: 4 strengths, 4 risks, maturity: intermediate. |
| Advisor | advisor_read_heavy_saas_api | Advisor for Read-Heavy SaaS API: 5 strengths, 2 risks, maturity: intermediate. |
| Scenario | multi_tenant_saas_platform | Scenario 'Multi-Tenant SaaS Platform': 4 scaling thresholds, 3 migration paths, complexity: moderate. |
| Scenario | read_heavy_saas_api | Scenario 'Read-Heavy SaaS API': 4 scaling thresholds, 2 migration paths, complexity: moderate. |
| Risk Path | prop_architecture_pattern_sharding_risk_hot_partition | Sharding → Hot Partition |
| Risk Path | prop_technology_profile_redis_risk_connection_exhaustion | Redis → Connection Pool Exhaustion |
| Risk Path | prop_technology_profile_redis_risk_connection_exhaustion | Redis → Connection Pool Exhaustion |
| Risk Path | prop_architecture_pattern_read_replica_risk_replication_lag_cascade | Read Replica → Replication Lag Cascade |
| Risk Path | prop_architecture_pattern_sharding_risk_hot_partition | Referenced by the operational risk comparison dimension. |
| Risk Path | prop_technology_profile_redis_risk_connection_exhaustion | Referenced by the operational risk comparison dimension. |
Limitations
- ·Decision guidance is grounded in YAML knowledge only. Not measured from any production system.
- ·Recommendations are deterministic heuristics based on structured knowledge. Your specific workload, team profile, and business context may lead to different conclusions.
- ·Generator constraints are preliminary. No scenario should be treated as production generation-ready at this stage.
Comparison complete
Profile, topology, simulation, advisor, comparison, and decision path are ready. Your architecture decision is grounded in structured knowledge and deterministic reasoning.