阿里云最初使用上游Kubernetes HPA和CPU和Memory作为两个指标。但是,随着用户群的增长和需求的多样化,很快发现了上游HPA的局限性:
- 对自定义指标(特别是对应用程序级细粒度的指标)的支持有限。上游HPA专注于容器级指标,例如CPU和内存,这对于应用程序来说太粗糙了。开箱即用不支持反映应用程序负载的度量标准,例如RT和QPS。是的,可以扩展HPA。但是,在应用程序级别指标方面,该功能受到限制。团队在尝试引入细粒度的应用程序级别指标时经常被迫分叉代码。
- 不支持从零缩放为零当不使用微服务时,许多用户都要求从零缩放为零。此要求不仅限于FaaS /无服务器工作负载。它为所有用户节省了成本和资源。当前,上游HPA不支持此功能。
- 不支持计划的扩展EDAS用户的另一个强烈要求是计划的扩展功能。同样,上游HPA不提供此功能,团队需要寻找非供应商锁定的替代方案。
- 自动缩放功能应以简单的原子功能显示自己,而不附加到任何复杂的解决方案。
- 这些指标应该是可插入的,因此团队可以对其进行自定义,并在此基础上构建以支持各种需求。
- 它应该开箱即用地支持“缩放到零”。