Windows Azure七月主要更新:SQL数据库,流量管理器,自动扩展,虚拟机

[原文发表地址]  Windows Azure July Updates: SQL Database, Traffic Manager, AutoScale, Virtual Machines

[原文发表时间]  2013-07-23

 

今早我们释出一些很棒的Windows Azure更新。这些新的提升包括:

        · SQL数据库:支持SQL自动导出和一个新的高级层SQL数据库选项

        · 流量管理器:在HTML门户管理Windows Azure流量新的的支持

        · 自动扩展:支持Windows Azure移动服务,服务总线队列深度自动扩展规则,自动缩放行为警示

         · 虚拟机:在管理门户,更新IaaS管理体验

所有这些更新都部署完毕(注意:有些还是预览版)。下面是更详细的信息。

SQL数据库:支持SQL数据库自动导出

我们听到的一个常用的请求特性是让客户可以经常的,全自动的,导出SQL数据库到一个存储帐号中。从今天开始这将是Windows Azure的一个内置功能了。你现在可以导出具有事务一致性的SQL数据库拷贝,以一种自定义的频繁的自动的计划方式,导出到存储帐号中的一个.bacpac文件中。

如果你想尝试这个新特性,点击任意你想安装自动导出规则的SQL数据库的“配置”标签:

clip_image001

点击“导出状态”上的“自动”设置会展开包含几个附加配置选项的页面,允许你按自己的选择配置数据库自动导出到存储帐号的一个事务一致的.bacpac文件中:

clip_image002

你可以完全实现自动化,并且控制时间和导出计划。默认情况下被设置为一周一次,但你也许想设为一天一次。开始时间和日期让你可以定义第一次导出时间。时间是UTC的,所以如果你想在美国东部标准时间的每天半夜备份,设为5:00AM UTC。记住导出时间取决于数据库大小,所以开始时间不保证合适导出会结束。

再者,指定每个导出文件的保存天数。你可以保留多个导出文件。使用“总是保留至少一个导出”选项来确保你总是有一个导出文件用作备份。这重写了保留阶段,所以即使你30天不备份,你还是有个导出文件的。

最后,你需要指定服务器登录和密码给自动的导出使用。在提供必要的信息给你的自动导出后,点击保存,一旦到达你预设的开始时间你的第一个自动的导出就会生成。你可以在你的SQL数据库的“总览(Dashboard)”标签视图上的快速一览列查看你的数据库导出状态(查看最新的日期/时间)。

从导出文件创建一个新的数据库

如果你想从一个导出拷贝创建一个新的SQL数据库实例,只要选择Windows Azure管理门户上的新建->数据服务->Sql数据库->导入选项:

clip_image003

这会启动一个对话框,允许你为SQL数据库从你的存储账户中选择.bacpac文件,轻松的重建数据库(名字任取)。

成本影响

当实施一个自动的导出时,Windows Azure在创建.bacpac文件之前首先会把你的数据库完全备份到一个临时数据库。这是唯一确保你的导出具有事务一致性(导出完成后这个数据库会被自动移除)的手段。因此,导出那天你会为这个临时数据库多付钱。因为数据库是按天付费的,所以如果你每天都要导出的话,理论上你在数据库上的花费要加倍。如果你每周运行一次,花费会少很多。

如果你的存储账户和SQL数据库不在一个区域,你要为网络带宽多付费。如果你的存储账户和数据库在一个区域,就没有额外的带宽花费了。你只要按照标准的Windows Azure存储费率(按GB算)为你保存在存储账户中的.bacpac文件付费。

安装自动导出的条件
注意为了安装自动导出,Windows Azure必须允许接入你的数据库(使用你在上面截图自动导出配置中的服务器登录名/密码)。为实现这一点,到你的数据库服务器配置标签,确保已经设置为“Yes”:

clip_image004

SQL数据库:宣布新的Windows Azure SQL数据库高级层

今天,我们和高兴的宣布一个新的Windows Azure SQL数据库高级层预览版,为关键应用提供了更多可预测的性能。高级层帮助建立更强大和可预测性能的云应用,通过使用一个固定保留容量的数据库,以及它内置的一个辅助副本实现。这个容量会帮助你更好的扩展数据库并带来更多独立性。

保留容量是实现下列基于云服务需求的理想选择:

        · 高峰值负载-一个应用程序需要许多CPU,内存,或IO来完成它的操作。例如,如果一个数据库操作要长期消耗几个CPU核,这就可以考虑使用高级数据库。

       · 多并发请求-一些数据库应用服务会提交多并发请求。普通的web和商业版本SQL数据库有180个并发请求的限制。应用要求更多的连接要使用一个高级数据库,配备适当的预留大小来处理最大值的请求。

       · 可预见的延迟-一些应用程序需要在最短的时间内保证数据库响应。如果一个给定的存储过程被作为更广泛客户操作的一部分调用,可能在99%的时间需要不超过20毫秒从该调用返回结果。这种应用将受益于一个高级数据库,以确保专用的计算能力可用。

为了帮助您最好地评估你的应用程序的性能需求,并确定您的应用程序是否可能需要保留的能力,我们的客户顾问团队已经整理了详细的指导。阅读Windows Azure SQL数据库高级白皮书指南,研究如何不断调整你的应用获得最佳性能和如何得知你的应用是否可能需要保留能力。另外,我们的工程师已经把高级数据库管理放到白皮书里,其中详细描述了从你接受高级数据库预览版并且配额被批准到如何设置,使用和管理你的新的高级数据库。

请求预留容量预览邀请需要两个步骤:

1.访问预览特性页面,请求访问高级预览程序。初 始化验收要求客户拥有已激活且完成支付的Windows Azure管理员账号。
2.一旦你的预览订阅申请已激活,从服务器概览页面或Windows Azure管理门户中的SQL数据库扩展的服务器快速入门就可以请求一个高级数据库配额。

需要更详细查阅高级功能预览的注册,请查看简短的教程页面,注册为Windows Azure SQL数据库高级预览。欲了解更详细的高级SQL数据库定价,请访问Windows Azure的SQL数据库定价页面

流量管理器:集成在Windows Azure管理门户

Windows Azure的流量管理器是我们添加到Windows Azure管理门户的最新的服务。Windows Azure的流量管理器允许你控制托管在Windows Azure上的云服务和虚拟机网络流量分布。这将允许你通过一个公共端口为多个部署的云服务分组,并使用流量负载规则来实现管理。

举个例子,我们来考虑一个场景,这个场景中流量管理器将帮助云服务实现高可靠性和可用性。比方说,我们有一个云服务已经部署在三个区域:美东,美西和美国中北部(使用三种不同的云服务实例:myServiceEastUS myServiceWestUS myServiceCentralUS):

clip_image005

现在,如果我们想使我们的云服务效率,并最大限度的减小向它提出的任何请求的响应时间,我们可能要引导我们的网络请求,根据特定的请求源IP所属的范围或位置去寻找部署服务器最低响应时间。随着Windows Azure流量管理器的出现,我们现在可以轻松的做到这一点。
Windows Azure流量管理器通过ping你的来自世界各地的云服务并计算响应时间来创建一个路由表。然后,它使用此表重定向请求到你的云服务,使得它们以尽可能低的响应时间提供服务。
下面是我们如何设置:通过新建->网络服务->流量管理->快速创建来创建一个流量管理配置文件:

clip_image006

从“负载均衡方法”下拉列表中,我们会选择“性能优先”选项。我们将选择三个实例部署端点,并希望把它们放到流量管理器(在这种情况下,我们的实例单独部署在美国东,西和中北部)中并点击创建按钮:

clip_image007

一旦我们创建了我们的流量管理配置文件,我们可以更新我们面向公众的域www.myservice.com来解决我们的流量管理DNS(在这里是myservicetm.test.trafficmgr.com)。
通过点击我们刚刚创建的Windows Azure管理门户内的流量管理配置文件,我们以后还可以添加额外的云服务端点到我们的流量管理配置文件中,更改监测和健康设置,更改其他配置设置,如DNS TTL和负载平衡方法。

例如,我们假设以后要改变负载均衡方法,使用故障转移而不是性能优先的方案来提升服务可用性。比方说,我们希望我们所有的请求由美国西部响应,在美国西部的实例失败后,我们希望美国东部实例接手,接下来由美国中北部实例接手。我们可以通过流量管理器配置文件的配置选项卡,改变负载均衡方法为故障转移来实现:

clip_image008

下一步,我们将改变故障转移优先列表,以便部署在美国西部,myServiceWestUS,作为列表首选,下面跟着myServiceEastUS和myServiceCentralUS。

clip_image009

接着点击保存来结束更改:

clip_image010

通过改变这些设置,我们现在已经为我们的云服务启用了自动故障转移规则,并且实现了多区域的可靠性。如今Windows Azure管理门户中集成了新的流量管理器体验,使得配置安装这一切相当轻松。

自动扩展:移动服务,服务总线,趋势和警报

三周来,我们已经为网站,云服务和虚拟机添加了新的自动扩展支持

自动扩展可让你配置Windows Azure到自动动态的调整你的应用(无需任何人工干预)使得可以达到理想的性能和成本的平衡。配置完成后,自动扩展会定期调整你的应用中正在运行的实例数量来响应负载。这三周我们已经大规模采用了自动扩展的技术。今天,我很高兴的宣布,更多的自动扩展特性已经可以为您所用了:

Windows Azure移动服务支

自动扩展现在支持自动扩展移动服务后端(除了web站点,虚拟机和云服务)。这个特性支持标准和高级移动服务。

要为你的移动服务启用自动扩展,只需导航到你的移动服务的“扩展”选项卡,设置自动扩展为“启用”,以及配置你想使用自动扩展的最大和最小范围:

clip_image011

启用此功能时,Windows Azure会从你的移动服务定期检查每天的API调用,如果你达到API配额的90%以上会增大一个单位(直到达到你设定的希望启用的最大实例数)。

每天开始(UTC标准时间),Windows Azure扩展会回落到配置的最小值。这可让你运行的移动服务实例数量降到最低-省钱。

服务总线队列深度规

最初的自动扩展预览版支持基于两个不同负载指标动态扩展工作者角色和虚拟机:

· 工作者/虚拟机的CPU百分比

· 存储队列深度(队列中等待被处理的消息数)

今天的更新中,你现在还可基于服务总线队列深度扩展你的虚拟机和云服务。在动态增减基于积压在队列中等待被处理消息的后端系统数量这种场景中是理想的。

要启用此功能,请选择一个虚拟机或云服务的“扩展”选项卡里的“队列”自动调整选项。当你选择自动调整部分中的“排队”,点击“账户/命名空间”下拉菜单。现在你可以看到你的存储账户和服务总线命名空间的列表:

clip_image012

一旦你选择服务总线命名空间,该命名空间中的队列列表将出现在“队列名称”节点。选择单个队列来监测自动扩展:

clip_image013

与存储队列相比,服务总线队列深度扩展允许你定义一个“每台机器目标”。这个目标应该代表你认为同一时间每个工作者角色能处理的消息量。例如,如果你的目标是200,现在有2000个消息在队列中,自动扩展会一直扩展直到你有10台机器。它会根据你的应用负载情况动态扩展。

历史走势监

当你根据CPU进行自动扩展,那么我们现在就可以显示你的角色在过去一周内的CPU利用率的一个缩影图。这可以帮助你在第一次配置自动扩展时设置恰当的目标,然后打开它看看自动扩展如何影响CPU。

clip_image014

在某些罕见的情况下,可能会导致自动调整引擎无法执行规则。现在如果自动扩展失败了我们将在Windows Azure管理门户通知你:

clip_image015

如果你在门户看到这个信息,我们建议您监测您的服务响应速度和能力,以确保目前有足够的计算实例部署,以满足你的目标。

此外,如果自动调整引擎没能成功获取指标,比如从你的虚拟机或站点获取CPU百分比(这可能由间歇性网络故障或机器诊断失败引起),如果你之前的容量太低,该引擎可能会采取特殊的一次性规模化的动作。在此之后,直到自动调整引擎可以再次收到指标,不会采取进一步扩展行动。

虚拟机:

今天的Windows Azure更新还包括一些不错的改进,关于如何使用Windows Azure管理门户来创建和管理虚拟机。

更丰富的客户创建向导
当你在管理门户使用“From Gallery”选项创建一个新的虚拟机时,我们现在提供了更多的虚拟机选项:

clip_image016

当你从Gallery选择选择一个虚拟机镜像,现在有两个更新页面,你可以用来配置额外的选项-包括那些包含在云服务和创建/管理可用性集的功能,和虚拟网络的子网设置:

clip_image017

还有个新的屏幕让你在向导创建虚拟机配置和管理网络端点:

clip_image018

现在,我们默认启用远程PowerShell,使得很容易为用户配置其他知名的协议端点。你可以从下拉列表(上面的截图显示如何做到的)中选择众所周知的协议,或者您也可以手动输入自己的端口映射设置。

公开虚拟机背后的云服

从这个月开始,你可能已经注意到,我们现在也公开以前用来在一个单一部署分组里承载一个或多个虚拟机的底层云服务。在此之前,我们一直没有透露,管理门户网站中的虚拟机后端有云服务的存在-现在只要你愿意你就可以访问到底层的云服务(允许你控制/配置更高级的设置)。

其他一些注意点:

  · 你现在可以使用虚拟机仓(VM gallery)来部署一个虚拟机到已有的-空的-云服务中。这让你可以实现这样一个场景:在部署虚拟机到之前你可以先为其自定义DNS。

   · 现在,通过我们在创建虚拟机向导中的改变,你可以更轻松的添加多个虚拟机到一个云服务容器中。

  · 你现在可以使用新的流量管理支持,使得网络负载流量合理分配给云服务上的多台虚拟机。

  · 对于现在被公开的后台管理虚拟机的云服务,我们没有做额外的收费。其实它们本来就存在,我们只是不再隐藏它们,使得更多的高级配置选项浮出水面。

总结

今天的发布包含了一大堆不错的功能,使您可以建立更好的云计算解决方案。如果你还没有一个Windows Azure账户,可以免费注册使用,开始使用所有上述功能。或者访问Windows Azure开发人员中心,以了解更多关于如何构建应用程序。

希望对你有帮助,
Scott
附注:除了写博客之外,我现在还用Twitter快速更新和共享链接。到twitter.com/scottgu粉我