Key Pillars of Systems Design
Scalability
Horizontal Scaling
Vertical Scaling
Microservices
Availability
Load Balancing
Replication
Failover
Reliability
Monitoring & Logging
Error Handling
Automated tests
Performance
Database Indexing
Caching
Async Processing