对那些精打细算的IT高管来说,按需付费是云计算的一个主要卖点。 但是,如果开发者必须推出自己的代码,自动添加或删除额外的计算资源,以响应不断变化的需求,那么,仅仅使用你所“需要”的部分,又谈何容易。
对企业云计算来说,自动调整一直具有经济可行性。 在2013年Build Developers大会上,Windows Azure推出了内置自动缩放管理的云服务、网站和移动服务。从那时起,Windows Azure不断增加更多的功能来吸引客户,甚至是最重要的企业DevOps团队和财务执行官。
亚马逊Web服务从2009年就提供了弹性计算云(EC2)公共云的自动缩放功能,但直到今年,微软Windows Azure才开始具备该项功能。 在此之前,企业通过第三方服务Paraleap Technology的AzureWatch,可以自动缩放Azure。Azure团队一直以来逐步改善其自动缩放、监测和诊断功能。
自动缩放的需求来自面向公众的网站和服务,展现出了可预测和不可预测的流量变化组合,这可能会导致响应时间太长,甚至是全部断电。 但是突发的病毒事件或报道,在短短一两个小时内,就能够引起巨大的、不可预见的Web服务器负载的增加。 因此,那些声名狼藉的互联网初创公司,往往已被完全淘汰出服务。
DevOps团队可以自定义各种来源数据中心的业务流程软件,如微软系统中心或Puppet Labs Enterprise,以使房地资源与循环交通需求相匹配。 然而,大多数初创公司或者企业不能切实将资金投入到数据中心设施,数据中心设施只用于一天中的一小部分或者每年只用到几次。
自动缩放技术与云资源管理
云计算服务提供商使用硬件和软件负载均衡,以简化资源分配,从集群服务器,如Windows Azure结构,到个人用户,再到硬件故障自动恢复。 Windows Azure从硬件转移到软件负载均衡,以提高吞吐量和可靠性,配合迁移到一个新的10 Gbps的扁平网络拓扑结构,被称为Quantum 10(Q10.),Q10架构实现了监控功能,促进了自动缩放管理。
微软副总裁Scott Guthrie在一篇博客文章中谈到了Windows Azure自动缩放服务(WAAS)和管理功能带来的好处, “自动缩放服务能够配置Windows Azure,从而自动地动态调整你的应用程序,(无需任何的人工干预),这样,你就可以实现理想的性能和成本平衡”。Guthrie 写到“配置完成后,会定期调整运行实例的数量,来响应应用程序的负载”。
Guthrie还指出,WAAS支持两个负载指标,即云服务和WAVM的CPU百分比和存储队列深度,微软将继续添加更多的服务。 企业可以在Windows Azure管理门户的新缩放页面设立WAAS(见图1)。
增强Windows Azure的自动缩放功能
Guthrie的博客文章指出,现在的Windows Azure支持基于日常API使用所提供的自动缩放WAMS后端即服务:
启用此功能时,Windows Azure将定期检查每天API调入和调出移动服务的数量,并且如果占API配额的90%以上(直至达到设定的希望启用的最大实例数量),将扩大增加一个单位。
每天的开始(UTC),Windows Azure将缩减到配置的最小数量。 这可使运行的手机服务实例的数量降到最低 – 并且节省了开支。
微软还延长了WAAS到 Azure服务总线队列的长度,运转新的虚拟机或云服务,以处理增加的工作负载。大概九月份,将添加自动缩放的附表规则。 这些规则使你能够在一天的不同时间,建立不同的刻度设置,通过点击图1所示的建立附表时报按钮,从而打开同名的对话框(参见图2)。
如果为工作日和周末指定不同的刻度设置,编辑刻度设置附表列表(如图1所示),增加了一系列的时间表选项,工作日、工作日夜晚和周末。 你可以将这些设置与CPU使用率相连接。随着时间的推移, 八月份的更新,还可以实现自动缩放的监控和自动缩放故障警报。
管理门户计算并报告每月的估计帐单金额,自动缩放WAVMs可以帮你解决这个问题,而不是分配和运行所有的实例。 AWS自动缩放按CloudWatch自动缩放组指标进行收费,Windows Azure自动缩放对计算服务是免费的 - 除了免费和共享的Web站点层。