Windows Azure初体验

目前在IT界,云这个概念的第一意思不再是词典里的解释了。不过它们还是有相同点的——也许确实会酝酿出一块大蛋糕,可也是飘在天上,众神分食之,与我等P民无关。所谓云,不过是网络时代发展到一定阶段的必然产物,而并非划时代的技术质变,so,我一直保持既不排斥亦不主动接触的立场。but,最近我有个个人服务器快到期了,于是也打算尝试一番。

现在比较知名的云服务有很多,国内的首推阿里云,而作为.Neter,Windows Azure也是一种选择。本人同时申请了两者的免费试用体验,对于阿里云,在申请阶段博主被折腾得够呛,后面可能会写一篇吐槽的随笔;相对来说,Windows Azure价格昂贵,不过既然是免费体验(90天),试试亦无妨。

目前Windows Azure在国内由世纪互联运营,比较坑的是很多服务国内还没有开始运营。另外不能使用微软账号登录Windows Azure管理门户,而是使用在注册域名时填写的用户ID。假如您注册的域名是xxxx.partner.onmschina.cn,那么您的登录账号就是“用户[email protected]”。不出意外的话,申请之后两三天,你就能收到一份告知通过的邮件。

前几天又去Windows Azure中国首页看了下,发现官网已经不再接受新的试用申请,应该说博主搭了一趟末班车,运气!(截止到博主发文,Windows Azure中国官网又推出了所谓1元试用计划,名额为1500人,试用期一个月,且有积分限制)

另:本文只简略涉及博主接触到的功能,且并不保证所有阐述都正确。

登录后,会看到类似下图的页面,顶部为工具栏,左侧显示Windows Azure所提供的所有云服务,右侧面板显示您已在使用的服务。

点击顶部工具栏的下拉按钮,会弹出几个链接,其中“文档”链接到微软总部的微软云官网(不是中国[世纪互联]官网)。左侧菜单的一些概念我接触的并不多或者从没接触过,比如Active Directory,登录进来之后就发现其中已经存在一条目录了,即登录ID。根据网资(网上资料)所说——IT管理员通过 Windows Azure Active Directory,可以轻松管理用户对数百个云 SaaS 应用程序(如 Office 365、Box、GoToMeeting、DropBox、Salesforce.com 等)的访问,具体如单点登录、权限配置等等——so,我觉得这比较适用于企业内部系统,而相关的也有“域”、“命名空间”的概念,可以说,这应该是原来的一套windows服务器Active Directory在云端的重现。

存储



Windows Azure有个所谓的“存储账户”的概念,并提供了三种类型的存储服务——Blob 服务、表服务、队列服务。Blob 存储是一项可存储大量非结构化数据(如文档、图片、流媒体等)的服务;表服务提供类似NoSql方式存储数据;队列存储是一项可存储大量消息的服务,用户可以通过经验证的呼叫,使用 HTTP 或 HTTPS 从世界任何地方访问这些消息。

相对来说,Blob存储是更基础的存储服务,比如虚拟机中的数据磁盘即是Blob存储。因此,为避免出现硬件故障并提高可用性,Windows Azure在同一数据中心的三台计算机上复制每个 blob。写入 blob 时会更新所有三个副本,因此稍后的读取操作不会导致不一致的结果(博主并未找到任何资料涉及到这三个副本的负载平衡说明,因此可认为这里多个副本的存在只关乎可靠性,而非性能)。您还可以指定将 blob 数据复制到位于同一区域中但至少相距 500 英里的另一个 Windows Azure 数据中心。此复制称为“异地复制”,发生在 blob 更新后的几分钟内,可用于灾难恢复。我们还可以通过终结点对Blob数据进行读写操作,这里不再赘述。

对表服务的理解请参看:Windows Azure 表存储:不同于传统数据库,博主表示对文章中的一句话印象深刻:在学习新知识的时候,避免自己被迫转换观念,但却无法真正理解。

队列存储博主暂未研究,按过不表。

虚拟机



简单的说,虚拟机即是远程服务器。在管理门户中新建虚拟机的过程很简单。新建完毕后,点击网页下部工具栏的“连接”按钮,浏览器会自动下载远程连接用到的rdp文件:

下载完毕后,双击打开远程登录框,填入之前新建时设置的用户名和密码即可登录虚拟机(请自动忽略右上角亮点)。

可以看到,虚拟机自带系统磁盘和一个临时磁盘。Azure上的虚拟机上有两种磁盘,一种是存储在Blob存储上的,一种是存储在虚拟机所在物理机磁盘上的。前一种由于使用了Blob存储,其数据会按照Blob的存储策略在本地存3份,并在异地保持一份镜像,其数据的可用性和可靠性都很高,虚拟机通过网络访问这些Blob存储,不依赖于特定一台物理机。后一种依赖于物理机,如果物理机故障或进行维护,这个存储可能会被清空。显然,如果我们使用虚拟机的时候不分清楚磁盘类型,就会导致数据丢失。上图的C盘(系统盘)是Blob盘,D盘是临时盘。

临时盘往往空间比较大,完全不用的话有些可惜。另外,临时盘在本地,存取数据要比Blob快。因此,临时盘适合存放一些临时数据,比如裸日志、中间结果、上传下载的缓存等等。

为了提高运行效率,默认情况下,系统盘开启了读写缓存。

由于开启了磁盘缓存(主要是写入缓存),因此会有写入数据丢失的风险。综上所述,对于需要持久化的数据,比如数据库文件,系统盘和临时盘都不是很好的存放位置(当然你也可以关闭系统盘的写入缓存,不过有些得不偿失了,请看在 Windows Azure 上设置 SQL Server 虚拟机后续步骤一节)。我们可以通过附加一个新的数据磁盘到虚拟机来解决这个问题(当然得禁用写入缓存),附加的新磁盘是Blob盘。附加磁盘的步骤请参看:如何将数据磁盘附加到虚拟机。Now,我们就可以在虚拟机中安装SQL Server,并将数据库文件放到新的数据磁盘上了。如前所述,数据库似乎存储在运行服务器的 VM 的本地磁盘上。不过,事实上,其中每个磁盘都写入到 Windows Azure blob。与任何 Windows Azure blob 一样,它所包含的数据会在数据中心中复制三份。还可以使用 SQL Server 数据库镜像等方式来提高可靠性。

在新建虚拟机的过程中,会看到有个“可用性集”的选项,可参看:管理虚拟机的可用性。可结合使用可用性集和负载平衡终结点,以确保应用程序始终可用并且高效运行。有关使用负载平衡终结点的更多信息,请参见对虚拟机进行负载平衡

SQL Database



除了在虚拟机中安装SQL Server外,。Windows Azure 提供了称为 SQL Database 的 PaaS 技术,该技术允许您对关系数据进行单独管理。

新建SQL Database时会让你选择在已有服务器上新建库还是新建一个服务器,下图所示为部署在两台服务器上的两个SQL Database。

SQL Database 不为每个客户提供自己的 SQL Server 物理实例。相反,它为每个客户提供多租户服务和逻辑 SQL Database 服务器。所有客户共享该服务提供的计算和存储容量。与 Blob 存储一样,SQL Database 中的所有数据都存储在 Windows Azure 数据中心的三台独立计算机上,从而为您的数据库提供内置的高可用性 (HA)。虽然对应用程序来说,SQL Database 非常类似于 SQL Server,但它的行为与运行在物理计算机或虚拟机上的 DBMS 不完全相同。因为它运行在共享硬件上,所以其性能将随其所有客户置于该硬件上的负载而变。这意味着 SQL Database 中存储过程等任务的性能可能每天都在变化。

在使用本机客户端访问云端数据库之前,需要配置服务器,允许访问它的IP地址(配置页面会自动获取你的公网地址,你也可以添加其它允许访问的IP[范围]);由于网站也打算放在云端,所以设置其它云服务也能访问该服务器。这一步骤在服务器的配置选项卡下进行。

Now, 现在就可以在本机使用客户端访问云端数据库了,以上图test数据库为例,链接地址为:rmvatzpfci.database.chinacloudapi.cn,1433。连上之后,就可以开始部署了,比如迁移数据库,如下图:

这同以往的数据库部署并无不同,博主非常顺利地将本地数据库迁移到云数据库。然而在使用时发现,select into 到临时表的方法将出现异常——“Statement ‘SELECT INTO‘ is not supported in this version of SQL Server.”网上资料( SELECT INTO With SQL Azure)说SQL Azure要求所有表都要有聚合索引(经验证并不需要),而这对于select into 创造的临时表来说自然是强人所难。不论如何,我们可以使用先create临时表(不需要聚合索引),再Insert INTO 的方式使用临时表。

关于 SQL Database 和虚拟机中的 SQL Server ,博主查阅资料后也没有发现很大不同,也许要深入使用后才能真正理解并区别开来。

网站



关于如何在Azure管理门户中新建一个默认空站点不再赘述,在这步完成之后,就可以使用VS将网站直接发布到云端了。步骤如下:

1、在管理门户中点击一条网站记录进入网站管理页面,then点击“下载发布文件”,将会下载一个PublishSettings类型的文件:

2、打开vs(博主用的是2012),右键项目——发布——配置,点导入,选择之前下载的配置文件:

3、确定后,下一步为连接到服务器的必要的验证信息:

4、下一步,在“设置”选项卡将看到应用程序使用到的数据库。该步骤会自动检测EF context和web.config中的数据库连接字符串的key值,可以按需设置连接字符串(在本例中,连接数据库即为前述云端SQL Database),也可以发布成功后在管理门户中手动添加:

5、下一步,选择需发布的文件,点击发布,完成。

我们还可以使用ftp发布网站和管理网站文件,ftp地址在网站管理的仪表盘选项卡下:

关于网站是否有负载平衡的支持,官方说“内置自动缩放和负载平衡”,但资料较少。

[更多]参考资料:

Windows Azure使用必读

为什么我们需要域?Active Directory系列之一

部分云端存储类型介绍和比较:数据管理和业务分析

如何向Azure虚拟机传文件

Windows Azure Virtual Machines设置IIS 7.5 FTP

什么是IaaS, PaaS和SaaS及其区别

转载请注明本文出处:http://www.cnblogs.com/newton/p/3913679.html

时间: 2024-11-02 12:06:27

Windows Azure初体验的相关文章

Windows Azure 初体验

最近看到windows azure 在做活动,只需花一块钱就可以体验一个月的windows azure. 于是,我就注册了一个账号也尝试一把云时代,传送门. 注册很简单的,成功后可以看到这个界面. 然后,我就研究了一下怎么把网站发布到云上,在此分享一下.网站是简单的基于asp.net mvc + code first 比较简单. 首先新建一个asp.net mvc 的网站.在此我命名为 WindowsAzureMVC,为了支持code first 需要添加entity framework 的dl

Windows Azure初体验--功能介绍

Windows azure功能介绍 随之云计算时代的到来,让很多人都感觉在云里雾里.云到底是什么概念呢?我相信没有人能给一个合理的解释,反正我到目前理解是,公有云是托管在数据中心的服务器,前提是数据中心提供所有的软硬件服务,但是这样的解释也不完全对,也不完全错. Windows Azure分为中国版本和国际版本,两个在功能上有很大的区别.国际版的Azure功能相对比较丰富.在中国部署的windows azure 服务机房主要分布在北京.上海.在windows azure上通过地缘组来区分.那什么

Windows Azure 超值体验1元一个月,还可获得CSDN 500C币

在CSDN首页上看到Windows Azure 超值体验1元一个月的广告,最重要的是参与活动还可获得CSDN 500C币,果断参加一下. Windows Azure是什么? Windows Azure 是一个开放而灵活的云平台,通过该平台,您可以在世纪互联管理的数据中心的网络中快速生成.部署和管理应用程序.您可以使用任何语言.工具或框架生成应用程序.可将公有云应用程序与现有 IT 环境相集成. Windows Azure 中有什么? 从服务的角度来说,Windows Azure 可以为各类用户提

Windows Azure Platform体验(3):Azure AppFabric

Windows Azure Platform有Windows Azure.SQL Azure.Azure AppFabric三部分. 使用AppFabric,可以轻松将内部部署应用程序与云连接.通过在内部部署的IT应用程序和基于云的服务之间启用安全连接和消息传送,AppFabric提供标识管理和防火墙友好的消息传送,从而保护您的资产. 这节我们体验Azure AppFabric,必备软件: Microsoft Visual Studio 2010 Windows Azure AppFabric

Windows Azure Platform体验(2):SQL Azure

Windows Azure Platform有Windows Azure.SQL Azure.Azure AppFabric三部分. SQL Azure是云关系数据库.您的数据:随时随地管理.SQL Azure是云中的完全关系数据库. 这节我们体验SQL Azure,必备软件: Microsoft SQL Server 2008 R2 Windows Azure Platform账户 这次体验有下面几个步骤,分别是: 初始化SQL Azure 连接到SQL Azure 配置SQL Azure数据

Windows Azure Platform体验(1):Windows Azure

创建云服务项目 首先理解下Web托管角色功能,利用这个功能,我们创建一个新网站,然后将它托管在Windows Azure内. 以管理员身份启动Visual Studio 2010,创建一个新的Azure云服务项目.选择"云"模板类型的"Windows Azure 云服务"项目模板.将这个新项目命名为"HelloAzure",单击"确定"之后,立即弹出一个新的向导. 在这个向导中,可以为这个云应用程序创建一些不同类型的角色,这样

Windows Azure 使用体验

本文只是对Windows Azure的肤浅使用做个记录,算是简单入门吧. 一.门户网站 Windows Azure其实有两个版本,我们在国内所说的或者说所用的就是有别于国际版的,主要原因我想各位也是知道的,毕竟数据存储在哪还是比较敏感的.当然两个版本提供的服务也是有所区别的,主要就是国际版的服务比较多,比较全,而且更新也是最及时的,这点我们从其官网也可以看出端倪: Windows Azure的国际版官网为http://azure.microsoft.com/en-us/ 国内版的官网为 http

Windows 10初体验

最近Win10一波又一波的更新推出,距离正式版发布只有6天了,昨天在群里的好友有share一个近似RTM的镜像出来,虽不知是否为RTM,但其实应该不会有太大不同,所以今天一早就依然决定在VM里安装先体验下,尽管之前去年9月30号发布后也有安装过,但那时候bug实在太多,那就开始安装之旅. 开机安装界面,和Win8.1其实没有不同. 2.进入"Windows 安装程序"由于我这里是简体中文语言,所以默认即可. 3.进入"现在安装" 4.进入产品密钥界面,注意这里可以输

Windows Azure 免费初体验 - 创建部署网站

前几天在看到有个学Windows Azure课程,送Windows Azure的活动,课程地址:http://www.microsoftvirtualacademy.com/ 在活得体验资格后,就迫不及待的捣鼓了下.在这里就介绍一下如何将自己的网站部署到Windows Azure上. 首先介绍下本机环境: -- 安装了Visual Studio 2013(自带数据库设计工具;虽然安装了SQL Server 2008,但是还是无法连接 SQL Server 2014) -- 安装了Git 下面就将