A web app stores sessions in-process memory. This means the load balancer must always route a user to the same instance (sticky sessions). Eliminate this constraint.
In-memory sessions bind each user to a specific instance, forcing sticky sessions on the load balancer — which prevents horizontal scaling and creates a SPOF. Moving session state to a shared Redis breaks that coupling: any instance can serve any request using the same store, and the lookup costs sub-millisecond. Apply this whenever a service runs more than one instance; even if it is single-instance today, the change is worth it because it removes session refactoring as a future scaling prerequisite.
Evaluation criteria and weights will be revealed after you submit your solution. This ensures a fair assessment of your design skills.
Draw your architecture diagram, explain your design decisions, and get AI-powered feedback.
For the best experience, design challenges on a desktop or tablet — drawing the architecture on a phone is hard.