2013年8月5日星期一

Cloud_007:Windows Azure 介绍 (1)Execution Models

Windows Azure是微软的公有云应用平台。你可以使用该平台做很多事情,比如:
(1)你可以使用该平台创建Web应用,运行Web应用,把数据存储到Windows Azure DataCenter中。
(2)使用Windows Azure存储数据,应用运行在企业内部自建的系统中,即在公有云之外。
(3)创建VM用于开发和测试
(4)创建VM运行SharePoint或其它应用。
(5)创建支持海量用户的高可扩展应用,Windows Azure提供了很多服务用来保证这一点。

那么,Windows Azure的架构是怎样的,都有哪些组件,这些组件的作用是什么呢?

1. Execution Models (执行模型)
云平台最重要的功能就是提供可执行的应用(服务)。
Windows Azure提供了四种服务:Virtual Machines, Web Sites, Cloud Services 以及 Mobile Services。
你可以单独使用其中一个服务,也可以组合使用多个服务。

1.1 Virtual Machines
从标准的Image或者你自己定制的Image创建VM,此服务即IAAS。
微软提供的Images格式是VHD,微软提供的标准的VHD有如下:
Windows Server 2008 R2, Windows Server 2012, and Windows Server 2008 R2 with SQL Server。
微软合作伙伴提供的标准的VHD有:Linux,你也可以创建和定制自己的VHD。
你也可以把VHD复制出来,在本地运行,把VHD映射到一个本地盘符,然后增加一个启动项,指向该VHD,即从该VHD启动机器。
创建VM时,需要指定VHD,以及VM的大小,只有当VM运行时,你才需要付费。
在VM运行时,你也可以持久化所有的更改到VHD,这样下次你可以根据保存的VHD,创建一个新的VM。
Virtual Machines 主要使用场景:
(1)创建开发和测试环境。
(2)创建并运行自己的应用,安装必要的库,创建和使用关系数据库。


1.2 Web Sites
在VM上可以创建Web应用,但是需要用户自己管理VM。如果你希望创建Web应用,但是由别人来帮你负责管理工作,那么Web Sites服务就是你所需要的。
你可以把已有的Web应用放到云中,也可以在云中创建新的Web应用。
当Web Site运行时,你可以根据负载情况动态地增加或减少运行实例。
你的Web Site可以选择与其它Web Site共享一个VM,或者选择独占一个VM,如果是独占,你还可以增加VM的性能。
Web Sites支持的开发语言有:.NET,PHP,Node.js,Python。
支持的数据库有:数据库:SQL Database MySQL。
支持内置的应用:WordPress,Joomla,Drupal。
总之,Web Sites 用于创建和运行低消费、可伸缩的、运行在公有云上的Web应用。


1.3 Cloud Services
一个可以支持大量并发用户的Web 应用,不需要太多的管理,并且“永不宕机”?
如果你想要这样的Web应用,那么Cloud Sites服务就是你所需要的。此服务即SAAS。
Web Sites服务虽然也能创建Web 应用,但是没有管理权限,不能安装自己的软件包。
Virtual Machines提供了管理权限,但是你需要自己处理诸如可靠性的问题。
Cloud Services提供了必要的管理权限,同时又把大多数的管理工作帮你做了。
总之,Cloud Services 用于创建和运行可伸缩的、高可靠性,低管理的、运行在公有云上的Web应用。

在Cloud Services中的VM与Virtual Machines中的VM不同,你不用自己管理操作系统的升级和打Patch,并且Windows Azure会监控这些VM,如果VM宕了,会自动重启。
因此,使用Cloud Services,你不能把状态信息保存在VM中,因为VM不由你控制,应该把状态信息放到数据管理层。

Cloud Services包括面向Internet的Web Role和运行后台任务的Work Role。
Web Role可以将计算任务直接或间接地(通过消息队列)下发到Work Role。
Web Role和Work Role都可以访问数据存储或其它服务。

1.4 Mobile Services

Mobile Services 支持的移动操作系统有Windows Phone 8,Android,iOS。
提供的移动后端服务有:数据存储(其中数据存储在云端),用户身份验证(支持使用Facebook,Twitter,Microsoft 或者Google account作为Identity Provider),通知推送。
后端的这些服务都提供了REST API。



参考文献:
1. http://www.windowsazure.com/en-us/develop/net/fundamentals/intro-to-windows-azure/?fb=zh-cn

没有评论: