Computers make excellent and efficient servants, but I have no wish to serve under them.
- Spock
Adoption of HorizontalPodAutoscaler (HPA) usually goes through three phases.
The first phase is discovery. The first time we find out what it does, we usually end up utterly amazed. "Look at this. It scales our applications automatically. I don't need to worry about the number of replicas anymore."
The second phase is the usage. Once we start using HPA, we quickly realize that scaling applications based memory and CPU is not enough. Some apps do increase their memory and CPU usage with the increase in load, while many others don't. Or, to be more precise, not proportionally. HPA, for some applications, works well. For many others, it does not work at all, or it is not enough. Sooner or later, we'll need...