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. QF——iOS通知中心(NotificationCener)

    前面我们讲iOS不同界面间传值的时候,说过可以通过通知中心进行传值.那到底什么是通知中心,他是如何实现传值的呢? NSNotificationCenter是单例的,只提供了一个唯一的实例化入口,在整个 ...

  2. Android Every day a new function:one

    扁平化按钮" 效果图: 代码: <?xml version="1.0" encoding="utf-8"?> <selector x ...

  3. Extjs springmvc session 超时 处理

    如果你的项目使用ExtJS作为表现层,你会发现,SESSION超时控制将是一个问题.本文将就自己的经验,来解决这一问题,当然,解决问题并非只有一种方法,我只是提出我的方法.首先,做超时控制,必需使用过 ...

  4. numpy 札记

    transpose 在处理caffe读入的图片数据时,需要将原始图片的数据 H*W*3(height*width*RGB) 转换为 3*H*W(RGB*heigth*width) 需要用到numpy的 ...

  5. 50行实现简易HTTP服务器

    话说由于一直很懒,所以博客好像也没怎么更新...今天有空就写一下吧. 最近在看node.js的时候开始对http协议感兴趣了,毕竟node一开始就是为了做web服务器而产生的.于是试着想了一下大概的思 ...

  6. cocos2d-x -------之笔记篇 动画的实现

    cocos2d-x 动画的实现 一.实现原理 动画的实现其实就是使用一个完整的动作图片集来实现动画,达到动态的效果 动画动作类(CCAnimate)是加载一个动画类来实现动作. 动画类(CCAnima ...

  7. OSG中的视角 eye up center

    这三个值都是vec3变量,其中eye和center确定视角         eye就相当于人的眼睛,我们观察场景,是从这个坐标去看的,然后有了眼睛,我们观察得有一个方向,那么久需要另外一个坐标,就是c ...

  8. 关于 实时推送技术--WebSocket的 知识分享

    今天学习了关于WebSocket的知识,觉得挺有用的,在这记录一下,也和大家分享一下!!有兴趣的可以看看哦 WebSocket简介 Web领域的实时推送技术,也被称作Realtime技术.这种技术要达 ...

  9. 图文:TF卡和SD卡的区别及什么是TF卡?什么是SD卡

    小型存储设备凭借低廉的价格.多样化的品种.实用等特性大量充斥在大家身边,比如智能手机手机上.数码照相机上.游戏机上(一般是掌机)等都小型电子设备都频繁的使用到这种统称为SD的产品,比如TF卡和SD卡( ...

  10. jQuery-zclip实现复制内容到剪切板

    jQuery-zclip是一个复制内容到剪贴板的jQuery插件,使用它我们不用考虑不同浏览器和浏览器版本之间的兼容问题.jQuery-zclip插件需要Flash的支持,使用时记得安装Adobe F ...