作者|  阿里文娱高级开发工程师 金呈

责编 | 夕颜

出品 | CSDN(ID:CSDNnews)

概述

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)多维度弹性指标,同时也需要支持自定义指标;

2)多方位弹性方案,使用条件编排策略来达到多个弹性指标之间的协同。

技术方案

1. 全自动单机性能探索

与各接入层对接,自动配置权重完成单机引流,配合性能拐点算法支撑,完成自动识别性 能拐点并终止压测,最后一并记录单机能力值。并允许每天定时压测、发布结束压测来感知每 天、或每次发布给单机性能带来的变化,使用户更亲近自身应用的容量水平。

2. 弹性伸缩

与底层交付系统联动,打造从规划,交付,计费,弹性水平扩展、回收、资源排布调度全 生命态面向业务需求的自驱动统筹调度资源管理系统。一方面,业务资源统一平台构建与维护, 挖掘空闲资源,共享弹性计算力,整体提高部署密度,降低业务单位成本;另一方面,面向不 同应用场景,自动化容量管理,按需分配,保证应用服务可用性,提高容量运维效能。

3. 方案结合

全自动单机性能探索与弹性伸缩的结合框架,如下图:

1)应用接入:无缝接入;

2)单机性能压测自定义配置:无需再定义配置过多配置,默认“智能探索”可以支持大部分 场景;

3)单机引流:从集群中其他机器的流量引流至被压测机器;

4)智能拐点识别:使用时间序列数据趋势转折点提取算法,进行拐点识别;

5)单机性能预测:详见技术细节;

6)基础弹性配置:详见技术细节。

技术细节

1. 单机引流权重优化

1)调整权重就是调整单机流量,且权重越高,单机流量越高;

2)增加自动化调整权重策略方法。权重优化:用于已经识别出拐点,保证下一次压测接近 MAX 权重保持平缓;权重递增:用于未触发拐点,保证下一次压测能引更多的流量。

2. 响应时间拐点识别

使用算法:箱线图。基于 IQR 定制多组 k 的箱线图上限的异常提取,上限=Q3+k*IQR 实现。而效果能够定位到多数拐点,并且一般拐点前的一个时间点的值为单机能力值。

3. 成功率拐点识别

0 错误代表 100%成功率

成功率拐点识别相比响应时间拐点识别更加严格。虽然同样是“基于 IQR 定制多组 k 的箱 线图”实现,但此时 k 必须收紧,因为成功率指标较为敏感,稍有波动就应该终止压测。

4. 拐点提取参考了“时间序列数据趋势转折点提取算法”文章

比如在 3 个连续点 Xi、Xi+1、Xi+2 的判定上,它们的发展趋势共有 9 种情况:当 Xi+2-Xi>0, 即图 a,b,e 这 3 种情况属于总体趋势上升,当 Xi+2-Xi<0,即图 f,g,i 这 3 种情况属于总体 趋势下降,当 Xi+2-Xi=0,即图 c,d,h 这 3 种情况属于总体保持不变。

而我们通过“基于 IQR 定制多组 k 的箱线图”可以识别出上升和下降 2 种拐点,分别对应 不同的场景,如响应时间拐点识别(上升拐点识别),成功率拐点识别(下降拐点识别),而 k 的定义方式也参考近期数据。

比如某个应用日常响应时间稳定在 100-200ms 和某个应用日常响应时间稳定在 2-3ms 的 k值是不一样的,不合适的 k 用在 2-3ms 的这种数据上会导致异常识别较为频繁及不准确。

5. 单机性能预测方案

单机性能与什么有关,系统指标?如果是 JAVA 应用还和 JVM 相关指标有关?而应用本身 有会有各种池的限制,如 JVM 相关池、TOMCAT 相关池、DB 相关池、Redis 相关池、队列相 关池等,这些都可以作为预测单机性能的特征。先基于 PCA 抽象出 N 个特征,也称降维,可 将两两线性相关的因素进行整合或排出,降维后建立线性回归模型,而拟合度较高的模型将予 以采纳并进行预测。同时预测参数也需要实事求是,比如日常 CPU 区间为 2-60%,那预测参数 可以为 80%,此时若超过 100%那将毫无意义。

6. 流量驱动弹性方案

基于 CPU 指标的弹性伸缩:比如 CPU 超过 60%则执行弹性扩容,CPU 低于 20%则执行弹 性缩容。扩容与缩容允许按机器数比例进行伸缩:如按 5%的机器数进行弹性扩容。定义弹性区 间:如 10-20,机器数会在 10-20 区间变动。

一般低峰期会处在最低机器数区域,高峰则会处在最高机器数区域,基于外挂单机能力模 型。允许基于 QPS 水位指标进行弹性,可随 QPS 增加而增加机器数,反之则减少机器数。

总结

自动化容量管理与弹性伸缩的深度结合解决了当前容量预估的问题,使得资源能够被合理使用。一方面,用户专注业务层,做基于业务需求的容量规划、交付和维护,革命性改变生产关系,提高研发迭代效率;另一方面,更加细粒度的弹性伸缩,比如小时、分钟的资源的快速流转,资源粒度分解到具体硬件计算垂直伸缩,也是一种更优的解决方案,使得弹性更加迅速能做到秒级能力,进一步压缩集群密度,降低单位成本。

【END】

更多精彩推荐

☞“谷歌杀手”发明者,科学天才 Wolfram

☞漫画:“哈夫曼编码” 是什么鬼?

☞数据库激荡40年,深入解析PostgreSQL、NewSQL演进历程

☞黑客用上机器学习你慌不慌?这 7 种窃取数据的新手段快来认识一下!

☞超详细!一文告诉你 SparkStreaming 如何整合 Kafka !附代码可实践

☞Libra的Move语言初探,10行代码实现你第一个智能合约

你点的每个“在看”,我都认真当成了喜欢

从 Ops 到 NoOps,阿里文娱智能运维的关键:自动化应用容量管理相关推荐

  1. 从Ops到NoOps,阿里文娱智能运维的关键:自动化应用容量管理

    作者|  阿里文娱高级开发工程师 金呈 编辑 | 夕颜 来源 | CSDN(ID:CSDNnews) 概述 1. 背景 随着业务形态发展,更多的生产力集中到业务创新,这背后要求研发能力的不断升级.阿里 ...

  2. 阿里云智能运维的自动化三剑客

    整理 | 王银 出品 | AI科技大本营(ID:rgznai100) 近日,2019 AI开发者大会在北京举行.会上,近百位中美顶尖AI专家.知名企业代表以及千余名AI开发者进行技术解读和产业论证.而 ...

  3. 值得一看的智能运维AIOps关键核心技术概览

    作者:Neeke Gao,云智慧企业效能高级总监 前言 传统运维管理的人工及被动响应方式,已经无法支撑数字化业务灵活.快速的发展,要靠智能运维(AIOps)能力来获得数据分析和决策支持.而从传统ITO ...

  4. 机房里的未卜先知!PAKDD2021 第二届阿里云智能运维算法大赛启动

    ●赛题介绍● 在当今大规模数据中心中,内存类故障问题频发(尤其是内存故障引发的非预期宕机问题),会导致服务器甚至整个IT基础设施稳定性.可靠性的下降,最终对业务SLA带来负面影响. 近十年,工业界和学 ...

  5. 阿里云日志服务SLS,打造云原生时代智能运维

    2021年10月21日,阿里云针对企业运维难题,在云栖大会为大家带来了一场<智能运维论坛>的主题演讲.在会上,阿里云资深技术专家.日志服务技术负责人简志提出"云原生时代,企业业务 ...

  6. 阿里巴巴发布智能运维故障管理AI+生态计划

    摘要: 为响应马老师"家国情怀,世界担当"的号召,开放"AI+"生态计划,将让集团内部服务过程中积累下的技术与经验更好地回馈社会,任何企业或合作伙伴均可以简单方 ...

  7. 终于来了!我们发布了 PAKDD 2021 智能运维大赛 baseline

    PAKDD 是机器学习.数据挖掘领域顶会,除了聚焦于此的学术出版和讨论,每年PAKDD都有组织以解决现实问题为背景的机器学习算法大赛,而且影响力巨大. 今年的 PAKDD 2021 大赛内容是内存故障 ...

  8. PAKDD 2021 智能运维算法赛技术分享(精彩直播回放)

    3月20日,52CV邀请Chauncy对目前正在进行的 PAKDD 2021 智能运维算法大赛进行了技术解析和baseline介绍,以下是录播视频. 嘉宾 Chauncy 目前是一位大三学生,但已在数 ...

  9. 一站式智能运维解决方案,企业系统的隐形守护者

    时有爆发的疫情,加速引导着用户观影方式的改变.越来越多的用户习惯将观影模式从线下转移到线下. 疫情作为电影行业的"黑天鹅",让线下影院陷入沉寂,但是却让网络视频平台焕发新生.多家视 ...

最新文章

  1. 超车新势力齐聚港股,谁主沉浮?
  2. windows 7系统搭建PHP网站环境
  3. spoj2 Prime Generator
  4. Ubuntu9.10安装常用软件
  5. MySQL事物的概念
  6. java lr分析表建立程序_[源码和文档分享]基于Java实现的LR(1)分析法语法分析程序...
  7. mysql blob图片类型存储bug解决:索引超出了数组界限错误_索引超出了数组界限(Microsoft.SqlServer.Smo)...
  8. HDU 3001 三进制状压DP
  9. poj 1695 动态规划
  10. Struts_登录练习(配置拦截器)
  11. win10系统开启扫描仪服务器,win10系统打开打印机和扫描仪的操作方法
  12. 机器学习-对线性回归、逻辑回归、各种回归的概念学习
  13. 自己搭建网站选用服务器的方法
  14. 2016.03.07错误记录
  15. 【翻译】LearnYouSomeErlangForGreatGood(一):导言
  16. 坚果云教你几招提升你办公效率的技巧!
  17. K分查找时间复杂度推导
  18. 推荐使用rpx替代upx的公告
  19. STM32 HAL库ADC+DMA(非定时器)代码和遇到的问题
  20. 在UNIX \ Linux终端中的可视化磁盘空间和磁盘使用情况小工具 - Vizex

热门文章

  1. C++ 不定参数(转)
  2. css的img移上去边框效果及CSS透明度
  3. 一个用户的上级部门的上级部门对用户也有修改权限,怎么判断?
  4. 从.NET中委托写法的演变谈开去(中):Lambda表达式及其优势
  5. 两台电脑网线传输文件教程
  6. 敲7(升级版约瑟夫)
  7. 【精品】Deepsort文章深度解析
  8. 手机虚拟摄像头_新游 | 打破次元壁障,《猪猪侠AR虚拟使命》现实约战,一切尽在创酷互动!...
  9. python查找字符串所在行_使用Python CSV和glob查找匹配的字符串和打印行
  10. 中国女子高尔夫球场市场趋势报告、技术动态创新及市场预测