微软Windows Azure云应用开发实践
徐注:请看这篇文章,好像不需要注册帐号.多查些资料确认一下.
2009年10月27日,微软首席架构师Ray Ozzie在洛杉矶的开发者大会(PDC)上宣布了Azure Services Platform平台,2010年1月Windows Azure正式发布,2010年2月Windows Azure Platform(微软云计算平台)正式开始收费,这标志着微软云计算的软件平台已经搭建起来了。 据研究机构Evans Data最近的云开发调查显示,30%接受调查的软件开发人员表示他们正在面向云环境开发应用,另有19%指出他们预计将在未来12个月内投入到云开发工作当中。2010年3月,微软首席执行官史蒂夫•鲍尔默在美国华盛顿大学发表演讲时也指出,微软将举全公司之力投入云计算,表示“我们将把赌注押在云计算领域”。到目前为止,微软在全球有40000多名员工在从事软件开发工作,其中约70%的员工所从事的工作与云有关,与我上面所谈到的5个方面相关,一年以后,这一比例可能会上升到90%左右。
微软云计算平台从发布测试版本到正式发布的时间也不算短了。作为技术人员就要紧紧跟随技术的脚步不断前进,并且很多开发人员已经开始尝试在这个平台之上开发他们的应用了。在本文中,你将了解到配合使用Visual Studio,如何去学习和掌握微软云计算平台,本文的主要内容包括:微软云计算平台能做什么、开发环境搭建与云应用开发过程。
微软云计算平台能做什么
根据官方资料,微软云计算平台包括三大组成部分:Windows Azure、SQL Azure、Windows Azure Platform AppFabric。Windows Azure 可看成一个云计算服务的操作系统,也是云计算的基础服务层,主要从事虚拟化计算资源管理和智能化任务分配;SQL Azure是云中的数据库,SQL Azure运行云计算的关系数据库服务,是一种云存储的实现,并提供网络型的应用程序数据存储的服务,它的基础是SQL Server 2008;AppFabric 是一个基于 Web 的开发服务,它可以把现有应用和服务与云平台的连接和互操作变得更为简单,AppFabric作为中间件层,将起到连接非云端程序与云端程序的桥梁的功能。它提供了两大服务,服务总线和访问控制。AppFabric 让开发人员可以把精力放在他们的应用逻辑上而不是在部署和管理云服务的基础架构上。云计算平台在微软产品线中如图1所示:
图1 Windows Azure 平台
了解了微软云计算平台的整体功能后,我们具体来了解一下微软云计算平台给用户提供了什么以及在此平台上可以做什么应用。微软的架构布道者Bill Zack详述了微软云计算平台给用户提供的功能和服务主要包括计算、存储、通信、管理。如表1所示:
表1 微软云计算模式和功能
有了这么多模式和功能后,我们在云平台上就可以做一些应用和开发了,我们能做的开发主要包括三类:web应用程序、并行计算、分析应用程序,如表2所示:
表2 云应用开发类型
开发环境搭建
微软云计算平台的一大优点是能够有效利用已有的软件资源,自由选择是否采用云计算。对开发人员来说,可以使用熟悉的开发语言和工具,比如广大开发者可以使用Visual Studio在微软云平台上开发云计算应用程序。这样开发人员无需放弃现有的甚至是多年积累的开发技能和经验,无需重新花费时间成本学习全新的开发语言和工具,而且还可以从传统编程方式相对平滑地转移到面向云计算的编程方式。
除了对VS平台开发的支持,对于Java、PHP、Rupy来说,也可以使用微软云计算平台来进行云应用的开发,而且还提供了开发的SDK,其地址如下:
通过这个页面,开发人员可以找到微软官方提供的很多关于云计算的开发资源,如平台简介、VS平台开发工具包、培训工具包、实例代码、SDK、解决方案等等,除此之外,还可以去微软云计算中文博客网站,这里介绍了云计算的入门知识,其地址是:
http://blogs.msdn.com/b/azchina/ 进行微软云应用的开发,需要了解开发环境和配置。在这里我们不打算对JAVA、PHP、RUPY开发环境进行介绍,有关它们的开发环境,感兴趣的读者可以参考SDK里的相关描述。在VS平台下,简单的说,我们只需要在安装了VS2008、VS2010、SQL Server 2008后,再安装一个扩展的工具包就可以进行云应用的开发了,这个扩展工具包是:Windows Azure Tools for Microsoft Visual Studio 1.1,其下载的地址是:
安装了此工具包后就能创建云应用项目,如图2所示:
图 2 VS 2010云应用项目
具体来说,VS平台下云应用的开发环境如下所述:
(1)Visual Studio .NET 2008/2010
(2).NET Framework 3.5
(3)Windows Communications Foundation
(4)ADO.NET
(5)ADO.NET Data Services
(6)Web services (REST, SOAP)
(7)XML
(8)ASP.NET
(9).NET security
(10)SQL Server database development
应用与案例
VS 2010提供了云应用的开发、调试、部署、管理的整套工具,如开发云计算的程序模式、开发云计算的资料模式、开发云计算的项目范本、离线测试云计算项目、云计算部署等等。这些功能都缩短了云应用的开发周期。从VS2010平台本身来说包括以下云应用开发工具:
(1)C#以及VB云服务项目的模版;
(2)更改Service Role设置的工具;
(3)本地开发整合Development Fabric以及Development Storage服务;
(4)在Development Fabric下的对Cloud Service Roles的调试;
(5)建立云服务软件包;
(6)浏览Azure Services Developer Portal;
在本文的案例中我们以VS2010为例,创建一个最简单的云应用,使用云服务显示当前时间,这个应用类似于培训工具包里的HelloWindowsAzure,旨在给大家介绍一下云应用开发和部署的整个过程。在VS 2010中,云应用开发主要包含5个步骤:创建云服务、配置云服务、生成云服务、运行和调试服务、发布服务,如果有需要使用云存储的应用还包括使用存储服务。在这5个步骤中,前4个步骤是开发云应用的过程,第5步是部署云应用的过程。下面我们分别介绍
(1) 创建云服务应用程序
在这里我们使用VS 2010 创建一个云应用的演示项目TimeAzure项目,如图3所示:
图3 创建TimeAzure项目
可以使用VB、C#或F#来创建 ASP.Net Web Role 、ASP.Net MVC 2 Web Role、WCF Service Web Role 、CGI Web Role、Worker Role这些云应用项目,不过ASP.Net MVC 2 Web Role项目在VS 2008的云应用项目不能够被创建。创建完成后,我们的项目组织如图4所示:
图 4 云应用项目结构
由项目结构图我们可以看到云应用项目和普通的ASP.Net项目的不同,云应用项目会产生一个云应用的项目和一个ASP.Net的项目,云应用项目对ASP.Net项目进行引用,同时云应用项目中还包含服务定义和服务配置文件,这两个文件在配置、运行和部署云应用时将要用到。
在Default.aspx页面里拖入一个Label,命名为Label1,并在Default.aspx里输入如下代码:
protected void Page_Load(object sender, EventArgs e)
{
this.Label1.Text = DateTime.Now.ToString();
}
在这里,我们开发云应用的步骤就结束了,整个开发过程和开发ASP.Net没有任何区别,我们无需从零开始学习云应用开发,这也是微软云计算平台的一大优势。
(2) 配置云服务
开发完云应用程序后,我们就需要对应用进行配置。打开ServiceCon**uration.cscfg文件,修改配置文件如下:
/>
/>
在服务设置文件中,我们可以定义角色并对角色进行设置,这里使用默认已经创建好的角色,只是设置了实例的数量,由“1”改成了“3”。
(3) 生成云服务
生成云服务和生成普通的ASP.Net程序完全一样,点击Build |Build Solution即可,编译的过程中,会对云应用服务进行打包,生成TimeAzure.csx文件,本地Development Fabric会使用这个.csx文件。
(4) 调试和运行云服务
点击Debug | Start Debugging开始对云应用的测试,但是出现错误提示,如图5所示:
图5 调试错误
此错误的原因是没有安装SQL Server Express,点击安装后,再次运行调试,弹出初始化存储服务界面,如图6所示:
图6 初始化开发存储数据库
设置TimeAzure为启动项目,点击运行或调试,运行或调试云应用的时候会启动本地的Development Fabric,它模拟了Windows Azure的服务。Development Fabric宿驻了你的服务中所有的Web Role和Worker Role的实例。要显示Development Fabric的用户界面,双击系统任务栏中的Development Storage图标,打开窗口如图7所示:
图7 Development Fabric窗口
在上图中显示了运行的服务的3个实例,这3个实例也对应了我们在服务设置文件里设置的实例数,点击每一个实例的窗口,可以查看实例的详细信息。注意当停止服务运行或调试,本地Development Fabric和Storage元素不会停止,必须手动从系统工具栏中停止才行。
(5) 发布云服务
生成解决方案后,对应用程序也进行了调试,这些工作完成后就可以发布云应用。将创建一个包含了所有的服务组件的.cspkg文件,之后会连接到Azure Services Developer Portal。要发布服务,右键单击TimeAzure项目,然后选择发布,如图8所示:
图 8 发布云应用
这将打开Windows Explorer到解决方案文件夹中的Publish文件夹,如图9所示:
图9 发布云应用
在打开publish文件夹的同时打开Azure Services Developer Portal。在这里我们使用Live ID来登录到Azure Services management portal上进行部署,在部署时需要有一个邀请码,关于邀请码的获得,以前的方法是直接在Azure的网站上进行申请。然后就可以登录到Developer Portal并按照向导上传应用程序到Windows Azure,有关上传的步骤这里就不描述了,这是一个向导式的过程,把.cscfg和.cspkg上传就可以了。注意在部署的时候我们可以部署到生产环境或者演示环境,如果只是做一个Demo,那我们就把云应用部署到演示环境上。有关云应用部署的更详细步骤,感兴趣的读者可以参考MSDN:
http://blogs.msdn.com/b/azchina/archive/2010/02/18/webrole.aspx 部署完成后,打开界面类似图10所示:
图10 部署云应用完成
部署完成后,就可以点击Run来运行我们的云应用,这样所有的机器就可以通过Internet来访问我们的云应用了。
小结
有了微软云计算平台的支持,微软官方提供的各种资源,软件开发工具与平台的支持,使用现有的.Net平台软件开发技术,作为一个有一定VS平台开发经验的技术人员来说,我们开发云应用或云服务的过程和开发普通VS Web应用程序差不多,只是在部署的时候有所不同,在部署的过程中,我们需要把编译生成的文件上传上去,进行一些必要配置就可以通过Internet进行访问了。整个过程还是比较容易的,看到这里,你是否已经对开发云应用充满了期待呢,心动不如行动!
原文出自【比特网】,转载请保留原文链接:
阅读(1943) | 评论(1) | 转发(0) |