Scaling
Vertical Scaling
- We increase the hardware of the servers
- Load balancing not required
- Single point of failure
- Inter process communication which is fast
- Consistent
- Hardware limit
Horizontal Scaling
- aka shared-nothing architecture or scaling out
- We increase the number of servers to handle large load
- Load balancing is required
- Benefits
- Comparatively cheap
- Can achieve high reliability through redundancy
- Resilient (recover from failures)
- Scales well when users increase
- Disadvantages
- Network calls which is slow
- Data inconsistency
Elastic
- automatically add computing resource when load increases