Resource Scaling
Vertical Scaling
- Adding more power to existing machine (RAM, CPU, Storage, etc).
- Sacrificing availability of the service because adding resource to existing machine need the machine to be shutdown first.
Horizontal Scaling
- Adding more machine to the pool of services.
- Keeping the service availability, no need to shutdown the machine first.
- Easy to do with virtual environment like Docker.
- Service orchestration can be handled by Kubernetes.