古埃及人根据天狼偕日升和尼罗河泛滥周期的长期观测,准确预测出洪水到来和退去的时间,并收获大量肥沃土地来耕耘;托勒密根据喜帕恰斯留下的大量观测数据建立模型,高精度预测了今后某个时候某个星球所在的位置;再从“朝霞不出门,晚霞行千里”的古谚语,到通过气象卫星、雷达收集并进行气象数据同化来精确预测天气,我们发现“预测未来”不再仅仅打着“科幻、超能力”的标签,更能通过获取、分析数据,让未来照进现实。
云计算为何需要预测?
预测源起于“动”,正因非静态才无法确定未来某一时刻的状态。而“动”的程度决定了预测的难度。
l 从云上用户需求侧看:业务负载、业务规模、设置的告警阈值都在变动
l 从云资源供给侧看:用户数、资源使用率、碎片率也在变动
如果能提前预测客户需求,就能通过智能推荐、智能告警等来提升易用性,更能提前进行硬件规划、资源腾挪,保障流量洪峰下的扩容诉求,助力实现“极优、极简”的云上体验。
图1 “看得见的易用”与“看不见的智能”
预测的内核:云上资源智能画像
根据VM历史资源利用率、VM请求时间间隔、Flavor生命周期等历史数据,利用关联分析模型和深度学习算法,可用来描绘资源表面、内在以及未来。智能画像的引入让云平台资源管理更加精细化、智能化。
画像关键技术剖析
关键技术一:时序预测
在云服务中,像容量预测,主机热点、动态告警等都涉及到时序预测,即如果知道一段历史时间(T*时刻以前)的数据变化规律,如何去预测未来一段时间的变化趋势呢?生活中如天气的变化、人口增长、经济增速、股票波动,甚至最近大家比较关注的新冠疫情的发展都属于时序预测范畴。
图 3 时序预测
云上时序预测的输入主要来源于主机或虚拟机的资源利用率,而云上业务的复杂多变,也提升了分析资源利用规律的复杂度。总体而言,有三方面的挑战:
l 波形的复杂性:我们初步分析历史trace的数据并形成图像,可以看到有少部分是平稳的甚至是有近似周期性的,也有一部分呈现上升或下降的趋势,但更多的是单个“山峰”或者偶尔突发的情况,甚至会有频繁地上下震荡;
l 业务的叠加性:以上波形表征的多样性,主要是由于云平台中单台物理主机上可能