什么是弹性?首先,整合计算资源,将计算资源池化,通过虚拟机按需使用计算资源;其次,按量计费,让用户能够根据使用量按月按时甚至按秒来进行付费。
不过,光有了这两条还不够。为什么?我举个例子:
很多做运维的朋友都深有体会,比如因为一个系统的警告,你就得立即去调度更多的资源,哪怕是深更半夜也得爬起来。
应对的解决方案有很多种,比如加大冗余,让计算资源不至于因为突发性的访问量激增或计算负载的激增而宕机。但是,这样做就和传统的物理机区别不大了。因为云计算的核心优势之一就是客户弹性适应计算需求的变化。
为什么云计算最早是亚马逊做出来的,而不是IBM、惠普、Oracle、SAP这些IT巨头?就是因为亚马逊为了应对圣诞节网上购物需求的激增,不得不一再扩容其数据中心,而除了圣诞节、感恩节这些购物高峰季节,平时的购物请求仅仅是峰值的1/5,大量闲置的计算资源不得不让亚马逊思考是否能够将其出租给其他零散计算中心级需求的中小企业。
如果仅仅是满足零散需求的用户,其实前两个弹性也就足够了。但关键是,亚马逊需要对自己的弹性计算需求进行近乎实时的加载和释放,这样才能完全清楚能够有多少计算资源进行出租。于是,亚马逊开发了自动伸缩(AutoScaling)功能,不过这一功能主要是针对主机,毕竟,满足亚马逊自身的需求是第一位的。
或许亚马逊当初开发这一功能的架构师是因为离职还是什么别的原因,没有将自动伸缩功能延伸到更多领域,我们不得而知。但公有云提供商如果不是对这一功能有着深刻理解,真正为弹性的用户需求,减轻用户的运维负担,或许连主机的AutoScaling也不会做。
ref: http://www.chinacloud.cn/show.aspx?id=20088&cid=18