Horizontal Scaling
- Add more machines
- Cheap
- Harder to parallelize works
- Typical example is distributed dv
Vertical Scaling
- Add more CPU in the same machine
- Expensive
- Easier because same machine will process works
- Typical example is using a bigger machine for database to avoid sharding