Windows Azure:宣布Windows Azure SDK 2.2发布(有很多好东西)
[原文发表地址] Windows Azure: Announcing release of Windows Azure SDK 2.2 (with lots of goodies)
[原文发表时间] 2013-10-22 12:12 PM
今天早些时候,我在博客上提到如今我们对于Windows Azure 所做的一个重大的更新,以及由此提供的一些新的功能。
今天,我也很激动地宣布推出Windows Azure SDK 2.2。这个版本的SDK增加了一些更加强大的功能,包括:
- 支持Visual Studio 2013
- 支持在Visual Studio中集成登录Windows Azure
- 在Visual Studio中远程调试云服务
- 在Visual Studio中使得SQL数据库支持防火墙管理
- 向MSDN用户提供Visual Studio 2013 RTM虚拟机映像
- 支持.NET的Windows Azure管理库
- 更新了Windows Azure中的PowerShell命令集和脚本中心
下面的内容将详细介绍关于今天发布的Windows Azure SDK 2.2 所包含的新特性的诸多细节。另外,很快将可以在第9频道看到关于Visual Studio工具箱的最新一集介绍,短期内这些功能都将可使用,并在视频演示中会着重强调这些新的功能。
支持Visual Studio 2013
Windows Azure SDK 2.2是第一个支持Visual Studio 2013 最终RTM发行版本的官方SDK版本。如果你在Visual Studio 2013预览版安装了SDK2.1版本,我们建议你将你的工程升级到SDK2.2版本。SDK2.2 也可以和SDK2.1以及SDk2.0版本一起在Visual Studio 2012 上工作。
在Visual Studio 中集成登录Windows Azure
在Visual Studio中支持集成登录到Windows Azure是在这个Windows Azure SDK版本上增加的最重大的改进之一。支持集成登录使得开发者可以直接在Visual Studio中进行Windows Azure资源的开发,测试以及管理,而不需要下载和使用管理证书。
现在你只需要在Visual Studio中的服务器资源管理器中右键点击Windows Azure 图标,然后在菜单中选择“连接到Windows Azure”选项就可以连接到Windows Azure。
如果你这样做了,系统会提示输入你期望登录的用户的邮箱地址:
你可以用一个微软账户(例如Windows Live ID)或者其他组织账户(例如Active Directory)作为登录邮箱。提示框将根据你输入的不同类型的邮箱地址给出合适的登录提示信息:
一旦你登录进去,你将会看到所有你有权限管理的Windows Azure资源将会自动显示在Visual Studio的服务器资源管理器中(然后你就可以使用它们了):
有了新的集成登录体验,现在你可以在Visual Studio中发布web 应用程序,部署虚拟机和云服务,使用Windows Azure诊断,与Windows Azure服务进行全面交互,而不需要管理证书。所有的认证都由与你的Windows Azure用户相关的Windows Azure Active Directory来处理(这个可以在我前面的博客中找到相关详细介绍)
这种通过服务管理APIs+开发工具+管理门户+PowerShell自动脚本的端到端的一体化认证,使得Windows Azure具有更加安全和灵活的安全体制,使得同一个工程中的多个开发者和管理员的安全管理工作更加方便。它也允许其他组织或企业在云服务上用同样的认证机制来管理他们的开发人员。同时能够保证一旦员工离职,他们的Active Directory账户将被停止,他们也就失去获取他们公司云资源的权力。
过滤和证书管理
一旦你登录到Visual Studio中,你就可以在服务器资源管理器中通过右键点击“服务筛选器”菜单来过滤可见的Windows Azure 订阅/区域。你也可以使用“管理证书”菜单来管理你的Windows Azure 订阅。
打开“管理订阅”对话框,你就可以看到你当前所使用的账户,以及该账户包含的订阅:
在“证书”选项栏,你也可以继续导入和使用管理证书来管理Windows Azure资源。在今天的更新里我们没有移除任何功能--Visual Studio中之前所有支持管理证书的功能都将继续正常运作。今天发布的支持集成登录只是单纯的附加功能。
注释:服务器资源管理器中的SQL数据库节点和移动服务节点在这次发布中不支持集成登录。因此,如果你有一个管理证书能够连接到它们,你才能看到有数据库和移动服务节点存在。在将来的更新中我们将会实现集成登录到它们。
在Visual Studio中远程调试云资源
今天发布的Windows Azure SDK2.2增加了远程调试不同类型的Windows Azure资源。现在在Visual Studio中支持在线远程调试,你就可以比以往更直观的看到你的代码是如何在Windows Azure现场运行的。让我们一起来看一下如何实现远程调试云服务:
远程调试云服务
为了实现远程调试你的云服务,在你的云服务部署向导对话框一般设置选项中选择调试作为构建配置。
然后选择高级设置选项,选中复选框允许远程调试所有角色 :
一旦你的云服务部署成功并且在云中运行,只要简单地在你本地源代码中设置一个断点:
然后在Visual Studio的服务器资源管理器中选择一个已部署在云上的云服务实例,右键角色或特定的虚拟机实例,选择附加调试菜单:
当调试器被加载到云服务上,断点被点击到时,你就可以用Visual Studio丰富的调试能力来实时远程调试云实例,这样可以直观的看到你的应用程序是如何在云中运行的。
今天发布的远程调试支持是非常强大的,它使得在云上开发和测试应用程序变得更加简单。支持远程调试云服务到今天已经可以用了,同时我们也支持一小部分远程调试网站。
在SQL数据库中支持防火墙管理
默认情况下,我们会为Windows Azure中的SQL数据库设置一个安全防火墙。这将确保只有你的应用程序(或者你批准的IP地址)才能连接它们,并默认保护你的基础设施的安全。在运行时的这种保护是很好的,但是在开发时有时就很痛苦(因为默认情况下,如果你的安全防火墙阻止你的虚拟实例连接它,那么你将不能在Visual Studio中远程连接/管理数据库)。
在今天的发布中我们增加的一个比较酷的功能就是支持轻松且方便地在Visual Studio中启用和配置安全防火墙。
现在SDK2.2发布了,当你在Visual Studio的服务器资源管理器中试着连接SQL数据库时,防火墙规则将阻止你的机器访问,系统提示你添加防火墙规则,以便允许您本地IP地址访问到数据库:
你只需点击添加防火墙规则,系统将自动为你添加一个新的规则。在某些情况下,系统可能没有足够的逻辑来检测你的本地IP地址(例如:你是在企业防火墙范围中使用你的IP地址),这时你就需要设置一系列IP地址的防火墙规则,以获得访问权限。新添加防火墙规则对话框也使得这很容易做到。
一旦连接成功,你就可以在Visual Studio的服务器资源管理器中直接管理你的SQL数据库:
这就使得与云中数据库的交互变得更加方便。
向MSDN用户提供可用的Visual Studio 2013 RTM的虚拟机映像
上周我们将一般可用性版本的Visual Studio 2013 发布到网上了。这是一个很棒的有很多新功能的版本。
随着今天Windows Azure的更新,我们在Windows Azure管理门户中有一套为MSDN用户预配置的VS 2013虚拟机映像。这使你只需简单的点击就可以在预先安装VS2013的云中创建虚拟机:
现在的Windows Azure提供的是在Visual Studio 2013中进行开发最快速和最简单的方式。
支持.NET 的Windows Azure管理库(预览版)
为云中运行的应用程序自动创建,部署和推到资源的能力是一个关键的需求。它还对在预生产环境中运行的开发/测试场景和编码UI的测试有很大帮助。
今天我们正在发布一套新的支持.NET的Windows Azure 管理库的预览版本。这些新的库能够很容易地自动使用任何.NET语言(如:C#,VB,F#等等)来执行任务。之前这种自动化功能只能通过Windows Azure PowerShell命令集或愿意用Windows Azure服务管理REST API去写自己的封装包的开发商来实现。
现代.NET开发经验
我们致力于设计易于理解并且能够很好地映射到底层REST端点的.NET APIs,同时要确保使用和实现开发人员现在期待的现代.NET的功能:
- 支持任何.NET平台创建的目标应用程序的便携式类库(无平台限制)
- 发布一套最小依赖的NuGet包以简化版本
- 支持基于异步性的异步/等待任务(容易同步重载)
- 为常见错误的处理,跟踪,配置,HTTP管道操纵等共享基础设施
- 考虑易测性和易模仿性
- 将常用库如HttpClient和Json.NET内置到顶部
下面列出了一些和今天初步预览版一起发布的管理客户端类:
.NET Class Name |
Supports Operations for these Assets (and potentially more) |
ManagementClient |
Locations Credentials Subscriptions Certificates |
ComputeManagementClient |
Hosted Services Deployments Virtual Machines Virtual Machine Images & Disks |
StorageManagementClient |
Storage Accounts |
WebSiteManagementClient |
Web Sites Web Site Publish Profiles Usage Metrics Repositories |
VirtualNetworkManagementClient |
Networks Gateways |
用.NET自动创建虚拟机
下面让我们用一个例子来说明如何使用新的支持.NET 的Windows Azure管理库来完全自动创建一个虚拟机。我故意用一个有很多配置自定义选项的场景-包括VHD映像枚举,数据驱动器,网络终端+防火墙规则设置-来展示新的库提供的全部功能和财富。
我们将用一些代码来演示如何在标准的Windows Azure 虚拟机画廊中通过内置的Windows映像来一一列举这些功能。我们会在它里面搜索具有“Windows”一词的第一个虚拟机映像,并用它作为我们的基本映像来建立虚拟机。然后,我们将创建一个在美国西部地区的云服务容器来存放它:
然后,我们可以设置一些自定义选项,如设置计算机名称,管理员的用户名/密码和主机名。我们也可以通过安全防火墙打开一个远程桌面(RDP)端点:
然后我们将指定我们想要在虚拟机上安装的VHD主机和数据驱动器,并指定我们要运行的虚拟机的大小:
当这一切都设置好之后,用来创建虚拟机的调用也已经被异步执行了。
几分钟之后,我们将有一个完全部署了所有设置(硬盘驱动,虚拟内存大小,机器名,用户名/密码,网络终端+防火墙设置)的虚拟机运行在Windows Azure上以备我们使用:
通过NuGet的可用性预览
支持.NET 的Windows Azure管理库 现在已经可以通过NuGet使用了。因为它们仍然是预览形式,所以当你去检索软件包时,你需要添加IncludePrerelease开关。下面的屏幕截图将演示如何使用软件包管理器控制台来获取整套图书去管理你的Windows Azure资产:
你也可以在VS解决方案资源管理器中通过右键点击你的.NET项目,选择管理NuGet软件包菜单命令来安装它们。确保在下拉菜单中选择“Include Prerelease”,然后就可以为你所需要的特定的场景安装具体的管理库:
开源许可证
新的支持.NET的Windows Azure 管理库使得在Windows Azure上实现自动化管理的操作,无论是对虚拟机,云服务,存储账户,网站还是其他更多的服务都变得超级容易。
和其他的Windows Azure SDK一样,我们也将源代码发布到了一个开源(Apache2)许可证代理https://github.com/WindowsAzure/azure-sdk-for-net/tree/master/libraries上。如果你想做出自己的贡献可以到那里去看看。
PowerShell的扩展和我们新的脚本中心
今天我们也发布了Windows Azure PowerShell 0.7.0(它是一个单独的下载包)。在这里你可以找到完整的变更日志。下面是它提供的一些改进:
- Windows Azure支持Active Directory验证
- 脚本中心提供了许多示例脚本来自动执行Windows Azure上常见的任务
- 为新媒体服务和SQL数据库提供新的命令集
脚本中心
Windows Azure 使您能够用PowerShell编写脚本实现很多任务的自动化。大家总是想要更多常见场景的预建样本,以方便他们用来学习和调整/自定义。考虑到这一点,我们很高兴在这个版本的Windows Azure中引进新的脚本中心。
你可以从新手入门这篇文章中学习如何在Windows Azure 中编写脚本。然后你会在不同的解决方案中找到许多示例脚本,其中包括基础设施,数据管理,网络以及其他更多的:
所有的示例脚本都可以从Windows Azure脚本中心的链接连接到托管的TechNet上进行查看。每个脚本都有良好的注释,详细的说明和应用例子。
总结
Visual Studio 2013和Windows Azure SDK2.2 使得开发丰富的云应用程序比以往任何时候都更容易。随着Windows Azure开发人员中心的成长,.NET开发者资源将引导你的开发工作,今天Windows Azure SDK2.2 版本将使您的开发体验更愉快,更有效。
如果你还没有一个Windows Azure 账户,你可以登录免费试用,并开始使用上面讲述的所有功能。之后你可以访问Windows Azure开发人员中心,以了解更多有关如何用Windows Azure构建应用程序的说明。
希望对你有所帮助,
Scott
附:除了写博客外,我现在还使用Twitter来快速更新和共享链接。请跟我到这里: twitter.com/scottgu