Windows Azure功能又更新了。此次更新包括1项重要更新和两个功能更新:

重要更新:云服务、网站支持按策略进行弹性伸缩

功能更新:两个预览版的服务(网站和移动)进入商用,虚拟机服务支持SQL 2014和Win 2012 R2

具体情况可见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

其中,个人认为这个重要更新非常有价值。所谓弹性伸缩,就是指系统规模随着负载的高低变化,负载高时,系统自动扩充集群节点数量,反之,则减少规模。这样可以尽可能保持服务质量,同时又不会产生多余的成本。

我们常常会听到PaaS和IaaS的种种比较,而PaaS服务比IaaS服务更好的地方是它管理更简便,隐藏了IaaS的各种细节。就拿Windows Azure的PaaS服务来说,云服务的开发部署都很方便,应用发布基本上可以一键完成。部署时不需要逐一配置虚拟机,不需要登录每个虚拟机安装配置软件,增减集群节点也比较简单,在界面上拖动滚到条即可。但是,之前云服务的集群规模还是人工管理的,管理员必须时刻留意系统运行状况,并根据负载的高低及时调整规模。从这个角度讲,之前的云服务并不完美,尽管部署很方便,但是运维方式跟IaaS一样。它的运维方式暴露了内部的复杂性给用户,用户需要自行架设监控引擎并进行决策。而对大部分不专业的用户来讲,用户可能不会部署任何监控方案,仅仅依靠简单的工具来判断系统负载,然后来设定集群节点数,这样用户不会去经常调整集群规模,让系统没有弹性。而弹性应该是PaaS的一个天然能力。有了弹性,开发人员和管理人员才能真正从基础架构的管理中解脱出来,而这时的PaaS,才能真正成为一个云操作系统。我们开发单机应用的时候,操作系统不会要求我们去选择自己的程序跑在几个CPU上、跑在哪个CPU上,因为这是操作系统需要完成的功能。而微软把Azure定位为云OS,也必然要解决类似的应用调度问题。早在几年前,以IaaS著称的亚马逊AWS就推出了CloudWatch(监控)、Elastic Loadbalancing(负载均衡)和Auto Scaling(弹性伸缩)三项服务,显示了亚马逊向PaaS发展的战略。而微软自然不能落后,弹性伸缩的出现只是时间问题。

如今,弹性伸缩终于成为了Azure的缺省功能,微软在年初收购了MetricsHub(专门做Azure的弹性管理),并将其功能整合到了Azure里。而且,弹性伸缩这些功能是免费的,其配置也相当方便。弹性伸缩对于网站服务、云服务和虚拟机服务均可以应用应用。下面就看下实际的效果:

网站弹性伸缩

首先看网站服务。在网站的“缩放”页,我们可以更改网站模式为“标准”(仅有该模式可以应用弹性伸缩),然后在“自动缩放”属性部分,我们可以点击“CPU”,这样界面就会展开策略配置的信息。

具体的配置内容有3个部分,分别是实例的大小、实例数的范围和目标CPU值。跟以往不同的是,实例数可以指定一个范围,而不是给定一个确定的值。所谓实例实际上就是后台的虚拟机,选择1-2实例意为着Azure会启动1-2个虚拟机运行该网站。当虚拟机CPU大于80%时,Azure会启动扩容动作,将虚拟机增加到2个,而当这两个虚拟机的CPU小于60%的时候,Azure会进行收缩动作,将虚拟机数减少为1个。可见,在Web层,用户只要定好策略,就基本上不用在运行时进行性能的监控和规模的调整了,系统会自动进行处理。

云服务弹性伸缩

下面再看下云服务的配置。云服务下,Azure将每个Role作为一个单独的管理单元,也就是说,每个Role可以独立伸缩。

当我们选择自动伸缩模式为CPU时,其配置与网站服务类似,也是指定实例数范围、目标CPU范围。多出来的两个配置是扩展幅度和冷却时间。分别代表一次伸缩时添加或减少的实例数目,以及两次伸缩动作之间的最小间隔(避免频繁缩放)

除此以外,我们还可以选择自动缩放模式为队列。这时Azure会根据某个存储Queue的长度来判断合适进行缩放,而不是根据CPU利用率。

我们可以进行一个简单的测试。我们首先关闭弹性伸缩,然后指定实例数为2。我们看到下图中WebRole有两个实例在运行

接下来我们修改弹性伸缩模式为CPU,将实例范围设为1-3,目标CPU不变。然后保存。

此时系统没有任何压力,CPU小于60%,因此Azure应该很快会将多余的一个实例停掉。我们发现,几分钟以后,Azure确实自动减少了一个实例

虚拟机弹性伸缩

在虚拟机部分,Azure管理的方式跟云服务类似。Azure会为每个虚拟机生成一个隐藏的云服务,这个云服务只有一个Role,拥有一个实例。此时是没法伸缩的。虚拟机服务的弹性伸缩是动态开机、关机,而不是像虚拟机服务那样创建、删除实例。因此,我们需要首先创建一个可伸缩的集群,其条件是所有虚拟机位于同一个云服务的同一个可用性集。具体创建方式如下:

第一个虚拟机修改配置,在可用性集处创建一个,比如命名为abc

创建新虚拟机时,选择“连接到现有虚拟机”,选中第一台虚拟机

在最后一步,选择之前创建的可用性集

这样新创建的虚拟机会加入原虚拟机的云服务,并且在同一个可用性集中。而且,原本隐藏的云服务也会显现出来。

在云服务列表中找到这个云服务,进入“缩放”页,就可以看到缩放配置

监控报警

除了弹性伸缩,还有一个相当有用的功能是报警。之前Azure在门后可以显示实时的性能监控和可用性监控结果,但是由于没有报警功能,运维人员必须随时留意门户上的性能数据,或者借助其他工具,如System Center进行性能检测并产生故障报警。今天的功能更新弥补了这个不足。报警功能支持云服务、虚拟机服务、网站服务、移动服务这4项计算服务,并且支持性能警报和可用性警报两种方式。该服务目前也是预览阶段,是免费的。

在Azure门户-〉设置-〉警报页,我们可以点击底部的“添加规则”进行警报策略定义。

在下一页,我们可以指定报警条件。其中,云服务和虚拟机支持5种基本的指标:CPU、磁盘读、磁盘写、输入网络、输出网络。此外,还支持“Web 端点状态”指标。而移动服务和网站只能定义“Web 端点状态”指标。针对要监控的指标,我们可以指定报警条件,如大于某个阈值。然后定义操作,如给管理员发邮件。

“Web 端点状态”,可以在每个服务的“配置”页“监视”处进行定义。它的功能是,给定该服务的一个Web地址,然后Azure会通过多个地点去定期访问该地址,将相应时间和可用性结果进行汇总。之前该功能只能监视,无法报警。关于该功能的详细介绍,可以参考http://blog.csdn.net/shaunfang/article/details/8645717#t1。现在,该功能和新的报警功能进行了集成。

下面我们简单实验下监测某个Azure站点的状态并产生故障报警。

以云服务为例,首先,我们记录下这个云服务的Web地址,比如http://guestbook201306.cloudapp.net/,然后进入配置页定义该端点,并在位置处选择“HK”作为检测地点。

接下来在监视器页,我们可以浏览监视的实时结果。结果有响应时间和运行时间两个指标,后者的意思就是Up Time

然后我们再去定义报警策略。此时我们发现除了基本的5个指标,系统又多了两个指标,他们是响应时间和运行时间。

如果我们想产生故障报警的话,可以选择运行时间,然后将报警条件设为< 90%,并要求发邮件通知

条件创建后,系统就会开始检测。如果这个站点发生故障,我们就会在门户右下角看到一个警报图标

点击详细信息后,系统会显示报警细节,包括报警来源、监控对象的历史曲线以及历史警报。

此外,我们也会收到一封邮件,通知我们发生了什么故障

Windows Azure功能更新:弹性伸缩(autoscale)、监控报警、移动服务及网站服务商用、新的虚拟机镜像的更多相关文章

  1. Windows Azure功能更新: SDK 2.1发布,Traffic Manager集成

    最近,Windows Azure又进行了更新 Windows Azure SDK 2.0发布没多久,2.1版(for .NET)就在今天发布了.2.1版本在管理功能上进行了重大改进,包括Visual ...

  2. Windows Azure功能更新:SQL Server AlwaysOn和Notification Hub 正式商用

    一周以前Windows Azure发布了新的更新内容,主要的更新有3项: 虚拟机上的SQL Server支持AlwaysOn可用性组了 Notification Hub商用 自动缩放支持时间策略 这里 ...

  3. Windows Azure功能更新:Oracle软件正式登陆Azure了

    今天,Windows Azure国际版发布了新的功能:全面支持Oracle软件,包括Oracle Linux, Oracle 12c数据库,Weblogic 11g和12c,Oracle JDK 6和 ...

  4. 转载文章:Windows Azure 七月份更新:SQL 数据库、流量管理器、自动伸缩、虚拟机

    转载文章:Windows Azure 七月份更新:SQL 数据库.流量管理器.自动伸缩.虚拟机 今天上午,我们发布了一些重大的 Windows Azure 更新.这些新的增强功能包括: · SQL 数 ...

  5. Mark Russinovich 的博客:Windows Azure 主机更新:原因、时间和方式

     Mark Russinovich的技术博客涵盖 Windows故障排除.技术和安全等主题. Windows Azure主机更新:原因.时间和方式 Windows Azure的计算平台(其中包括 ...

  6. windows azure Vm、cloud service、web application 如何选择可用的服务

    windows azure 的web应用和虚拟机都经常用.我们经常把我们的网站部署上去.一般选择web应用或者开一个虚拟机.开一个虚拟机就会按照虚拟机的使用时间进行计费. 那么我们选择web部署在哪里 ...

  7. 宣布 Windows Azure 通过 PCI DSS 合规性验证并且 ISO 认证范围扩大,同时正式发布 Windows Azure Hyper-V 恢复管理器和其他更新功能

    今天,我们高兴地宣布两个重大里程碑事件,客户将能借此提高基于 Windows Azure 构建安全且合规的应用程序的能力.此外,我们还宣布正式发布 Windows Azure Hyper-V 恢复管理 ...

  8. Windows Azure 自动伸缩已内置

     WindowsAzure平台提供的主要优点之一是能够在有需要时快速缩放云中的应用程序以响应波动.去年7月以前,您必须编写自定义脚本或使用其他工具(如Wasabi或MetricsHub)来启用自动 ...

  9. (译)Windows Azure的7月更新:SQL数据库,流量管理,自动缩放,虚拟机

    Windows Azure的7月更新:SQL数据库,流量管理,自动缩放,虚拟机 今早我们释出一些很棒的Windows Azure更新.这些新的提升包括:SQL数据库:支持SQL自动导出和一个新的高级层 ...

随机推荐

  1. Android DES AES MD5加密

    AES加密: <span style="font-size:18px;">package com.example.encrypdate.util; import jav ...

  2. c语言mysql api

    原文:c语言mysql api 1.mysql_affected_rows()            //返回上次UPDATE.DELETE或INSERT查询更改/删除/插入的行数. 2.mysql_ ...

  3. NYOJ 14 场地安排(它可以被视为一个经典问题)

    会场安排问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描写叙述 学校的小礼堂每天都会有很多活动.有时间这些活动的计划时间会发生冲突,须要选择出一些活动进行举办.小刘的工 ...

  4. 打印Ibatis最后,SQL声明

    做项目时,满足这一需求.我们希望最终打印出在数据库运行SQL声明,这些都普遍遇到了一些一般性问题.我会去Appfuse,结果这次没有成功.它是有相关的配置,可是好像没实用.我也就没有深查下去.我想这种 ...

  5. PHP学习笔记----IIS7下安装配置php环境

    原文:PHP学习笔记----IIS7下安装配置php环境 Php如何安装 Php版本的选择 Php在windows下的(php5.4.7)有两种版本: VC9 x86 Non Thread Safe ...

  6. 警惕使用WebClient.DownloadFile(string uri,string filePath)方法

    原文:警惕使用WebClient.DownloadFile(string uri,string filePath)方法 WebClient.DownloadFile(string uri,string ...

  7. Repository在DDD中的应用

    Repository在DDD中的应用2014-10-09 08:55 by Jesse Liu, 98 阅读, 0 评论, 收藏, 编辑 概述 上一篇我们算是粗略的介绍了一下DDD,我们提到了实体.值 ...

  8. [转] 关于 Eclipse 导出 Android项目 JavaDoc 详细过程

    关于Eclipse 导出JavaDoc过程中,遇到的问题 ,google 了一下 ,网友们 总说不一 ,最终 还是 搞定了 现在分享给大家 希望对大家有所帮助 用Eclipse默认的 JavaDoc需 ...

  9. QTP知识总结(一)

    QTP知识总结(一) (2010-12-22 16:30:41) 转载▼ 标签: 杂谈 分类: QTP File menu Process guidance management,View > ...

  10. jsp解决kindeditor在线编辑器struts图片上传问题

    1.下载 官网下载ckeditor,解压后去掉不需要的部分,仅需保留plugin,lang,theme文件夹,这三个文件夹中用不到的东西可以删除, 比如lang文件下存放所有语言文件js,仅仅 保留e ...