e-works数字化企业网  »  文章频道  »  基础信息化  »  云计算和虚拟化

云计算时代IT资源扩容的思考

2017/7/12    来源:AIX专家俱乐部    作者:佚名      
关键字:云计算  IT资源扩容  
近期,我和周围的同事在多个项目中,经常被计划部门或业务部门同事问到的一个问题就是:某某业务系统的服务器、存储资源,乃至整个私有云资源池,利用率达到多少的时候就应该扩容?
    利用率达到多少的时候就应该扩容?
 
    近期,我和周围的同事在多个项目中,经常被计划部门或业务部门同事问到的一个问题就是:某某业务系统的服务器存储资源,乃至整个私有云资源池,利用率达到多少的时候就应该扩容?
 
    这个问题,真不是一两句话能说清楚的。首先,确保业务可用与提升资源利用率这两个出发点就不同;其次,不同的业务系统,难以有“一刀切”的结论;再次,我们很多业务系统都缺乏全面的资源利用率监控数据,很难为分析判断提供技术依据。
 
    不过在这些讨论过程中,我自己逐步意识到:与决定IT资源是否扩容关系最大的,也许并不是你的资源利用率,而是你的扩容速度。
 
    资源扩容是云计算时代的新课题
 
    在运营商传统的通信网络建设中,一套设备或系统的性能或容量,通常相对比较明确。在规划建设阶段根据用户数、话务量等指标估算建设规模,上线后基于网管系统监测忙时利用率,达到一定阈值(例如70%)即启动新一轮扩容。这种建设模式确保了系统的安全运行,在长期的实践中特别是通信业务快速增长的背景下,是被广泛接受的行之有效的手段。
 
    在后来的IT支撑系统建设中,这种模式也被继续沿用。其实许多计划或业务部门的同事其实已经意识到,IT系统合理性能需求估算和容量规划,并没有通信网络那么简单明了。为了尽力确保资源满足业务需求,笔者见过不少估算资源的过程中乘以1.3、再除以0.7之类的冗余算法,甚至还有x86服务器CPU利用率超过50%性能就会不稳定等说法。不过同样因为业务增长快、IT投资盘子总体太小,这种相对粗放式的扩容方式也没有太大问题。
 
    但到了云计算时代,情况不太一样了。一则业务的多样性、技术的演进等都比以前要显著;二则云平台的建设运营部门与业务需求部门有不同的关注点,前者更重视利用率等指标,后者对业务的稳定性更为关注;三则提升资源利用率、降低成本本身也被认为是云平台建设的目标,还有Google、Amazon等互联网公司超高的资源利用率传说作为标杆。因此,IT资源扩容的矛盾、以及合理的判断依据等问题,随着公司内部私有云的建设、运营,必然作为一个新的课题浮现出来。
 
    资源利用率并不直接决定扩容
 
    IT资源或者说云平台是为上层业务服务的,需要满足业务的性能要求。在业务负载(访问量、处理量等)最高的时候,IT资源需要能够提供足够的处理能力,确保相关业务指标(时延、并发用户数等)达到预定要求。如果资源不能或者预计不能满足业务要求,就说明需要扩容了。
 
    从IT资源角度看业务负载的高低,最直接的指标就是资源利用率,如CPU利用率、带宽利用率等等。与高业务负载对应的就是业务的峰值资源利用率,其理论最大值是100%。那么,当前峰值利用率的高低,是不是就是判断是否需要扩容的直接依据呢?其实不是的,下面就是两个反例:
 
    1)当前峰值利用率高不等于一定需要扩容
 
    当前峰值利用率高不等于一定需要扩容。有些业务是离线批处理类型的,在按照预定计划启动批处理任务的时候,其CPU利用率可能接近100%。但是,如果系统完成批处理任务的时间,能够完全满足业务指标要求,就不需要扩容。例如,下图蓝色线条的某业务系统就是属于这种情况:
 
云计算时代IT资源扩容的思考
 
    2)当前峰值利用率低不等于一定不需要扩容
 
    当前峰值利用率低不等于一定不需要扩容。 与离线业务不同,在线业务对并发访问数、响应时延等业务指标要求较高,需要更仔细规划资源来满足峰值的业务需求。试想一下,社交平台上的特殊时间、淘宝“双11”、微信春节“红包”的业务负载可能是平时的数倍甚至数十倍,所以就算阿里在每年“双11”之前的峰值利用率只有20%,面对连年刷高的销售额目标,基础设施部门敢不扩容?
 
云计算时代IT资源扩容的思考
 
    以上两个反例并不少见,我们还能说,根据峰值利用率是否达到一个阈值就确定是否启动扩容吗?这里的核心不在于这个阈值是40%、70%还是90%,而是这个方法本身就有问题。
 
    决定扩容的核心因素
 
    既然峰值利用率仅仅是一个参考指标,不是扩容的决定因素,那是否扩容到底有什么决定呢?答案应该就是:看业务是否真正受到(或可能受到)影响。
 
    笔者在一次交流过专门请教过为“双11”准备扩容服务器的阿里同事,类似这种扩容,总结起来主要有以下两个核心因素:
 
    尽量准确预测你的下一次业务高峰。业务部门需要预测它出现的时间、需要满足的业务量,相对当前资源最高处理能力的增加幅度等等;
 
    明确满足下一次业务高峰所需要的准备时间。为了应对新的业务需求,技术部门需要有一个协同、全盘的考虑:是否启用新的硬件平台技术?是否对原有软件进行大幅升级?硬件的测试、采购、到货、部署时间,软件的开发、测试、上线部署时间,以及其它可能的技术或非技术因素所消耗的时间。
 
    如果这两个核心因素搞清楚了,扩容就成为自然而然的事情了:以在某一个时间点需要满足的某一个业务需求为目标,倒排工作计划并完成它。当然要明确这两点并不是单一的一个云的运营部门能够搞定的,需要与业务部门详细沟通业务发展预期、优化目前现有的建设采购模式等,这正体现了做云的运营所需要的整体协调性和与业务贴近性。
 
    在这里,你当前的资源峰值利用率是20%还是50%都不重要,是确保业务不受影响的目标决定了你的扩容动作。
 

责任编辑:李欢
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐