WindowsAzure平台提供的主要优点之一是能够在有需要时快速缩放云中的应用程序以响应波动。去年7月以前,您必须编写自定义脚本或使用其他工具(如WasabiMetricsHub)来启用自动伸缩。去年6月底//Build期间,ScottGuthrie宣布自动伸缩功能可在本地平台上使用(也在此文章中进行了总结)。这意味着在最常见的方案中,您不再需要亲自托管
Wasabi。从那时起,直接在 Windows Azure门户中通过配置规则来缩放应用程序变得更加简单。只需转到适用于云服务或
VM的 Scale选项卡。以下示例显示了基于
CPU利用率配置自动伸缩的旋钮。

当时,它仍处于预览状态,并且仅支持基本指标(CPU利用率和
Azure队列长度)。虽然如此,Windows Azure自动伸缩解决了大多数
Azure客户的需求。它相当简洁明了。事实上,它很简单直观,您并不需要阅读自动伸缩的教程就会使用。我们建议您在浏览其他任何选项或工具之前先考虑这点。

如果您的方案需要更多高级功能(如其他性能计数器、基于时间的限制、复合规则、增长率、自定义指标或操作),Wasabi在此期间可能仍是一个不错的选择。Wasabi的许多功能都在
Windows Azure自动伸缩团队的规划表中,在适当的时候,这些功能将会添加到未来的发行版中。至于 Wasabi,尚无推出未来发行版的计划。这与
p&p的弃用理念一致,您可以在此处阅读更多相关信息。

为帮助您了解内置自动伸缩功能的当前版本与
Wasabi 之间的不同之处,请参阅下表:

功能

Windows Azure自动伸缩

自 2013年
6月 26日起

Wasabi

自 2013年
6月 26日起

已集成到 Windows Azure门户

支持的指标

CPU和队列长度

CPU、队列长度和其他 Windows性能计数器;当前实例计数;

易于设置

极其简单(平台和门户中的内置服务)

中等(需要托管一个组件)

需要数据点的专用存储

否(这是一件好事!)

(可以使用
Azure Blob 存储或本地文件存储或自定义)

易于配置

极其简单

中等(需要配置存储帐户凭据和管理证书)

对目标应用程序产生影响

需要启用要在
WAD 中捕获的相关性能计数器

支持网站

支持云服务 (Web role/worker role)

支持 VM角色

未测试

自定义指标

否,已计划 API

自定义操作

冷却阶段支持


*

基于时间表的伸缩

否,但已计划

复合规则

否,当前正在考虑之中

是(支持表达式、嵌套函数和聚合函数)

缩放组

合理的缩放决策历史记录

应用程序限制

可升级性

自动

手动

发布

预览版

RTW



* Wasabi具有
2个旋钮:一个旋钮用于在执行任何缩放操作后启用冷却阶段,另一个用于优化围绕每小时计费界限的成本。由于 Windows Azure现在支持更精细的计费,建议不要使用
Wasabi的优化稳定装置。

在主题演讲期间,ScottGuthrie列举了
Skype的示例,它是世界上最大的 Internet服务之一。与大多数应用程序一样,Skype看到了在非高峰时段造成有未使用容量的负载波动。通过迁移到
Windows Azure并使用自动伸缩,Skype将实现
40%以上的成本节约(与运行自己的数据中心或不使用自动伸缩作比较)。

您可以在此处查看其他自动伸缩案例研究。

无论选择自动伸缩功能(推荐!)还是 Wasabi,您的应用程序仍需要专为弹性设计(有关指南,请查看Wasabi文档为云开发多租户应用程序指南(第
3 版)和CQRSJourney指南中的大部分概念)。

自动伸缩:基于真实使用情况进行动态扩展/缩小

WindowsAzure的主要优点之一是可以动态缩放应用程序以响应不断变化的需求。但是在过去,您不得不手动更改应用程序的规模或使用其他工具(如WASABiMetricsHub)以自动缩放应用程序。一年前,我们宣布了自动伸缩将直接内置到
Windows Azure。随着那天的发布,自动伸缩现已为云服务、虚拟机和网站启用,在那之后不久,对移动服务等一系列服务的支持也推出了。

通过自动伸缩,您可以配置
WindowsAzure 代您自动动态缩放应用程序(无需手动干预),这样就可以达到理想的性能和成本平衡。配置自动伸缩后,将定期调整响应应用程序负载运行的实例数量。目前,我们支持两个不同的负载指标:

  • CPU使用百分比
  • 存储队列深度(仅适用于云服务和虚拟机)

在未来的更新中,我们将对更多缩放指标启用自动伸缩。

何时使用自动伸缩

以下是很好的判断服务/应用程序是否将从使用自动伸缩中受益的标准:

  • 服务/应用程序可以横向扩展(例如,可以创建多个实例副本)
  • 服务/应用程序负载随着时间的推移而变化

如果您的应用程序符合这些标准,则您会希望利用自动伸缩。

如何启用自动伸缩

要启用自动伸缩,对于您希望启用的应用程序/服务,只需导航到
WindowsAzure 管理门户中的Scale选项卡。在
Scale选项卡中打开 CPU或队列(适用于云服务和
VM)的自动伸缩设置以启用自动伸缩。然后更改实例计数和目标 CPU
设置来配置要维护的自动伸缩范围。

下图演示了如何在
WindowsAzure 网站上启用自动伸缩。我已经配置了网站以便使用 1到
5个 VM实例运行。使用的确切数量将取决于
VM的总 CPU使用率(我在下面配置了使用
40-70% 的范围)。如果总 CPU超过
70%,则 Windows Azure
将自动向池中添加新的 VM(我配置了最多使用
5 个实例)。如果总 CPU低于
40%,则 WindowsAzure
将自动关闭 VM以节省成本:

打开自动伸缩后,您可以随时返回到 Scale选项卡并选择
Off以手动设置实例数量。

使用自动伸缩

通过那天的更新,您现在只需几分钟的时间就可以使 Windows Azure自动调整应用程序上正在运行的实例数量,以保持服务性能处于良好状态,且成本更低廉。

本文翻译自:

http://blogs.msdn.com/b/agile/archive/2013/07/02/windows-azure-autoscaling-now-built-in.aspx

http://weblogs.asp.net/scottgu/archive/2013/06/27/windows-azure-general-availability-release-of-web-sites-mobile-services-new-autoscale-alerts-support-no-credit-card-needed-for-msdn-subscribers.aspx#10382459

Windows Azure 自动伸缩已内置的更多相关文章

  1. SpringBoot怎么自动部署到内置的Tomcat的?

    先看看SpringBoot的主配置类的main方法: main方法运行了一个run()方法,进去run方法看一下: /** * 静态帮助程序,可用于从中运行{@link SpringApplicati ...

  2. windows下python3.7.2内置venv虚拟环境下pyinstaller错误问题

    起因 开发一直使用python -m venv .pyenv 方式创建虚拟环境,在利用pyinstaller打包发布应用时,出现错误 3178 INFO: Warnings written to C: ...

  3. 阻止YII 1.0自动加载内置JQUERY库

    有些时候我们会在项目中用到很多js库, 因为Yii 1.0框架会默认自动加载一些自带核心库, 很容易引起冲突问题, 下面的代码就展示了如何在Yii 1.0框架下取消jQuery自动加载. Open C ...

  4. 探索 Windows Azure 网站中的自动伸缩功能

     去年10月,我们发布了若干针对 WindowsAzure平台的更新,其中一项更新是添加了基于日期的自动伸缩调度支持(在不同的日期设置不同的规则). 在这篇博客文章中,我们将了解自动伸缩的概念,并 ...

  5. Windows Azure公有云服务相关方案

    http://www.cnblogs.com/sennly/p/4139675.html 1.公有云平台服务简介 Windows Azure 是一个灵活而开放的云平台,通过该平台,您可以在数据中心快速 ...

  6. Windows内置安全主体

    转自:https://blog.csdn.net/xcntime/article/details/51746148 导读:对于Windows内置安全主体特别需要注意的是:你无法创建.重命名和删除它们, ...

  7. 在 Windows Azure 网站中进行纵向扩展和横向扩展

    编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Byron Tardif 撰写. 当您开始一个新的 Web 项目,或者刚刚开始开发一般的网站和应用程序时,您可能希望从小处着手. ...

  8. [转]Windows Azure安全概述

    本文转自:http://blogs.msdn.com/b/azchina/archive/2011/03/06/windows_5f00_azure_5f00_security_5f00_overvi ...

  9. 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序

    原文 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序 Jim ...

随机推荐

  1. Mysql动态多条件查询

    动态多条件查询是一类经常遇到的问题. 在Mysql里面可以用语句简单的解决. SELECT * FROM product WHERE price = IF('{0}' = '', price, '{0 ...

  2. FAQ:Python中*args和**agrs的区别

    python提供了两种特别的方法来定义函数的参数: 1. 位置参数 *args,  把参数收集到一个元组中,作为变量args   >>>def show_args(*args):   ...

  3. java实现发送短信

    本程序是通过使用中国网建提供的SMS短信平台实现的(该平台目前为注册用户提供5条免费短信,3条免费彩信,这足够用于我们测试用了.在使用前需要注册,注册地址为http://sms.webchinese. ...

  4. J2SE知识点摘记-数据库(二)

    一.          查询数据 注意sql的内容. 通过ResultSet接口保存全部的查询结果,通过Statement接口中的executeQuery()方法查询.查询之后需要分别取出.通过nex ...

  5. 调bug时候应该提高思维深度(多问二十个为什么)

    版权声明:本文为博主原创文章,未经博主允许不得转载. (一)关于思维深度 读书时 有的人做一份卷子有一份卷子的收获 有的人做100张卷子只有一份卷子的收获 写代码时 有的人调一个Bug可以收获多方面的 ...

  6. uvalive5818 uva12376 As Long as I Learn, I Live

    题意:给出一个又向图每个图有权值和编号(正方形里的是编号),从第0号节点开始每次向当前节点所连的点中权值最大的节点移动(不会存在权值相同的节点),问最后所在的节点编号和经过的节点的权值之和. 解:模拟 ...

  7. lucene3.6笔记添加搜索功能

    lucene为程序添加搜索功能,此功能基于已创建好的文档的索引之上.这里我已经为一些文档建立了索引,并保存到硬盘上.下面开始针对这些索引,添加搜索功能. 1.简单的TermQuery搜索 Java代码 ...

  8. UVa 10330 - Power Transmission(最大流--拆点)

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  9. JavaScript之JS的执行环境和作用域

    一.执行环境是JavaScript中最为重要的一个概念.执行环境定义了变量或函数有权访问的其他数据,决定了他们各自的行为,每个执行环境都有一个与之关联的变量对象(variable object),环境 ...

  10. C#按钮客户端验证

    OnClientClick="return confirm('是否确定排除?');"