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 Notification Delivery Platform
Read-Heavy SaaS API is the simpler architecture. Read-Heavy SaaS API carries lower operational risk. They share 2 component(s). Read-Heavy SaaS API has 2 unique risk(s); Notification Delivery Platform has 5. Read-Heavy SaaS API requires lower team maturity to operate.
7
Nodes
6
Edges
2
Risks
2
Seeds
5
Strengths
2
Adv. Risks
17
Nodes
0
Edges
5
Risks
1
Seeds
0
Strengths
5
Adv. Risks
Comparison Dimensions
Complexity
Read-Heavy SaaS API
moderate complexity, 7 nodes, 6 edges, 2 risks, 2 simulation seeds
Notification Delivery Platform
moderate complexity, 17 nodes, 0 edges, 5 risks, 1 simulation seeds
Read-Heavy SaaS API is simpler: moderate operational complexity with 7 topology nodes vs 17 for Notification Delivery Platform.
Operational Risk
Read-Heavy SaaS API
2 risks (top: high), 2 high/critical, 2 confirmed by simulation
Notification Delivery Platform
5 risks (top: high), 2 high/critical, 0 confirmed by simulation
Read-Heavy SaaS API has lower operational risk: weighted severity score 8 vs 14 (2 vs 0 simulation-confirmed).
Scalability
Read-Heavy SaaS API
4 scaling thresholds, 2 migration paths, 9 advisor scaling signals
Notification Delivery Platform
4 scaling thresholds, 3 migration paths, 4 advisor scaling signals
Both scenarios have comparable scaling paths. The best choice depends on your specific growth trajectory. Read-Heavy SaaS API and Notification Delivery Platform offer similar numbers of defined evolution steps.
Operational Maturity
Read-Heavy SaaS API
Advisor assessment: Intermediate; recommended team: Experienced Backend Team; 7 operational requirements
Notification Delivery Platform
Advisor assessment: Advanced; recommended team: Experienced Backend Team; 12 operational requirements
Read-Heavy SaaS API requires lower team maturity (Intermediate) vs Advanced for Notification Delivery Platform.
Observability
Read-Heavy SaaS API
8 watched metrics, 3 observability recommendations, 2 simulation seeds
Notification Delivery Platform
4 watched metrics, 3 observability recommendations, 1 simulation seeds
Notification Delivery Platform has lower observability burden: 4 watched metrics vs 8.
Generator Readiness
Read-Heavy SaaS API
generator relevance documented; topology generation relevance noted; simulation relevance noted; 2 seeds with generator notes
Notification Delivery Platform
generator relevance documented; topology generation relevance noted; simulation relevance noted; 1 seeds with generator notes
Both scenarios have comparable generator readiness at this stage. Generator support is preliminary. Neither scenario should be treated as fully generation-ready.
Architecture Components
Only in Read-Heavy SaaS API (5)
Only in Notification Delivery Platform (15)
Operational Risks
Only in Read-Heavy SaaS API (2)
Only in Notification Delivery Platform (5)
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
Read-Heavy SaaS API has moderate complexity. Notification Delivery Platform has moderate complexity. Simpler systems often carry different (not necessarily fewer) risks.
Read-Heavy SaaS API
Read-Heavy SaaS API: 2 risks (top: high), 2 high/critical, 2 confirmed by simulation
Notification Delivery Platform
Notification Delivery Platform: 5 risks (top: high), 2 high/critical, 0 confirmed by simulation
Scaling Path
Read-Heavy SaaS API offers 4 defined scaling thresholds. Notification Delivery Platform offers 4. More defined paths means clearer evolution steps but also more anticipated growth.
Read-Heavy SaaS API
4 scaling thresholds, 2 migration paths, 9 advisor scaling signals
Notification Delivery Platform
4 scaling thresholds, 3 migration paths, 4 advisor scaling signals
Event-Driven vs Synchronous Processing
Notification Delivery Platform uses event stream infrastructure (Kafka/Kinesis), enabling decoupled async processing. Read-Heavy SaaS API does not, keeping the stack simpler but less decoupled.
Read-Heavy SaaS API
No event stream: simpler stack, synchronous dependencies
Notification Delivery Platform
Event stream: async decoupling, consumer lag risk, higher ops burden
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.
Read-Heavy SaaS API
5 strengths, 2 risks
Notification Delivery Platform
0 strengths, 5 risks
Migration Considerations
Migration Step 1
Read-Heavy SaaS API
Single PostgreSQL, no cache, no pooling → PostgreSQL + PgBouncer + Redis cache
Notification Delivery Platform
Direct synchronous notification sends in application code (inline with business transaction) → Kafka-decoupled async notification pipeline with RabbitMQ per-channel fan-out
Both scenarios define a migration step at this stage. Read-Heavy SaaS API: triggered by 'Connection pool exhaustion or p99 read latency > 200ms under'. Notification Delivery Platform: triggered by 'Notification provider latency (SendGrid, FCM) adding 200–500'.
Migration Step 2
Read-Heavy SaaS API
PostgreSQL + PgBouncer + Redis cache → PostgreSQL + PgBouncer + Redis + streaming read replica
Notification Delivery Platform
Single-channel notification delivery (email only) → Multi-channel notification delivery (email + push + SMS + in-app) with per-channel RabbitMQ queues
Both scenarios define a migration step at this stage. Read-Heavy SaaS API: triggered by 'Primary CPU > 70% during peak read hours'. Notification Delivery Platform: triggered by 'Product requirement to add mobile push notifications and SMS'.
Migration Step 3
Read-Heavy SaaS API
No further migration step defined
Notification Delivery Platform
Fixed notification preference (all users receive all notification types) → Per-user notification preference management with suppression and rate limiting
Notification Delivery 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.
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.
Risk (high): Queue Backlog Accumulation
Message queue or event stream consumer processing rate falls below producer write rate, causing consumer lag to grow unboundedly: eventually leading to increased end-to-end latency, producer backpressure, data expiry, or queue resource exhaustion.
Shared Operational Requirements
Both scenarios require: Cache sizing and eviction policy configuration, Minimum team maturity: Experienced Backend Team, PostgreSQL: scenario includes high_write_throughput or write_heavy workload.
Supporting Evidence · 13 items
Coverage Warnings
- ⚠Notification Delivery Platform: fewer than 2 architectural strengths identified. the risk/complexity dimensions are present but the strength analysis is thin. Consider enriching the relationship YAMLs referenced by this scenario to improve coverage.
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.
- ·1 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 Notification Delivery Platform
Read-Heavy SaaS API leads on 3 weighted dimension(s): Complexity, Operational Risk, Operational Maturity. Weighted score: 5.5 vs 1.0 for Notification Delivery Platform.
Decision Intelligence
Architecture Decision Path
Structured reasoning for choosing between Read-Heavy SaaS API and Notification Delivery Platform. Every condition and trigger traces back to comparison dimensions, advisor insights, and topology evidence.
Read-Heavy SaaS API is the recommended starting point over Notification Delivery Platform
Read-Heavy SaaS API leads on 3 weighted dimension(s): Complexity, Operational Risk, Operational Maturity. Weighted score: 5.5 vs 1.0 for Notification Delivery Platform. The architectures share 2 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
LeftRead-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 Notification Delivery Platform (advanced rating)?
If Yes
Your team can operate Notification Delivery Platform. Continue to Step 2 to refine based on risk tolerance and workload fit.
If No
Prefer the lower-maturity option: left 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.
Does your team already operate an event streaming platform (e.g., Kafka, Kinesis, Pub/Sub) in production?
If Yes
Notification Delivery Platform builds on event stream infrastructure. Your existing platform reduces the adoption risk.
If No
If you don't have an event streaming platform, the other scenario avoids adding that infrastructure dependency. Evaluate whether the async decoupling benefit justifies the new ops burden.
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 17 for Notification Delivery 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
Read-Heavy SaaS API
LeftWhen 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 your team has limited operational maturity
CriticalRead-Heavy SaaS API is rated intermediate , accessible for teams without deep platform expertise.
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.
Notification Delivery Platform
RightWhen you want to minimise monitoring setup overhead
ModerateNotification Delivery Platform has a lower observability burden: fewer watched metrics and monitoring targets.
When your system requires decoupled async event processing
HighNotification Delivery Platform includes event stream infrastructure (e.g., Kafka/Kinesis), enabling async decoupling between producers and consumers.
When to Avoid Each Scenario
Read-Heavy SaaS API
LeftWhen 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.
Notification Delivery Platform
RightWhen your team cannot mitigate: queue backlog accumulation
HighThis architecture is significantly exposed to Queue Backlog Accumulation. Message queue or event stream consumer processing rate falls below producer write rate, causing consumer lag to grow unboundedly: eventually leading to increased end-to-end latency, producer backpressure, data expiry, or queue resource exhaustion.
When your team cannot mitigate: rate limit cascade
HighThis architecture is significantly exposed to Rate Limit Cascade. When a downstream service begins rate limiting requests from an upstream service, the upstream's retry logic with insufficient backoff amplifies the request rate : exceeding the rate limit further and potentially pushing the rejection downstream to other upstream callers, producing a cascade of rate-limited retries across the call graph.
When your team is early-stage or solo
HighNotification Delivery Platform is rated 'advanced'. It requires experienced backend engineers or platform tooling to operate reliably at scale.
When you expect rapid growth within the next 12–18 months
ModerateThe advisor identifies 6 predicted bottlenecks for Notification Delivery Platform. Rapid growth will surface these limitations quickly.
Team Fit
Solo developer or small startup
LeftRead-Heavy SaaS API 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)
LeftRead-Heavy SaaS API suits small teams that need to move fast without deep platform tooling investment.
- ↳Consider Notification Delivery Platform 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.
- ↳Notification Delivery Platform may require additional runbook coverage and alerting investment.
Platform engineering team or SRE-equipped organisation
RightA platform team can safely operate Notification Delivery Platform 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. Read-Heavy SaaS API: triggered by 'Connection pool exhaustion or p99 read latency > 200ms under'. Notification Delivery Platform: triggered by 'Notification provider latency (SendGrid, FCM) adding 200–500'.
Migration Step 2
Both scenarios define a migration step at this stage. Read-Heavy SaaS API: triggered by 'Primary CPU > 70% during peak read hours'. Notification Delivery Platform: triggered by 'Product requirement to add mobile push notifications and SMS'.
Migration Step 3
Notification Delivery Platform has a defined migration; Read-Heavy SaaS API does not at this stage.
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.
RabbitMQ queue depth for email channel growing > 100k messages; SendGrid 429 responses visible in delivery worker logs; email delivery p95 latency > 2 minutes; delivery worker retry thread pool saturated; dead-letter queue receiving messages from retry exhaustion despite provider being available
Tier 1: Provider Rate Limit Backlog: Delivery worker retry policy not aligned with provider rate limit reset window; workers retrying before the rate limit has reset, accumulating failed attempts. Recommended evolution: Implement provider-aware retry backoff: on 429 response, parse the Retry-After header and schedule the next retry attempt at exactly that time, not on a fixed exponential backoff schedule; add per-provider circuit breakers that open after 5 consecutive 429s and attempt a probe request at the retry-after interval; scale email consumer replicas to process the backlog faster when the rate limit window resets .
Kafka consumer lag for notification event consumers growing; notification delivery volume much higher than upstream business event volume (ratio > 5:1); RabbitMQ aggregate message rate across all channel queues elevated; one upstream event type (e.g., new_comment) accounting for disproportionate share of notification volume
Tier 2: Notification Fan-Out Amplification: Upstream event fan-out generating more notification sends per event than expected; or a notification rule misconfiguration triggering notifications for every event regardless of user preference. Recommended evolution: Audit notification fan-out ratio per upstream event type; add fan-out cost metrics (notifications_generated per upstream event) as a monitored SLA; implement notification preference filtering before fan-out: only generate delivery attempts for users with the corresponding notification type enabled; implement a notification aggregation layer that batches multiple low-priority events into digest notifications rather than individual sends .
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.
Minimum team maturity: Experienced Backend Team
BothThis scenario has moderate operational complexity. It is recommended for Experienced Backend Team teams or higher.
Required maturity: experienced_backend_team
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
Both2 high-severity risks identified. Each requires a documented runbook, alerting threshold, and on-call response procedure before running in production.
Replica lag monitoring and lag-aware routing
LeftRead 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.
Apache Kafka: scenario has team_maturity below senior
RightKafka operational complexity requires dedicated expertise: consider MSK or Confluent Cloud to reduce ops burden
Required maturity: senior
Apache Kafka: scenario uses Kafka for event streaming or CDC
RightSet min.insync.replicas=2 with acks=all; monitor consumer lag as primary health signal
Required maturity: senior
Event stream operations expertise
RightThis architecture includes event stream infrastructure (Kafka, Kinesis, or similar). Operations requires consumer group management, partition assignment, dead-letter handling, and lag monitoring.
Required maturity: platform_engineering_team
RabbitMQ: scenario has high_throughput_writes exceeding 50k messages/second
RightRabbitMQ throughput ceiling may be insufficient: evaluate Kafka for sustained high-throughput event streams
Required maturity: mid_level
RabbitMQ: scenario requires event replay or consumer catch-up from historical messages
RightRabbitMQ deletes acknowledged messages: use Kafka for replay-capable event streaming
Required maturity: mid_level
RabbitMQ: scenario uses classic mirrored queues for HA
RightMigrate to quorum queues: classic mirrored queues have known split-brain behavior under network partition
Required maturity: mid_level
Generator Constraints
Read-Heavy SaaS API
LeftGenerator 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.
Notification Delivery Platform
RightGenerator relevance documented but not yet production-ready.
For notification product briefs, the generator must produce the full pipeline: Kafka consumer with inbox check → RabbitMQ topic exchange with channel routing → per-channel delivery workers with circuit breaker and provider-aware retry. The notification priority tier classification (transactional vs. marketing) must be generated as an explicit enum with suppression policy annotations: it must not be left as an undocumented convention. Dead-letter queue configuration with per-channel monitoring alerts must be generated as non-optional infrastructure.
Supporting Evidence
| Type | Reference | Explanation |
|---|---|---|
| Comparison | compare_read_heavy_saas_api_vs_notification_delivery_platform | Full comparison of Read-Heavy SaaS API vs Notification Delivery Platform: 6 dimensions, 2 shared components, 0 shared risks. |
| Advisor | advisor_read_heavy_saas_api | Advisor for Read-Heavy SaaS API: 5 strengths, 2 risks, maturity: intermediate. |
| Advisor | advisor_notification_delivery_platform | Advisor for Notification Delivery Platform: 0 strengths, 5 risks, maturity: advanced. |
| Scenario | read_heavy_saas_api | Scenario 'Read-Heavy SaaS API': 4 scaling thresholds, 2 migration paths, complexity: moderate. |
| Scenario | notification_delivery_platform | Scenario 'Notification Delivery Platform': 4 scaling thresholds, 3 migration paths, complexity: moderate. |
| 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_workload_profile_event_streaming_workload_risk_queue_backlog_accumulation | Event Streaming → Queue Backlog Accumulation. also affects: Slow Consumer |
| Risk Path | prop_technology_profile_redis_risk_connection_exhaustion | Referenced by the operational risk comparison dimension. |
| Risk Path | prop_architecture_pattern_read_replica_risk_replication_lag_cascade | 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.