适用于企业的 Windows Azure 平台.docx
- 文档编号:10800195
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:28
- 大小:244.75KB
适用于企业的 Windows Azure 平台.docx
《适用于企业的 Windows Azure 平台.docx》由会员分享,可在线阅读,更多相关《适用于企业的 Windows Azure 平台.docx(28页珍藏版)》请在冰豆网上搜索。
适用于企业的WindowsAzure平台
适用于企业的WindowsAzure平台
HanuKommalapati
事实证明,云计算值得受到成熟企业及新企业的关注。
大多数企业对云计算的关注不仅仅是出于随意的好奇。
到撰写本文时为止,IT市场研究表明,大多数企业IT经理有足够的资源采用云计算并将其与内部部署的IT功能相结合。
当然,也有人怀疑云计算不具备所号称的功能。
这一新兴解决方案与ARPANET(Internet的前身)的出现如出一辙,当时很多持怀疑态度的研究机构因担心丢失私有数据而拒绝加入最初的网络。
科学家们看到数据网络及由此实现的协作所具备的优势之后,义无反顾地将这项工作进行下去,后来的事可以说是众人皆知了。
当今的大型企业,像当初ARPANET的怀疑者一样,正在开始认识在获取和使用计算功能的方式上发生的模式变化。
考虑到行业趋势和客户需求,Microsoft花巨资投入云计算,发布了WindowsAzure平台,并提供必要的支持服务,以便在云中构建和运行行业支持服务。
在本文中,我将从体系结构层面讨论WindowsAzure平台,其中会穿插介绍企业级解决方案的需求。
云计算
云计算有好几个定义,我认为最准确的定义是:
通过Internet标准和协议以实用工具形式提供的计算功能。
这个定义引出了“公共云”和“私有云”的概念。
顾名思义,公共云面向全部信用卡持有人。
私有云专用于由私有云任务陈述所指定的企业或企业联盟。
WindowsAzure平台、AmazonWebServices、GoogleAppEngine和F等都是公共云。
大型企业运行的任何私有数据中心若具有以下特征,即可称为私有云:
利用由更广泛的虚拟化所支持的统一资源模型,该模型将计算、存储和网络视为一个同构资源池;利用高度自动化的过程来操作系统。
实用工具计算是计算机自动化领域由来已久的梦想。
Microsoft的DynamicSystemsInitiative(DSI)和其他供应商提出的类似方案进行了大胆的尝试,帮助数据中心操作员实现类似于实用工具的特性:
高度自动化、自我管理、自我优化、计量存储、网络和计算周期。
这个梦想值得称赞,它取得了综合性的成功。
虚拟化的出现,使实用工具计算成为现实。
虚拟化有助于操作系统和应用程序与物理硬件的分离。
虚拟化将操作系统和应用程序视为数据,因此可开发出自动化过程,将操作系统和其他相关资源以流的形式按需传输到目标硬件。
为便于讨论WindowsAzure平台,我将简单介绍一下云计算领域的行业术语,并以WindowsAzure平台为例说明这些术语,这样更易于理解。
图1是一个三层的行业术语图,以及与WindowsAzure平台的对应关系。
在下面几节中,将详细讨论各个云服务类型及其相对差异。
图1WindowsAzure平台是一种PaaS产品
软件即服务
软件即服务(SaaS)是一种软件交付业务模型,由供应商或第三方承载应用程序,提供给订阅该程序的客户使用。
SaaS客户通过付费后使用的方式使用供应商的基础结构上运行的软件。
无需预付资金,客户不必签订任何长期合同。
按照合同条款,客户可以随时选择停用软件。
底层基础结构和软件配置对于用户是不可见的,因此,客户必须原样接受这种即开即用的功能。
SaaS使用一种可容纳很多用户的体系结构,在运行时或非运行时,用户上下文在逻辑上是彼此独立的。
这种多用户功能可能不适合某些公司的业务性质,因此供应商可能会为这些客户提供物理独立的基础结构,并向其收取额外费用以进行相关软硬件维护。
MicrosoftBusinessProductivityOnlineSuite(BPOS)和CRMOnline是SaaS的典型示例。
Microsoft也为这类服务提供专门的承载服务,并对此额外收费。
在SaaS领域,为很多企业解决这一问题的协作应用程序颇为成功。
因为软硬件配置对于最终用户是透明的,所以几乎无需IT专业人员介入。
最终用户可通过配置自定义某些SaaS应用程序,不过,大多数此类应用程序是不允许自定义的。
因此,最大程度减少了SaaS应用程序环境中的开发人员数量。
SaaS可以缩短应用程序上市时间,还可以在上市过程中修复经常遭到抱怨的业务-IT一致性问题。
在企业采用SaaS的早期阶段,“影子IT”(例如由附加到业务单元、精通电子表格的程序员组成的小型团队)分散了整个企业的方案,成为企业架构师的噩梦。
这是因为SaaS使业务单元避开了IT采购过程。
企业基础结构团队需要认识到这一点,并使业务单元认识到管理的重要性。
他们还应设计新的管理流程,或修改现有流程,以适应SaaS。
在当前IT环境下,由于IT投资负担过重,中小企业可能尚不具备以最佳状态运行业务的必要能力。
SaaS可以为每个公司提供目前只有大型企业才能实现的IT功能类型。
因为SaaS不需要巨额IT投资,所以可为小公司提供公平竞争的环境,使其拥有企业级IT功能。
从服务供应商的角度看,任何小型公司都可以成为SaaS供应商与大型软件公司竞争。
现在,这些公司可以专注发展其核心领域优势,而不必将有限的资金用于购买和管理软硬件基础结构。
平台即服务
SaaS似乎可以满足公司的所有软件需求。
然而,各公司的技术现状及其特定业务领域并不相同,因此,每个公司都有独特的IT特征。
要找到适用于所有业务线需求的SaaS服务通常是不可能的,因此各公司需要进一步构建应用程序。
对于希望以服务方式构建和运行自定义应用程序的客户,平台即服务(PaaS)可满足他们的需求。
这些客户包括ISV、增值服务供应商、企业IT商店以及其他所有需要自定义应用程序的客户。
PaaS提供托管应用程序服务器,这些服务器依靠大型资源池,具有几乎无限的可扩展性。
PaaS还为完整的平台提供必要的支持服务,如存储、安全、集成基础结构和开发工具。
服务供应商提供一个预配置的虚拟化应用程序服务器环境,开发人员可将应用程序部署到该环境。
因为由服务供应商管理硬件(修补、升级等)及应用程序服务器的运行时间,最大程度减少了IT专业人员的参与。
开发人员构建应用程序,并使用资源描述符对其进行注释。
进行部署时,配置引擎将描述符中声明的必要基础结构功能绑定到应用程序。
资源可能包括网络端点、负载平衡器、CPU核、内存和软件依赖关系。
按需可扩展性与硬件和应用程序服务器管理相结合,开发人员无需关注基础结构,只需专注于应用程序的构建。
PaaS通常适用于全新的应用程序,现有应用程序通常需要进行大规模重构才能符合沙箱规则。
基础结构即服务
基础结构即服务(IaaS)与传统的承载类似,企业使用承载环境作为内部部署数据中心的逻辑扩展。
根据需要租用服务器(物理服务器和虚拟服务器),管理基础结构的IT专业人员完全控制软件配置。
某些供应商甚至允许灵活配置硬件,这种服务比相应的PaaS产品昂贵。
软件构成包括操作系统、应用程序平台、中间件、数据库服务器、企业服务总线、第三方组件和框架,以及管理和监控软件。
因为可以自由选择应用程序服务器,所以也可以灵活选择开发工具。
这种灵活性增加了IT环境的复杂性,这是因为客户的IT专业人员需要像维护内部部署的服务器一样维护这些服务器。
维护活动包括修补和升级操作系统和应用程序服务器、进行负载平衡、数据库服务器的故障转移群集、备份和恢复,以及用于减少软硬件故障的其他活动。
开发人员在构建、测试和部署应用程序时,要充分了解服务器的软硬件配置。
通常,客户自己负责灾难恢复和保持业务连续性。
IaaS一个重要优势在于允许从原有应用程序迁移到云。
因为IaaS可以灵活构建任何配置,所以在云供应商之间移植应用程序较为困难。
原有应用程序迁移是IaaS的最大优势,因为这样可以在云中模拟公司基础结构。
利用IaaS的灵活性,还可以实现需要对软件配置进行大量控制的新应用程序。
例如,某些应用程序可能需要安装第三方库和服务,而IaaS对此不进行限制。
WindowsAzure平台具有PaaS的所有优点,同时具有与IaaS一样的灵活性,如图1所示。
WindowsAzure平台将大型计算池(商用服务器)、网络和存储资源集成到实用工具计算环境,在该环境中,客户可以按需取用资源,并按实际使用情况付款。
作为典型的云环境,WindowsAzure平台帮助客户避免预付资金,根据需要增加IT功能。
WindowsAzure平台:
WindowsAzure平台提供托管应用程序服务器和必要的存储、网络和集成基础结构,用于构建和运行Windows应用程序。
WindowsAzure平台依赖大型商用硬件池创建实用工具计算环境。
图2是WindowsAzure平台资源模型,该模型使用在部署时设置的配置策略,根据需要部署虚拟化存储、网络和计算资源。
FabricController是整个生态系统的中枢,包含一组不属于应用程序资源池的专用资源。
FabricController不会出现故障,所以它提供了高冗余的软硬件环境。
图2计算基础结构的概念视图(WindowsAzure设置可能有所不同)
计算资源池由商用资源组成,这些资源由FabricController提供容错功能。
FabricController的架构适用于在早期检测应用程序故障,它可以生成附加实例,以满足合同要求的服务级别协议。
WindowsAzure环境是用于承载应用程序的完整平台,它通过按需配置提供几乎无限的资源,确保应用程序的系统质量。
未使用的资源会返回池中,从而提高了利用率。
资源包括计算周期、用于持久保存的虚拟化存储,以及用于动态重新配置私有和公共网络路由的虚拟化网络资源。
这些资源的物理配置设计为对应用程序架构师和开发人员不可见。
那么,应用程序所有者如何配置这些资源?
当然可以像在传统内部部署环境中一样致电IT专业人员,规模巨大的WindowsAzure平台数据中心由一组专业人员主要依靠自动化过程进行管理。
数据中心的一般日常操作不需要人工参与。
使用WindowsAzure平台,应用程序所有者可通过包含资源描述符的计算机可读模型配置必要的资源。
在WindowsAzure平台中,这些资源描述符称为服务模型。
这些服务模型指定必要的应用程序资源及其依赖关系,以便在无人参与的情况下配置完整的运行时基础结构。
由于实现了自动化,应用程序基础结构的配置时间通常不到五分钟。
将这种方式与典型内部部署环境的购置后配置的方法相比较,可以了解云计算的强大功能。
计算
WindowsAzure平台的计算部件负责提供执行应用程序的CPU周期。
应用程序承载在虚拟环境中,以免底层操作系统和硬件产生任何物理相关性。
虚拟化资源实现了应用程序的去耦合,这些资源包括本地文件、持久存储(结构化和非结构化)以及诊断和检测资源。
承载环境作为虚拟机实现,因此任何应用程序故障都不会影响其物理硬件上运行的其他应用程序。
应用程序以程序包(包含角色、关联可执行代码和资源)的形式部署到WindowsAzure平台。
Azure角色以声明方式描述承载环境的特点。
激活部署的应用程序时,Azure配置环境对服务模型进行分析,根据角色类型选择预配置的虚拟机(VM)映像,将应用程序位复制到VM中,启动计算机并启动必要的应用程序服务。
图3中的服务定义表示一个“购物列表”应用程序,本文将使用该应用程序作为参考。
图3Web角色和工作者角色的服务模型
ShoppingListService定义
复制代码
xmlversion="1.0"encoding="utf-8"?
>
cleanOnRoleRecycle="false"/> ShoppingListService配置 复制代码 xmlversion="1.0"? > "UseDevelopmentStorage=true"/> --flipthecommentingofthefollowingtwolinesforapplication storageneedsonlocaldevfabric--> -- "UseDevelopmentStorage=true"/>--> value="DefaultEndpointsProtocol=http; AccountName=< "UseDevelopmentStorage=true"/> --flipthecommentingofthefollowigntwolinesforlocaldevfabric--> -- "UseDevelopmentStorage=true"/>--> value="DefaultEndpointsProtocol=http; AccountName=< 图3中的“购物列表”应用程序需要三个Web角色实例和两个工作者角色实例。 传入多个Web角色实例的Web通信自动进行负载平衡,并且三个实例全部按照服务模型描述对SSL和HTTP端点进行配置。 为避免应用程序发生整体故障,FabricController在多个故障域分散进行分配。 实际的故障域组织比图2所示的简化视图复杂很多。 为简单起见,可将每个服务器机架、与之关联的网络交换机,以及电源视为一个故障域。 如图2所示,FabricController最初从每个故障域(机架#1、#3和#n)分配一个Web角色。 我将通过几个假定的事件来讨论整个WindowsAzure计算层的可靠性。 在事件#1期间,Web角色#1和工作者角色#1因机架电源故障而停止响应。 FabricController在可用机架#2和#3中启动Web角色#1和工作者角色#1的配置过程。 一段时间后,发生事件#2,其间重新分配的Web角色#1因应用程序故障而未能通过运行状况检查。 现在FabricController开始将Web角色#1分配给其他某个可用机架。 这些事件发生期间,应用程序可用性不会受到影响。 至少两个Web角色继续服务于网页请求,并且至少一个工作者角色从队列中拉出事务项,将其写入WindowsAzureStorage。 在任何给定的时间,FabricController都尽力维持三个运行状况良好的Web角色实例和两个工作者角色实例,从而保持平衡。 实际上,可以为机架装配冗余的电源和网络交换机,从而在应用程序出现问题时,可以循环和重新分配角色,或进行扩展以实现可扩展性目标。 “购物列表”服务模型需要两个工作者角色,以免发生单点故障。 虽然Web层和批处理层已通过WindowsAzure队列去除耦合,仍建议至少使用两个工作者角色承载对时间要求严格的关键任务批处理服务。 如果承载的服务对时间要求不严格,也可以只使用一个工作者角色。 图1说明WindowsAzure平台尽量兼具PaaS的优势和IaaS的灵活性。 这是通过基于策略的部署模型实现的,该模型由Web角色、工作者角色、CGI角色和将来会出现的大量其他角色构成。 支持角色列表将不断增长,以满足客户不同的应用程序和部署需求。 面向成本的云体系结构 体系结构的选择会对中小型企业的运营经济效益产生重大影响。 尽管云计算注重IT灵活性,在设计解决方案架构时还是要考虑企业的运营成本。 云应用程序的体系结构需要实现功能和系统质量(可扩展性、可用性、可靠性和性能),还要优化运营成本。 在内部部署情况下,应用程序架构师很少考虑存储成本、网络带宽或计算周期成本,因为这是在企业级别产生的资本支出。 例如,优化应用程序存储通常不是架构师的首要任务,因为存储产生的成本未包括在运营成本中。 内部部署系统的首要任务是在分配的预算内符合重要的系统质量要求。 在云计算环境下,在确定系统架构时优化运营成本成为软件开发过程中的重要因素。 我将以图4中的“购物列表”应用程序为例,讨论WindowsAzure平台的成本模型。 该图是“购物列表”的逻辑体系结构视图,图中箭头表示数据移动方向。 虚线箭头表示数据中心内部的带宽消耗,实线表示数据移入和移出云数据中心。 图4WindowsAzure平台应用程序计费模型 WindowsAzure平台只对数据传入和传出数据中心计费,不对数据中心的本地数据传输计费。 写入WindowsAzure队列的所有数据都不会产生任何带宽或存储费用,因为队列只短时占用存储空间。 不过,队列会产生事务费用。 浏览、读取或写入队列项被视为一个事务。 WindowsAzure平台服务器的使用按照角色数量和部署应用程序的时间量计费。 这意味着,即使应用程序没有来自最终用户的请求,WindowsAzure平台帐单系统仍将按实例小时数对状态为“挂起”和“启动”的角色计费。 因此,建议根据应用程序需求尽量减少活动角色的数量。 现在,这还是手动过程;不过,您可以利用诊断数据和服务管理API,根据应用程序可扩展模式自动调整应用程序。 使用WindowsAzure表、队列和Blob将产生存储成本,这是按记录上的GB数按月收取的。 有关WindowsAzure定价信息,请参阅图5,在撰写本文时,该定价信息已公开发布。 图5WindowsAzure定价 WindowsAzure功能 费用 备注 服务器使用 小: $0.12/服务小时 中: $0.24/服务小时 大: $0.48/服务小时 超大: $0.96/服务小时 按活动应用程序的角色数计费。 小: (1.6Ghz)、1.75GB内存(中等IO功能) 中: (1.6Ghz)、3.5GB内存 大: (1.6Ghz)、7.0GB内存 超大: (1.6Ghz)、14.0GB内存 WindowsAzureBlob和表 $0.15/GB 在每个计费周期内进行日均计量。 有关这些费用的计算方式,因为较为复杂,请参阅相关详细信息。 事务 $0.01/10K事务数 在WindowsAzure队列、Blob和表中进行的创建、读取、更新和删除操作视为事务。 SQLAzure: WebEdition $9.99/月(1GBRDBMS) 大型应用程序或销售几百件商品的小型电子商务网站的元数据。 SQLAzure: BusinessEdition $99.99/月(10GBRDBMS) 用于中型企业。 或者,通过数据共享,也可以构建需要存储大量数据的应用程序。 AppFabric $0.15/100K消息操作数 消息操作可以是服务总线消息、访问控制令牌请求或服务管理API调用。 传入GB $0.10/GB(亚洲为$0.30) 只对传入和传出数据中心的数据计费。 传出GB $0.15/GB(亚洲为$0.45) 只对传入和传出数据中心的数据计费。 WindowsAzure平台定价非常直观,只有Blob和表使用的存储定价例外。 在计费周期内,每天都会计量帐户的WindowsAzureStorage使用量,并计算日均值。 费用的计算方式为日均值乘以$0.15/GB。 例如,如果第一天存储20GB,第二天增加10GB,第三天增加5GB,第四天删除5GB,本计费周期的其余时间内未进行其他活动,则价格计算方式如下: ((20+10+5–
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 适用于企业的 Windows Azure 平台 适用于 企业