Dev.to
7/24/2026

Scaling a SaaS Beyond One Server
Short summary
Covers the application-level changes required before horizontal scaling works, including moving sessions to Redis, shared rate limiting, and distributed cron. Explains liveness vs readiness health checks with NestJS Terminus code and emphasizes graceful shutdown for load-balanced environments. Key principle: any instance must handle any request with no memory of prior interactions.
- •Single-instance shortcuts (in-memory sessions, per-process rate limiters, local cron) break silently when scaling to multiple instances
- •Liveness checks determine restart; readiness checks determine traffic routing — both are essential behind a load balancer
- •Statelessness is the core requirement: any instance can handle any request with no prior memory
Generated with AI, which can make mistakes.
Is this a good recommendation for you?



