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. C/C++ 结构体成员在内存中的对齐规则(转载)

    这几天在看王艳平的<windows 程序设计>,第5章讲解了MFC框架是怎么管理窗口句柄到窗口实例之间的映射,用到了两个类CPlex和CMapPtrToPtr,用于管理内存分配的类(避免因 ...

  2. sql 设计反模式

    ---恢复内容开始--- 1.乱穿马路 ---- > 目标 : 存储多值属性. 1) 错误方法: 使用格式化的逗号分割列表. 1-> 不适合查询,定位数据,无法运用聚合函数进行分组,不利于 ...

  3. jira 解决结果配置

    jira 的配置比较繁琐,有很多的小细节,使用中出现了各种小问题,总结梳理下 1.解决结果 问题1:编辑了任务后,解决结果变成了已解决 找到编辑任务所对应的界面方案,将解决结果字段从界面配置里移除 问 ...

  4. codeforces 552 E. Vanya and Brackets 表达式求值

    题目链接 讲道理距离上一次写这种求值的题已经不知道多久了. 括号肯定是左括号在乘号的右边, 右括号在左边. 否则没有意义. 题目说乘号只有15个, 所以我们枚举就好了. #include <io ...

  5. vb sqlite 使用 litex

    Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal ...

  6. ERROR 1062 (23000): Duplicate entry '1-1' for key 'PRIMARY'

    这个错误是说,由于某个SQL操作造成了,表中主键重复. 例子: create table t(x int,y int,z int, primary key(x,y)); insert into t(x ...

  7. delphi新语法之泛型实现的对象池模板

    现在的DELPHI因为支持泛型的语法,所以也能支持模板编程了.   // 标准模板 unit UntPools;   interface   uses   Classes, SysUtils, Unt ...

  8. Android 学习之 开源项目PullToRefresh的使用

    首先 下载 Android-PullToRefresh-master 下载地址  https://github.com/chrisbanes/Android-PullToRefresh 下载之后将其解 ...

  9. 2016 Multi-University Training Contest 2 总结

    第二次多校,出师未捷身先死 欣君看了一下09题,高呼水题,迅速码好,一A. 我看了11题,发现分奇偶讨论即可,于是按思路写好,一A. 欣君搞鼓出01题的一个公式,于是我照着写,一WA.简直不可思议,发 ...

  10. HTML加载顺序总结测试

    首先,页面加载顺序:解析HTML结构.加载外部脚本和样式表文件.解析并执行脚本代码.构造HTML DOM模型.加载图片等外部文件.页面加载完毕. 也就是:html → head → title → # ...