Scalability & Performance Advisory
Once a system has to grow with its user base, the question shifts from "does it work" to "does it keep working under load". Horizontal vs. vertical scaling, statelessness (why it enables horizontal scaling), caching (CDN, Redis, cache-aside, cache invalidation), database indexing and read replicas, and rate limiting (token bucket, sliding window) are the core tools for diagnosing and fixing bottlenecks — and for turning that diagnosis into a roadmap a stakeholder can actually act on.
Starting Points
- Tan, Z. (2023). Acing the System Design Interview. Manning.
- Kleppmann, M., & Riccomini, C. (2026). Designing Data-Intensive Applications (2nd ed.). O'Reilly.
Key Points
- You explain the difference between horizontal and vertical scaling and when each is appropriate.
- You recommend a caching strategy (e.g. CDN, Redis) suited to a given bottleneck.
- You explain database indexing and read replicas and how each improves performance.
- You recommend rate limiting to protect a system from overload or abuse.
- You diagnose which layer (app, database, network) is the likely bottleneck for a given performance problem.
- You translate a technical scaling recommendation into a stakeholder roadmap (what, why, priority, rough effort, trade-offs).