Windows Azure中国区试用一睹为快

自从微软在今年6月6日宣布开展Windows Azure中国区的免费试用以来,大家都翘首以盼,希望能早日体验这项服务。无奈好事多磨,试用账号的发放比想象中来得慢了一些,即使是微软内部员工也很难获得账号。这两天我终于拿到一个试用账号,初步试用了一下由世纪互联运营的中国版Windows Azure.


总的来说,中国版和国际板的服务差别不大,由于在国内刚刚推出,而且服务仍处于试用阶段,并不是每项服务现在都可以试用,不过所有核心的服务都已经就绪了。另外值得一提的是,在开发工具、API、命令行工具方面,国内版和国际版没有任何区别,用户只需要指向不同域名即可用同一套工具管理不同的服务


下面就从几个方面简单对比下国内版和国际版的Azure服务

URL

Windows Azure国际版的入口是www.windowsazure.com,管理门户地址是manage.windowsazure.com

中国版的URL采用了.cn域名,门户地址是www.windowsazure.cn,管理门户地址是manage.windowsazure.cn

需要注意的是,在全球版Azure管理门户里,用户可以通过一个门户管理8个区域(不包括中国)的服务,而在中国版的门户里,用户只能选择中国的两个区域:华北和华东。也就是说,国内版和国际版是完全隔离的,即使管理门户也是完全分开的,用户无法从国内版看到国际版的服务,反之依然。用户如果希望同时部署服务到国内和国外,需要分别订阅世纪互联的服务和微软的服务,然后从两个门户分别进行部署

Windows Azure中国区试用一睹为快_第1张图片

此外,Windows Azure还有一系列域名用于各个服务、API等用途,对比如下:

  中国版 国际版
云服务与虚拟机域名后缀 .chinacloudapp.cn .cloudapp.net
SQL数据库域名后缀 .database.chinacloudapi.cn .database.windows.net
存储服务域名后缀 .blob/table/queue.core.chinacloudapi.cn .blob/table/queue.core.windows.net
服务总线域名后缀 .servicebus.chinacloudapi.cn .servicebus.windows.net
管理API域名 management.core.chinacloudapi.cn management.core.windows.net

可见,以上这些域名中,中国区使用的顶级域名有两个,分别是chinacloudapp.cn和chinacloudapi.cn,国际版的是windows.net和cloudapp.net

除了域名后缀以外,中国版和国际版命名规则完全一样

订阅与计费

国际版目前支持免费试用和多种付费方式,而国内版由于还没有商用,目前只有免费试用(目前试用暂停申请了),而具体的费用需要等正式商用才可公布

服务种类

登陆国内版的管理界面后,能够使用的服务一目了然。可以发现一些核心的服务都已就绪,包括虚拟机、云服务、SQL数据库、存储、服务总线、虚拟网络。与国际版相比,目前主要欠缺的服务包括:移动服务、媒体服务、大数据HDInsight、SQL报表、恢复服务、AD服务、应用商店和流量管理器

此外,在门户左上角不难发现“由世纪互联运营”字样,说明该服务是由世纪互联提供的

Windows Azure中国区试用一睹为快_第2张图片


服务能力

在功能方面,目前国内已发布的服务和国际版的服务是同步的,比如国际版里面虚拟机服务的创建过程在上个月进行了更新,而现在中国版的虚拟机创建过程跟国际版是一样的。不过,某些服务的某些功能并没有在国内版体现,比如,国内版目前也没有自动伸缩和健康监控功能。

一个令人欣慰的功能点,是国内版虚拟机提供中文Windows镜像。此外,同样提供了SQL、SUSE、Ubuntu和CentOS镜像

Windows Azure中国区试用一睹为快_第3张图片

选择中文Windows部署后,可以看到部署后的虚拟机确实是中文的

Windows Azure中国区试用一睹为快_第4张图片


开发与集成

Windows Azure的一大优势,是提供了丰富的开发工具,包括Visual Studio集成、Eclipse集成、命令行工具、API等。使用这些工具,开发者可以不必依赖于门户,同时也可以调用很多PaaS服务,比如消息总线。尽管国内版和国际版由不同厂商运营,具有不同的URL,但是Windows Azure在设计之初已经考虑到这种可能性,各种开发工具并不是通过硬编码与Azure集成,而是通过一个名为publishsetting的订阅文件,这个文件里面定义了用户的订阅信息,主要是目标URL、订阅名称、证书等。只要将这个订阅信息导入开发工具,开发工具就可以与相应的Azure服务进行集成。对于不同运营商提供的Azure服务,只需要提供不同的publishsetting文件就可以实现开发工具的集成。

在Visual studio上连接中国区Azure的方法如下。

在服务器资源管理器视图中,右键Windows Azure图标(本机需要事先安装好Windows Azure SDK for .NET),点击“导入订阅”

Windows Azure中国区试用一睹为快_第5张图片

在弹出的对话框中点击“下载订阅文件”

Windows Azure中国区试用一睹为快_第6张图片

这会打开一个浏览器,指向https://manage.windowsazure.com/publishsettings/xxxx这个地址,这个地址是全球版的,要下载中国区的订阅文件,只需要将URL里面的.com改为.cn。进入这个URL后,保存下载的文件到本地

Windows Azure中国区试用一睹为快_第7张图片

在上一步的Visual studio对话框中选中该下载的文件,Visual studio就可以自动导入该中国区订阅里面的各种服务了。

Windows Azure中国区试用一睹为快_第8张图片


尽管中国版和国际版的管理门户是相互隔绝的,开发者却可以从Visual studio里面同时管理中国版和国际版的Azure服务,如果我们希望只看到中国区的服务,可以点击“筛选器服务”

Windows Azure中国区试用一睹为快_第9张图片

然后在订阅和区域里面选择需要显示的服务

Windows Azure中国区试用一睹为快_第10张图片


Eclipse配置方法(已安装Azure插件)如下:

首先在Windows-Preference->Windows Azure里面将Active Set改为windowsazure.cn,然后保存

Windows Azure中国区试用一睹为快_第11张图片

这样Eclipse会将中国区作为发布目标。接下来就可以正常发布了。

在项目发布窗口上,点击Import from publish-setting

Windows Azure中国区试用一睹为快_第12张图片

在弹出的对话框中点击Download Publish-setting file。这时Eclipse会打开windowsazure.cn窗口,下载中国区订阅文件。下载后导入该文件即可以继续发布


如果使用Powershell命令行工具,也可以通过导入中国区的订阅文件管理中国版的服务

如果通过代码直接调用Azure API,可以按照前面所述的URL对应方式修改目标URL


数据同步与迁移

如果大家已经在国际版Azure上运行应用,或者希望部署应用到国内版与国际版,该如何进行数据同步呢?显然,国内和国际的数据中心是完全隔离的,所有跨越中国边界的访问都是通过互联网进行,Azure本身不会进行任何跨越中国边界的数据同步。这样我们需要有Azure之外的工具进行数据同步,这要分不同情况处理:

[虚拟机与虚拟机磁盘]

虚拟机磁盘上的数据都存储在Azure Blob上,这些磁盘往往都比较大,Linux的有30G,Windows的有130G。尽管我们可以把磁盘下载下来,再上传到中国区,但这个过程会比较长。简单的做法,是在国内和国外部署相同的VM,然后用VM同步工具,比如rsync


[SQL数据库]

这个比较简单,在Azure界面上把数据导出为bacpac,再进入另一边的门户导入即可。目前国内版SQL数据库不支持SQL Sync


[Blob存储]

用Azcopy工具进行文件拷贝即可,Azcopy可以拷贝一个container下的所有文件

http://blogs.msdn.com/b/windowsazurestorage/archive/2013/04/01/azcopy-using-cross-account-copy-blob.aspx

拷贝方式为

AzCopy https://<sourceaccount>.blob.core.windows.net/<sourcecontainer>/ https://<destaccount>.blob.core.chinacloudapi.cn/<destcontainer>/  /sourcekey:<key> /destkey:<key> /S


性能

见后一篇文章


最后,Windows Azure中国区的官方网站上也介绍了中国区的具体差异。可参考

http://mcwamarketingportal.cloudapp.net/zh-cn/develop/other/developerdifferences/

你可能感兴趣的:(windows,azure,azure)