[漫步云端,Azure Services Platform]第二回:我的第一个云端应用:Hello,Cloud!

《你必须知道的.NET》网站 | Anytao技术博客 

[漫步云端,Azure Services Platform]第二回:我的第一个云端应用:Hello,Cloud!

发布日期:2008.11.19 作者:Anytao
© 2008 Anytao.com ,Anytao原创作品,转贴请注明作者和出处。

说在,开篇之前
哈哈,我的第一个云端应用诞生了,这就是Hello,Cloud。不信,你可以访问http://anytao.cloudapp.net/来一窥究竟。
现在,我们可以大声的欢呼:Hello,Cloud!云计算时代,果然是来了。还等什么,赶快试试吧:-)

1 引言

在上篇《第一回:认识Azure Services Platform》一文中,我带着TechEd的兴奋之情将Azure Service做了一个概要性的介绍,因为没有申请到Invitation Token,所以只能掩饰饥渴的冲动,把完成第一个云端应用的重任留到了第二回。就是历史上所有讲述编程语言的著作以Hello,world开篇一样,本文也不例外的从Hello,Cloud!这一传统开始,实现一个运行在云端服务的Web应用。让我们品尝一下,漫步云端的快感吧:-)

2  必要的准备

实现一个简单的云端应用,如果没有数据库服务支持或者其他服务支持,我们仍然需要一些必要的准备,对于Azure应用而言以下铺垫是必不可少的:

  • 注册有效的Azure Services账号,详情可以访问这里
  • 申请Invitation Token,以便可以访问Azure Services Developer Portal中的相关服务,例如Windows Azure,Live Service,.NET Services等。
  • 安装Azure Service SDK等必要支持,一遍可以使用我们熟悉的Visual Studio 2008来开发Cloud Application。详细的说明请参考《第一回:认识Azure Services Platform》中的阐述。

注意:因为当前仍处于CTP版,所以Resource Token并不能简单获取,大家耐心等等:-)

好了,万事具备只欠东风,我们开始Step By Step式的构建我们的Hello,Cloud。在下文的实现过程中,我们假设你已经完成上述所有步骤的准备,成功申请了Invitation Token,成功安装了相关的SDK和工具支持。如果还有疑问,可参考《第一回:认识Azure Services Platform》的详细分析,或者留言讨论:-)

3  实现我的Hello,Cloud!

  • Step1,使用Visual Studio 2008创建新的 应用,我们新建一个Project,在项目模板中选择“Cloud Service”—>”Web Cloud Service”:

在该项目模板中,我们还可以选择例如“Web And Worker Cloud Service”、“Worker Cloud Service”、“Cloud WorkFlow”项目模板,我们将在以后的系列中逐步了解相应的内容,敬请期待。

  • Step2,创建项目之后,Visual Studio将自动生成两个项目:Anytao.AzureServices.HelloCloud和Anytao.AzureServices.HelloCloud_WebRole,

其中Anytao.AzureServices.HelloCloud_WebRole是一个普通的ASP .NET Web项目,而另一个Anytao.AzureServices.HelloCloud则是一个Web Cloud Service项目,其中包含了Roles文件夹中包含了我们将发布的Web项目程序集Anytao.AzureServices.HelloCloud_WebRole.dll,而ServiceConfiguration.cscfg文件描述了部署的相关配置信息:

<?xml version="1.0"?>
<ServiceConfiguration serviceName="Anytao.AzureServices.HelloCloud" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration">
  <Role name="WebRole">
    <Instances count="1"/>
    <ConfigurationSettings>
    </ConfigurationSettings>
  </Role>
</ServiceConfiguration>

而ServiceDefinition.csdef描述了InputEndpoints,LocalStorage等配置映射信息:

<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="Anytao.AzureServices.HelloCloud" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
  <WebRole name="WebRole">
    <InputEndpoints>
      <!-- Must use port 80 for http and port 443 for https when running in the cloud -->
      <InputEndpoint name="HttpIn" protocol="http" port="80" />
    </InputEndpoints>
  </WebRole>
</ServiceDefinition>

我们无需关注更多文件的结构信息,接着我们的Hello,Cloud实现。

  • Step3,完成Web项目Anytao.AzureServices.HelloCloud_WebRole,在Default页面中实现简单的输出Hello,World!,此过程完全等同于在传统ASP .NET Web Application中创建一个Html输出一样,当然你也可以添加一个Button并实现一个简单的事件,编译运行将打开Azure模拟器来托管本地应用,而不是Web服务器。
  • Step4,在Cloud项目上右键选择“Publis…”,将登陆Azure Services Developer Portal准备部署应用,同时打开编辑生成的Publish本地文件夹,其中包含了Anytao.AzureServices.HelloCloud程序包和ServiceConfiguration配置文件,用于在后续步骤中发布Cloud应用。
  • Step5,登陆打开的Azure Services Developer Portal,点击“New Project”,创建新的Azure Services项目,在Service组件面板中选择“Windows Azure”下的“Hosted Services”选项:

 

在随后的创建向导步骤中,将包括

    • 同意Team of Use条款
    • 输入项目属性(也就是创建项目便签和描述信息)
    • 选择输入Hosted Services名称,同时必须保证选择名称的唯一性。该Name也将随后用于发布你的Cloud应用时的访问域名,例如输入anytao作为该名称,将通过http://anytao.cloudapp.net/访问我的Hello,Cloud应用了。
  • Step6,导入程序包和配置文件。选择“Staging”的“Deploying”按钮,打开部署对话框,分别选择本地Publish文件中的Anytao.AzureServices.HelloCloud程序包和ServiceConfiguration配置文件,

 

选择正确的程序包和配置文件,输入部署信息,点击“Deploy”,程序包和配置文件将上传到我们仰慕已经的云端服务器,至此我们第一个云端应用将成功上传到神奇而浩瀚的云中,仅有一步之遥我们就可以实现第一个Hello,Cloud!应用了。

部署之后,我们可以选择配置来重新导入或者修改配置信息,可以选择启动或者删除执行相应的其他操作。

  • Step7,将部署的应用转化为Producation,并选择启动,至此完成整个Hello,Cloud的创建和部署。我们可以休息休息,然后品味自己的第一个云端杰作。开始吧:

http://anytao.cloudapp.net/ 

你看,是不是很酷。

  • Step8,幸福一下,准备下一篇《深入Hello,Cloud细节》,开始未来的旅程。上茶:-)

4 总结

另外,因为Hello,Cloud最终将托管于Cloud中,所以传统意义上的一些编程方式将发生变化,例如对于路径的获取将不同于我们传统意义在服务器路径上的操作方式,所以Server.MapPath获取方式必然失效,那么我们在系列的后续中逐渐来分享Cloud应用中的差异和特性。本文,仅仅是个开始。

现在,我们可以大声的欢呼:Hello,Cloud!云计算时代,果然是来了。还等什么,赶快试试吧:-)

 

参考文献

anytao | © 2008 Anytao.com

2008/11/19 | 荣誉出品:http://anytao.cnblogs.com/

本文以“现状”提供且没有任何担保,同时也没有授予任何权利。 | This posting is provided "AS IS" with no warranties, and confers no rights.

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

posted @ 2008-11-19 00:03 Anytao 阅读(2967) 评论(48)  编辑 收藏 网摘 所属分类: 06 [漫步云端]

  回复  引用  查看    
#1楼2008-11-19 00:08 | Astar      
支持~呵呵,你必知道的.NET......
  回复  引用    
#2楼2008-11-19 01:40 | 看客[未注册用户]
没有理解"云"体现在何处!
  回复  引用    
#3楼2008-11-19 03:36 | 不是我水平低~~[未注册用户]
同意二楼
  回复  引用  查看    
#4楼2008-11-19 08:49 | BZZ      
慢慢看
  回复  引用  查看    
#5楼2008-11-19 08:52 | Windie Chai(笑煞天)      
望继续深入,来个cool的应用!
  回复  引用  查看    
#6楼2008-11-19 09:06 | 一杰      
感觉自己就走在云彩上一样,走起路来不踏实
为什么要云?
什么情况下要用云?
什么情况下不用云?
主人有时间帮说时下,不要概念.那个哪都有.
谢谢!

  回复  引用  查看    
#7楼2008-11-19 09:09 | 狮兄      
不管部署在微软的云端还是自己的服务器,对用户来说,暂时看不出来什么差别。
  回复  引用    
#8楼2008-11-19 09:31 | (正)独上小楼[未注册用户]
--引用--------------------------------------------------
一杰: 感觉自己就走在云彩上一样,走起路来不踏实

为什么要云?

什么情况下要用云?

什么情况下不用云?

主人有时间帮说时下,不要概念.那个哪都有.

谢谢!
--------------------------------------------------------
+1。等待后续文章的深入

  回复  引用  查看    
#9楼2008-11-19 09:31 | CleverKing      
--引用--------------------------------------------------
一杰: 感觉自己就走在云彩上一样,走起路来不踏实

为什么要云?

什么情况下要用云?

什么情况下不用云?

主人有时间帮说时下,不要概念.那个哪都有.

谢谢!
--------------------------------------------------------

同感,感觉不到云有什么用处,与其相信云,我宁愿选择网格

  回复  引用  查看    
#10楼2008-11-19 10:18 | 阿不      
Azure还没有真正接触,不过Live mesh已经在用了,感觉很好。
  回复  引用  查看    
#11楼2008-11-19 10:22 | xjb      
anytao 出出手果然是新料,不过这云还是有点云里雾里
  回复  引用  查看    
#12楼2008-11-19 10:53 | 风海迷沙      
跟服务器有啥区别?无限空间?超强CPU?
漫步云端像在飞?

  回复  引用  查看    
#13楼[楼主]2008-11-19 11:10 | Anytao      
@Astar
谢谢,支持:-)

  回复  引用  查看    
#14楼[楼主]2008-11-19 11:18 | Anytao      
@看客
@不是我水平低~~
Azure Service Platform基于微软提供的数据中心,为你的应用提供任何(未来吧)的云端支持,例如一个实时的操作系统,一系列可用的开发服务,你可以将PC系统、Web服务、数据中心或其他设备互联在一个框架之中。

当然,这些可预见的未来不是一个Hello,Cloud所能说清楚的。这里只是通过发布一个简单的Web应用,也没有任何的数据操作。希望未来努力吧:-)

  回复  引用  查看    
#15楼[楼主]2008-11-19 11:23 | Anytao      
@一杰
@(正)独上小楼
@CleverKing
其实,我也是深一脚浅一脚的边走边看,在微软描绘的蓝图和战略中,我觉得了解和认识也是必须的。你的应用可以享受Azure平台中任何可用的Services,互联任何可达的设备,一个统一的管理,一个统一的平台,一个互联的网络。

难得不是理由吗?

  回复  引用  查看    
#16楼[楼主]2008-11-19 11:23 | Anytao      
@BZZ
呵呵,那我慢慢写:-)

  回复  引用  查看    
#17楼[楼主]2008-11-19 11:24 | Anytao      
@Windie Chai(笑煞天)
呵呵,我也想呐,不过现在的Token开发的可用Service好像也是有限的,所以巧妇难为无米之炊,虽然还不是“巧妇”。

:-)

  回复  引用  查看    
#18楼[楼主]2008-11-19 11:25 | Anytao      
@狮兄
差别在Hello,Cloud是看不到的,但是这是个好的开始:-)

  回复  引用  查看    
#19楼[楼主]2008-11-19 11:26 | Anytao      
@阿不
呵呵,我也在用Mesh,很酷很强大,所以希望下次的下次基于Mesh Service开发一个小应用,那就更酷了:-)

  回复  引用  查看    
#20楼[楼主]2008-11-19 11:26 | Anytao      
@xjb
说实话,现在清楚的没几个人,呵呵。

但是行走云里雾里,至少是在走。

  回复  引用  查看    
#21楼[楼主]2008-11-19 11:27 | Anytao      
@风海迷沙
我想,还没飞起来:-)

  回复  引用    
#22楼2008-11-19 13:09 | Duron800[未注册用户]
路过,看看,支持一下。
  回复  引用  查看    
#23楼2008-11-19 14:39 | 巫云      
看不出来哦,难道只是个free hosting吗?
  回复  引用  查看    
#24楼2008-11-19 14:42 | 李永京      
有种飘飘欲仙的感觉~~~~
  回复  引用  查看    
#25楼[楼主]2008-11-19 15:29 | Anytao      
@Duron800
欢迎路过:-)

  回复  引用  查看    
#26楼[楼主]2008-11-19 15:30 | Anytao      
@ 李永京 呵呵,所以,用“漫步云端”何其切且:-)
  回复  引用  查看    
#27楼2008-11-19 15:34 | Artech      
改天我也玩玩MS的云。
  回复  引用  查看    
#28楼[楼主]2008-11-19 15:38 | Anytao      
@Artech
嘿嘿,我的感觉是,麻雀虽小,五脏俱全;云里雾里,用了才知:-)

  回复  引用  查看    
#29楼2008-11-19 20:46 | 戏水      
@_@Anytao

没钱买票去参会啊 哈哈

  回复  引用  查看    
#30楼2008-11-19 20:53 | 潘安+宋玉      
不错,期待强大应用
做个算pi的应用吧,简单,显著

  回复  引用  查看    
#31楼2008-11-19 21:12 | 蛙蛙池塘      
啥叫荣誉出品呀,哈哈
  回复  引用  查看    
#32楼2008-11-19 23:16 | 啊不才      
对于“云”,目前是很晕~!
呵呵

期待更新ing...

  回复  引用  查看    
#33楼2008-11-20 09:42 | 心在天      
什么是云?继续关注
  回复  引用  查看    
#34楼2008-11-20 14:10 | 暗香浮动      
优势是什么呢
可以省去主机 托管费用 网络带宽 软件购买费用么.

  回复  引用    
#35楼2008-11-20 15:53 | 熊记[未注册用户]
我的账号呢?微软,给我一个…………………………………………………………………………………………………………………………………………
  回复  引用  查看    
#36楼2008-11-21 13:18 | mikelij      
Microsoft gotta tell us these:
Is it kind of distributed computing? Or only clustered servers?
Why should we choose the azure service from Microsoft?
Can 3rd party host the azsure service in their servers?

  回复  引用  查看    
#37楼[楼主]2008-11-21 23:16 | Anytao      
@潘安+宋玉
呵呵,“算pi的应用”是什么意思?

  回复  引用  查看    
#38楼[楼主]2008-11-21 23:17 | Anytao      
@蛙蛙池塘
呵呵,下篇发表文章已经改为“非荣誉出品”了:-)

  回复  引用  查看    
#39楼[楼主]2008-11-21 23:17 | Anytao      
@啊不才
边走边看,越看越清:-)

  回复  引用  查看    
#40楼[楼主]2008-11-21 23:18 | Anytao      
@心在天
看来下篇可以以此为题来阐释一下:-)

  回复  引用  查看    
#41楼[楼主]2008-11-21 23:19 | Anytao      
@暗香浮动
呵呵,你提到的这些,可能都不算:-)

那么,优势是什么?咱们下篇接着说

  回复  引用  查看    
#42楼[楼主]2008-11-21 23:20 | Anytao      
@熊记
应该很快吧,我已经收到自行申请的Token了

  回复  引用  查看    
#43楼[楼主]2008-11-21 23:22 | Anytao      
@mikelij
:-)

  回复  引用  查看    
#44楼2008-11-22 16:44 | 潘安+宋玉      
@Anytao
一般测试单主机性能的时候用super pi,
SuperPI是一款通过计算圆周率的来检测处理器性能的工具

可以试试用云计算pi的速度

  回复  引用    
#45楼2008-11-23 12:59 | cppgohan[未注册用户]
申请不到token是为什么?注册了connection,my profile内容我填写的区域是china,没有收到邮件,是为啥?
  回复  引用  查看    
#46楼[楼主]2008-11-25 13:15 | Anytao      
@潘安+宋玉
没有用过,可以尝试:-)

  回复  引用  查看    
#47楼[楼主]2008-11-25 13:15 | Anytao      
@cppgohan
耐心等待,现在只能这样,因为还是CTP版,所以开放的Token有限,权限也有限:-)

  回复  引用    
#48楼2008-12-18 08:23 | Clayton[未注册用户]
http://mars1344.spaces.live.com/blog/cns!1D5B291C0E4686F6!1222.entry
发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 1336316




相关文章:

相关链接: