Windows Azure使用VS 2010的云应用开发过程

原文 Windows Azure使用VS 2010的云应用开发过程

作为技术人员,如果在2010还不知道云计算,那么你已经“OUT”了;作为Visual Studio平台的使用者,如果你不知道VS 2010,那么你已经成了“土人”。现在已经有很多的先行者开始尝试在Windows Azure Platform(微软云计算平台)上使用VS 2010开发一些云应用了。在本文中将介绍使用VS 2010开发云应用的过程,不要有太多的担心,只要您熟悉ASP.Net应用程序开发,云应用开发是一个比较容易的过程,而且肯定会给您一个愉悦的开发体验。

在微软云计算平台上能做的云应用开发主要包括三类:Web应用程序、并行计算、分析应用程序,如表1所示:

 

进行微软云应用的开发,首先需要对开发环境进行配置。在这里我们不打算对JAVA、PHP、RUPY开发环境进行介绍,有关它们的开发环境,感兴趣的读者可以参考SDK里的相关描述。在这里我们只是介绍在Visual Studio平台下如何进行云应用的开发。

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

因此我们在安装了VS2008或VS2010、SQL Server 2005/2008/2008 R2后,再安装一个扩展的工具包就可以进行云应用的开发了,这个扩展工具包是:Windows Azure Tools for Microsoft Visual Studio 1.1,其下载的地址是:

http://www.microsoft.com/downloads/details.aspx?familyid=5664019E-6860-4C33-9843-4EB40B297AB6&displaylang=en

使用VS 2008 和VS2010开发云应用的过程没有本质区别,但是VS 2010提供了云应用的开发、调试、部署、管理的整套工具,如开发云计算的程序模式、开发云计算的资料模式、开发云计算的项目范本、离线测试云计算项目、云计算部署等等,这些功能都缩短了云应用的开发周期,因此我们将使用VS 2010来开发云应用。注意在开发云应用的过程中,需要安装SQL Server Express,如果没有安装,可以使用VS 2010的安装文件添加安装。

在VS 2010上安装此工具包有2种方式,一种是直接下载安装;另一种是打开Visual Studio 2010,点击“文件”*“新建项目”,选择Visual C#或Visual Basic顶级节点,在窗口右侧已安装模板列表中找到Cloud(云)节点,当你选中这个节点后,你只会看到一个项目模板“启用Windows Azure工具”,双击这个模板,将会在一个新标签窗口中打开一个HTML文档,这个文档提供了下载Windows Azure工具的链接,跟着链接下载并安装Windows Azure工具。安装了此工具包后就能创建云应用项目,如图1所示:

 

 

在VS 2010中,云应用开发主要包含5个步骤:创建云服务、配置云服务、生成云服务、运行和调试服务、发布服务,如果有需要使用云存储的应用还包括使用存储服务。在这5个步骤中,前4个步骤是开发云应用的过程,第5步是部署云应用的过程。

(1) 创建云应用程序

Windows Azure提供了一种叫做role的概念,每个role就可以被认为是一段程序,只是这段程序可以同时在一台或者多台机体上运行。每个role可以有多个实例(instance),每个实例就对应一台虚拟机。对同一个role而言,它所有的实例执行的程序都是相同的。现在有两种类型的Role:Worker角色和Web角色。一个Web角色就是运行在IIS上的一个Web应用程序,它可以通过HTTP或HTTPS端点与外界通信,一般来说,Web角色响应请求,执行一个动作,然后等待下一个请求的到来。Worker角色是运行.Net框架代码的后台进程应用程序。

在这里我们使用VS 2010,选择的角色类型是ASP.Net Web Role, 创建一个云应用的演示项目TimeAzure,如图2所示:

 

 

创建完成后,修改我们的Web Role1为TimeAzure_WebRole,现在的项目组织如图3所示:

 

 

由项目结构图我们可以看到云应用项目和普通的ASP.Net项目的不同,云应用项目会产生一个云应用的项目和一个ASP.Net的项目,云应用项目对ASP.Net项目进行引用,同时云应用项目中还包含服务定义和服务配置文件,这两个文件在配置、运行和部署云应用时将要用到。  

 

在Default.aspx页面里拖入一个Label,命名为Label1,并在Default.aspx里输入如下代码:

 

<ccid_nobr>
<ccid_code>protected void Page_Load(object sender, EventArgs e)

        {

            this.Label1.Text = DateTime.Now.ToString();

        }

在这里,我们开发云应用的步骤就结束了,整个开发过程和开发ASP.Net没有任何区别,我们无需从零开始学习云应用开发,这也是微软云计算平台的一大优势。

(2) 配置云服务

开发完云应用程序后,我们就需要对应用进行配置。打开ServiceConfiguration.cscfg文件,修改配置文件如下:

 

<ccid_nobr>
<ccid_code><?xml version="1.0"?>

<ServiceConfiguration serviceName="TimeAzure" xmlns="http://schemas.microsoft.com/ServiceHosting/2

008/10/ServiceConfiguration">

  <Role name="TimeAzure_WebRole">

    <Instances count="3" />

    <ConfigurationSettings>

      <Setting name="DiagnosticsConnectionString" value=

"UseDevelopmentStorage=true" />

    </ConfigurationSettings>

  </Role>

</ServiceConfiguration>

在服务设置文件中,我们可以定义角色并对角色进行设置,这里使用默认已经创建好的角色,只是设置了实例的数量,由“1”改成了“3”。

(3) 生成云服务

生成云服务和生成普通的ASP.Net程序完全一样,点击Build |Build Solution即可,编译的过程中,会对云应用服务进行打包,生成TimeAzure.csx文件,本地Development Fabric会使用这个.csx文件。

(4) 调试和运行云服务

点击Debug | Start Debugging开始对云应用的测试,如果没有安装SQL Server Express就会出现如图5所示的错误,这也是在前面提到的需要安装SQL Server Express的原因。

 

 

设置TimeAzure为启动项目,点击运行或调试,运行或调试云应用的时候会启动本地的Development Fabric,它模拟了Windows Azure的服务。Development Fabric宿驻了你的服务中所有的Web Role和Worker Role的实例。要显示Development Fabric的用户界面,双击系统任务栏中的Development Storage图标,打开窗口如图7所示:

 

 

在上图中显示了运行的服务的3个实例,这3个实例也对应了我们在服务设置文件里设置的实例数,点击每一个实例的窗口,可以查看实例的详细信息。注意当停止服务运行或调试,本地Development Fabric和Storage元素不会停止,必须手动从系统工具栏中停止才行。

(5) 发布云服务

生成解决方案后,对应用程序也进行了调试,这些工作完成后就可以发布云应用。值得推荐的一个部署过程是:

 在Windows Azure Development Fabric中使用本地存储,在本地运行云应用程序。

 在Development Fabric中使用Windows Azure存储帐户,在本地运行云应用程序

 在Windows Azure上使用Windows Azure存储帐户运行云应用程序

要发布服务,右键单击TimeAzure项目,然后选择发布,如图8所示:

 

 

这将打开Windows Explorer到解决方案文件夹中的Publish文件夹,如图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所示:

 

部署完成后,就可以点击Run来运行我们的云应用,这样所有的机器就可以通过Internet来访问我们的云应用了。

小结

单纯从开发应用程序的过程来看,开发云应用和ASP.Net应用没有太多区别,这对广大的ASP.Net程序员来说是一大福音。VS 2010 是开发云应用的一大利器,使用它您可以很轻松地开发、配置、调试、部署云应用。您还等什么呢,赶快开始您的云计算之旅吧! 

你可能感兴趣的:(windows)