引言
云计算是一个可以让你在云中(也就是在远程服务器中)开发和部署应用程序的基础结构。使用云计算的主要优点是:可以降低成本,可以获得良好的可扩展性,可以增加灵活性和提高效率。微软的Windows Azure平台是一个云操作系统,它包含一系列云技术,其中的每种技术都负责提供一组特定的服务。本文首先会对云计算以及它的优点做一个概述,然后会和你一起探讨如何使用Microsoft Visual Studio 2010开发云应用程序。
前提条件
要使用本文中的代码样例,你应该在你的系统中安装如下工具:
Microsoft Visual Studio 2008
Microsoft Azure Tools for Microsoft Visual Studio
当然,你也可以使用Microsoft Visual Studio 2010和Windows Azure Tools for Microsoft Visual Studio 2010。
什么是云计算?
现在,云计算是一个时髦的词汇。它被定义为一种现象,它承诺可以通过增加应用程序部署的速度和降低成本来增加业务的敏捷性。注意:云计算并不是一次技术革命,它是一次业务和流程的革命。Windows Azure平台是微软的云计算框架,它提供了各种各样的互联网服务,这些服务既可以在公司内部环境中使用,也可以在Internet上使用。
Microsoft Windows Azure Services平台给你提供了一个托管平台,以及一些驻留在云中的,开发应用程序所必须的工具。它包括下面这些组件:
1.Microsoft Azure
2.SQL Azure
3.Microsoft .NET Services
4.Live Services
在Microsoft Visual Studio 2010中构建你的第一个Cloud Service。
Microsoft Visual Studio 2010支持很多功能,它可以让桌面或Web应用程序开发变得更加容易。在这一小节里,我们会一起来探讨如何使用Visual Studio 2010来开发云应用程序。Visual Studio 2010包含Windows Azure Tools,它可以帮助开发者开发,调试和部署可以驻留在云中的应用程序和服务。这是MSDN的说明:“Windows Azure Tools和Visual Studio 2010可以让创建,编辑,配置,调试和部署运行在Windows Azure上的应用程序变得更加容易。它们可以让你继续使用现在掌握的ASP.NET和Microsoft Visual Studio的技能。”(具体可以参考:http://msdn.microsoft.com/en-us/magazine/ee336122.aspx )
要在Microsoft Visual Studio中创建你的第一个Cloud Service,可以按照下面这些步骤来进行:
1.打开Microsoft Visual Studio 2010 IDE
2.点击“File”->“New Project”
3.选择“Cloud Service”作为项目类型
4.在“Enable Windows Azure Tools”上单击,然后点击“OK”
5.在接下来出现的这个界面中点击“Download Windows Azure Tools”按钮。实际上,如果你的系统中没有安装Windows Azure Tools for Visual Studio 2010,你就不能使用Microsoft Visual Studio 2010来开发可以驻留在云中的应用程序。如果你点击了上面那个界面中的那个按钮,那么,Windows Azure Tools for Visual Studio 2010的下载就会开始了。你可以在下面这个界面中看到这个过程。
注意:在你安装Windows Azure Tools for Visual Studio 2010以前,你应该首先在你的系统中安装IIS。如果Windows Azure Tools for Microsoft Visual Studio 2010的下载完成了,双击那个.msi文件来安装它。下面这个界面展示了安装的过程。
当Windows Azure Tools for Visual Studio 2010的安装完成的时候,会出现下面这个界面:
注意:你应该以管理员身份运行Visual Studio 2010。现在,Windows Azure Tools for Microsoft Visual Studio 2010和必要的组件都已经安装完毕了,你已经可以使用开发云应用程序需要的模板和运行时组件了——你不需要为访问Azure云服务而注册,你也不需要邀请码。
现在,按照刚才讨论的步骤(步骤1到步骤3)在你的Microsoft Visual Studio 2010 IDE中创建一个Cloud Service。
指定ASP.NET Web Role作为那个Cloud Service的角色。那个角色的默认名字可能是“WebRole1”,把它重命名为“MyWebRole”,当这一切都做好以后,点击“OK”按钮。
在你的解决方案中,你会看到两个独立的项目。其中一个是Cloud Service项目,另外一个是ASP.NET Web Role项目。解决方案资源管理器窗口的样子应该和下面这个界面类似。
为了在云环境中托管一个或多个角色项目,这个Cloud Service项目会包含一些必要的配置信息。在解决方案资源管理器窗口中,如果你看一下这个Cloud Service项目的Roles节点,你会发现它只有一个条目——一个叫做“MyWebRole”的角色。这意味着你的Cloud Service将会托管一个角色。如果需要的话,你可以在你的Cloud Service中添加更多的角色。
在解决方案资源管理器窗口中,你还会看到两个XML配置文件,分别叫做“ServiceDefinition.csdef” 和 “ServiceConfiguration.cscfg”。那些文件用于定义在云中托管一个或多个角色所必需的配置。
ServiceConfiguration.cscfg文件的内容如下所示:
<?xml version=”1.0″?> <ServiceConfiguration serviceName=”MyCloudService” http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration”>http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration“> <Role name=”MyWebRole”> <Instances count=”1″ /> <ConfigurationSettings> <Setting name=”DiagnosticsConnectionString” value=”UseDevelopmentStorage=true” /> </ConfigurationSettings> </Role> </ServiceConfiguration> |
ServiceDefinition.csdef文件的内容如下所示:
<?xml version=”1.0″ encoding=”utf-8″?> <ServiceDefinition name=”MyCloudService” http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition”>http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition“> <WebRole name=”MyWebRole”> <InputEndpoints> <InputEndpoint name=”HttpIn” protocol=”http” port=”80″ /> </InputEndpoints> <ConfigurationSettings> <Setting name=”DiagnosticsConnectionString” /> </ConfigurationSettings> </WebRole> </ServiceDefinition> |
现在,要运行你的应用程序,需要把这个Cloud Service项目设置为启动项目。当这个Cloud Service运行的时候,它会轮流启动它要托管的所有角色。在我们的例子中,只有一个命名的角色,“MyWebRole”。所以,一旦你启动了那个Cloud Service,它就会启动MyWebRole项目。
OK,你的工作完成了!你已经成功地开发出了你的第一个云应用程序。要启动这个应用程序,你可以按F5键。这是输出的结果:
总结
云计算是一个迅速崛起的平台,对于企业来说,可以充分地利用共享的基础结构的特性和优点,以及低成本和低管理开销等优势。Windows Azure平台既支持在云环境中驻留和运行的应用程序,又支持在云环境以外驻留和运行的的应用程序,也就是说,那些在本地系统中驻留和运行的应用程序。在本文中,我们一起探讨了云计算的基本概念,以及如何使用Microsoft Visual Studio 2010 and Windows Azure Tools for Visual Studio 2010来开发云应用程序。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国