The worst time to think about scalability is when the system has already crashed.
Key principles
- Separate responsibilities
- Database optimized for real query patterns
- Intelligent caching
- Message queues for heavy processes
- Well-defined APIs between components
Signs your architecture doesnt scale
- System slows with more users
- Small changes break unexpected things
- Cant add features without affecting existing ones
- Deploys are risky



