Chinaunix首页 | 论坛 | 博客
  • 博客访问: 880422
  • 博文数量: 372
  • 博客积分: 10063
  • 博客等级: 中将
  • 技术积分: 4220
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-24 11:36
文章分类

全部博文(372)

文章存档

2012年(372)

分类: 云计算

2012-04-12 18:22:10

08/04/2012 由于有不少人想尝试Azure,咨询注册问题,更新Azure支持部分。简介

尝试Agile的方式来写博客。本文主要覆盖以下两个故事。故事一:作为一个没有开发过云计算平台的读者,我希望通过阅读本文可以了解云计算的概况。故事二:作为没有开发过Azure的读者,我希望通过阅读本文可以创建第一个Azure Web Role应用。

 

云计算平台简介

image

随 着移动设互联网的进一步快速普及,云计算在冷处理以后再度升温。当初在我刚刚从事云计算开发的时候,感觉Cloud是空中楼阁,云里雾里。也没有人跟我系 统地讲述云计算,经过一段时间Azure的开发,并且对其他Cloud平台的了解,发现Cloud真的没那么难以理解,如果你觉得对Cloud的认识还是 云里雾里,我希望这篇文章能帮你拨开云雾见青天。

 

到底什么是云计算

云计算就是服务,使用云计算平台就是购买服务。 一起来看看云计算平台分好多类,什么IaaS,PaaS,SaaS等等,最后一个S是什么,最后一个S代表Service。我们使用云计算平台,就是购买 服务,了解这个,就了解了云计算的核心,也同时解开了很多选型上的问题,例如使用云计算平台还是自己购买硬件来维护,就像上馆子吃饭和家里弄私房菜的区 别,各有千秋。

云计算的分类

如上所述,云计算平台分IaaS,PaaS,SaaS等等。他们的共同点就是通过服务,都像下馆子吃饭,区别是你吃火锅是自己动手,吃韩国烤肉服务员帮你烤,吃西餐是厨师做好拿出来,都是享受服务,但是享受程度有一点点区别,也没有绝对的好与差,萝卜白菜各有所好。

IaaS-PaaS-SaaS

从左到右,你管理的范畴越来越少,而灵活性越来越低。第一个不是云计算平台,是传统的自己管理模式。

IaaS

第 二种叫做Infrastructure-as-a-Service (IaaS),基础框架作为服务,云计算提供商只是管理网络,物理存储,服务器和虚拟化等部分。你可以在其基础上选择操作系统,例如Windows或者 Linux,选择中间件,运行时例如JVM,.NET等。IaaS最流行的平台是Amazon的AWS。由于IaaS很灵活,因此好多其他PaaS和 SaaS的平台都是基于AWS。

PaaS

第三种叫做Platform-as-a-Service (PaaS),平台作为服务,这个层次的云计算平台可以自己选择数据层,应用程序等等,当前云计算平台大都是以这种形式提供的,例如微软的Azure,谷 歌的GAE,HeroKu,App Harbour等等,其实界线越来越迷糊,像Azure除了不支持选择O/S(其实可以选择Windows的不同版本),支持多种平台,而且支持还VM mode,越来越像IaaS了。但是官方博客也说过他们不是IaaS

 

image

Azure支持的语言与平台

在各个PaaS的云计算平台中,我觉得Azure是最灵活的,这也是我最喜欢使用Azure的原因,灵活性与管理难度达到很好的折中。

SaaS

Software-as-a-Service(SaaS)软件作为服务,通常提供一些特殊的软件服务,典型的是苹果的iCloud,微软的SkyDrive,一般客户化程度不高。

 

为什么选择Azure

平常工作上会用到AWS,Azure和Saleforce,但是用得最多是Azure,每次给客户推荐的也是Azure,为什么我喜欢使用Azure,主要基于以下考虑:

1. 与.NET无缝结合,Azure可以无缝地支持.NET开发环境,例如Web项目,MVC项目等等,开发的项目不需要做任何修改就可以直接部署到Azure平台上。

2. 支持Data Storage和SQL,Azure Windows自带了Data Storage,其支持Table Storage,BLOB和Queue,也就是当前十分流行的NoSQL。同时也支持SQL Server,方便存放关系型数据。

3. 比其他PaaS好灵活,Azure除了不能选择O/S以外,基本上什么都可以自己选择,Azure支持多种语言,多种运行时,多种数据库,还支持VM mode,可以自己安装软件。其他的PaaS远远没有那么灵活,例如GAE虽然一直改进,但是与Azure相比限制性大很多。Azure还支持 Cache,很多其他PaaS都没不支持。

 

学习Azure有什么好处

1. PaaS的云计算平台一般提供Web Role和Worker Role两种角色,Web Role可以理解为一个Web服务器(例如IIS)上的一个网站,Worker Role可以理解为一个后台任务。Azure都提供了这两种角色,为Azure开发程序,也了解到其他平台的开发模式。

2. 一般云计算平台的管理模式与Azure类似,可以根据需求调整Role的数量,和处理能力,例如extra small,small,medium,large,extra large等等,这些东西学会了,其他平台游刃有余。

3. Azure支持灵活的数据访问,Table Storage,SQL等等,学习Azure可以同时了解NoSQL和关系数据库的不同应用。

4. 可以免费尝试,普通用户可以免费使用三个月,MSDN订阅用户可以免费使用一年。

image

免费使用三个月。

image

MSDN订阅用户免费使用一年。链接

 

 

第一个Azure程序 注册Azure帐号

要开发第一个Azure程序,其实可以使用本地模拟器,是完全不需要花钱的,但是我讲述的是如果把程序部署到真正的Azure平台上去。

首先要注册一个Azure帐号,登录,需要Live ID,电话和信用卡。

微软会发送一条短信给你确认,然后需要填写信用卡信息,如果三个月以后不使用,可以Cancel的。

 

注意:如果只是测试,每次部署都选择extra small的instance,然后每次用完都把instance删掉,这样就不会花钱了。

 

安装Azure SDK

当前Azure SDK的版本是1.6,可以在这里http://www.windowsazure.com/en-us/develop/downloads/下载,注意,如果版本更新了,请下载最新版本。对于其他语言,也可以在这里选择下载。

image

 

新建和部署项目

 

下面演示如何创建和部署一个Web Role的项目,Web Role支持ASP.NET, MVC的项目,这里不讲述如何创建Web项目了,与普通Web项目没有任何区别。安装完Azure SDK,就可以创建Azure项目了,右键Solution,点击新建项目image image可以新增相应的Web Role,也可以加Worker Role,一个Role部署的时候对于一个或者多个instance,可以调整instance的处理能力。 要把Web项目部署到Azure,右击Azure项目,选择Public 

 

 

image

选择你的azure帐号,如果没有可以选择Manage来新增帐号。

image

在Manage中选择New来新增帐号。

image

选择或者新增一个证书,第一次一般选择Create

image

这个证书也是可以通过命令行来生成的,步骤如下:

Open a Visual Studio Command Prompt as administrator from Start | All Programs | Microsoft Visual Studio 2010 | Visual Studio Tools | Visual Studio Command Prompt (2010) by right-clicking the Visual Studio 2010 Command Prompt shortcut and choosing Run as administrator.

makecert -r -pe -n "CN=AzureMgmt" -a sha1 -len 2048 -ss My "AzureMgmt.cer"

 

然后登录Azure Management Portal,找到订阅的ID

然后填到下面的第三个栏目里面。

image

填写完毕,点击OK。

image

点击Next

image

然后填写一个名称,选择地区,如果在中国可以选择东亚,会host在香港。然后点击OK。

image

点击Next,如果想登录到虚拟机,需要选择“Enable Remote Desktop”

image

点击Publish就可以部署了。

image

回答Azure Management Portal查看状态,如果状态变成Ready,就完成了,这样就可以访问Azure的Web Role了。

image

通过DNS的地址来访问。

 

第一个Azure程序就部署成功了。

 

国内做云计算的一些人

要关注云计算平台,可以关注一些人,他们常常讨论一些Azure等相关的事。首先我是自己,呵呵 超级猛将: WP达人:  美国Azure Team:@ 各大高手:   @,有错漏,请搜索#Azure#

 

Azure支持

在多个云计算平台中,Azure的服务支持算是比较好的,任务问题都可以提交一个服务单(Support Ticket),网址如下:

如下图: 


如果是注册问题,请选择Billing support,然后选择Other,如果是运行时的问题,可以选择Windows Azure或者SQL Azure等等具体的问题。

 

可以选择email服务支持,如果填写电话,一般由印度人打电话进行服务,如果email一般是北京的人回复的。

 

 

 


阅读(1244) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~