作者| 阿里文娱高级开发工程师 金呈
责编 | 夕颜
出品 | 优快云(ID:优快云news)
概述
1. 背景
随着业务形态发展,更多的生产力集中到业务创新,这背后要求研发能力的不断升级。阿里文娱持续倾向用更加高效、稳定、低成本的方式支持快速软件交付,保障高可用。于是运维力从 “HaaS”(Handwork as a Service)到“PaaS”再到“SaaS”(System as a Service),运维生产力从 Ops 到 DevOps 再到 NoOps。
在传统应用容量管理模式下,应用、集群容量评估缺乏有效数据依据与支撑,往往牺牲效率或成本来平衡经验决策风险,另一方面,人肉决策和执行难以满足业务对稳定性和效能的追求。因此,阿里文娱急需一个能够把优酷所有应用的容量管理起来的能力。
2. 目标
整体目标分成 2 个阶段,一是摸清各应用容量水平,二是为所有应用赋予弹性伸缩的能力, 最终直观看到各应用及总体资源使用率的明显提升。
技术挑战与解法
1. 单机性能
既然谈到容量问题,已知的压测方案有链路压测方案、模拟流量压测方案等。为什么还要 自研一套基于单机引流的压测方案来评估应用容量水平?
1)更接近日常真实水平;
2)无人工决策,纯机器决策单机性能瓶颈;
3)全自动,比如配置成发布结束后进行单机性能压测。
2. 弹性
弹性指标选择:仅靠集群 CPU 水位弹性确实可以解决绝大多数类型应用,但若基于集群QPS 水位则可更精准的进行弹性伸缩。
1)多维度弹性指标,同时也需要支持自定义指标;<