好文档 - 专业文书写作范文服务资料分享网站

《云计算基础设施和体系架构指南》 

天下 分享 时间: 加入收藏 我要投稿 点赞

Project Kenai 生产的 OpenSolaris 动态服务容器 (OpenSolaris Dynamic Service Containers) 提供一个轻便的供应系统,.可用来水平扩展 Solaris 区域 (Solaris Zones)。请访问 http://kenai.com/projects/dsc/

18 云计算架构介绍Sun 公司

松散耦合、无状态、原地失败 (Fail-in-Place) 计算几年以来,基于 Web 的应用程序已在向松散耦合和无状态转变。在云计算中,这些特征甚至更加重要,因为云计算具有更加动态的性质。应用程序映像不修补,它们是用完丢弃的对象,因而需要是无状态的。如果一个虚拟机失败,应用程序必须继续不间断地运行。应用程序之间的耦合需要是松散的,这样,任何组件发生故障都不会影响整个应用程序的可用性。一个组件应该做到“原地故障”,极少甚至不会对应用程序产生影响。

由于应用程序组件越来越具有临时性,因而不能包含存在时间超过任何应用程序实例的数据。应通过将状态推出软件来尽可能使应用程序无状态,从而尽可能地将处理与数据分开。能够做到这一点的技术包括:

??? 以 Cookie 的形式将状态推出到用户,或者将状态代码编入 URL。??? 将状态下推至后端数据库

??? 维护数据的补充副本,这是 Hadoop 使用的一个策略

??? 使用基于网络的持久性技术,例如,GlassFish 应用程序服务器中的.Terracotta 或 Shoal。“原地失败”计算对操作活动的影响是,即使是硬件也应该是无状态的,以便于云正常工作。硬件配置应存储在元数据中,这样,在发生故障时就能够恢复配置。

水平扩展云计算使得大规模水平可扩展性可以用于有条件利用的应用程序。现在出现一个设计并重构应用程序以在水平扩展环境中顺利工作的趋势,该趋势意味着越来越多的应用程序能够很好地适应云计算。

利用水平扩展的应用程序应该重视假如个别组件发生故障整个应用程序的可用性。多数云平台是在一个虚拟服务器资源池上构建的,其中,如果任何一个物理服务器发生故障,该服务器托管的虚拟机只是在一个不同的物理服务器上进行重构。把无状态和松散耦合的应用程序组件与水平扩展技术结合在一起,可促成一种“原地失败”策略,这种策略与任何一个组件的可靠性都没有关系。水平扩展不必局限于单个云。根据应用程序数据的大小和位置,“超负荷”计算可用来扩展一个云的能力,以适应临时性工作负荷增加。在超负荷计算中,运行于专用云的应用程序可能会根据需要吸纳来自公用云的额外资源。.

19 云计算架构介绍Sun 公司

超负荷计算很大程度上取决于数据的数量和位置。如果是一个位于企业数据中心的专用云,而且该企业数据中心扩展为使用互联网上某个其它位置的一个公用云,需要移动到公用云的数据的数量需要分解为等式 (参阅下面的“数据物理”一节)。如果是一个驻留在与公用云提供商相同的托管场所的专用云,数据位置问题就会大大减小,因为几乎无限的自由带宽可以连接这两个云。

并行化水平扩展和并行化如影随形,不过,现在扩展和实现发生了变化。从微观上讲,软件可以在对称式多处理器上使用垂直扩展来产生多个线程,其中,并行化可加快操作速度或改进响应时间。但是,随着现今的计算环境转变为包含两个和四个插槽的 x86 架构服务器,垂直扩展只是像服务器拥有核心的数量一样多地拥有并行处理能力 (或者购买一样多的核心并分配给特定虚拟机)。从宏观上讲,可以在多个服务器之间使用并行化的软件也可以扩到成千上万个服务器,从而提供比用对称式多处理技术实现的更大可扩展性。

在实体世界中,并行化技术通常是通过在多个服务器之间分配入站请求的负载平衡器或内容交换机实现的。而在云计算世界里,并行化可以通过在多个虚拟机之间分配入站请求的负载平衡设备或内容交换机来实现。无论是上述哪种情况,应用程序都可设计为吸收补充资源来适应工作负荷尖峰。

通过负载平衡实现并行化的经典示例是:许多同时访问相同数据的无状态 Web 服务器,其中,在服务器池内分配入站工作负荷 (图 9)。

??????????????WEB ??????WEB ??????WEB ??????WEB ??????APACHEAPACHEAPACHEAPACHEWEB ??????API?????????????图.9..并行化与负载平衡的一个十分常见的使用情况是水平扩展式 Web 服务器。

在云计算环境中使用并行化还有许多其它途径。使用巨量 CPU 时间处理用户数据的应用程序可能会使用如图 10 中所示的模式。一个调度程序接收来自用户的作业,将数据存入存储库,然后针对每项作业启动一个新的虚拟机,交给该

20 云计算架构介绍Sun 公司

虚拟机一个令牌,此令牌允许该虚拟机从存储库中检索数据。当虚拟机完成其任务时,它将令牌传回调度程序,调度程序允许虚拟机将完成的项目返回给用户,并且虚拟机终止工作。

???????????????????????????API??????图.10..并行化的另一个示例是代表用户成批执行资源密集型任务。

分割并征服应用程序只能并行化到可以对其数据进行分区的地步,这样,独立系统就可以在其上面并行工作。一个良好的应用程序架构包括一个分割并征服数据的计划,而其多种真实示例阐释了多种多样的方法:

???Hadoop 是 MapReduce 模式的一种实现,该模式又是主/工人并行化模式的一种实现。??? 数据库分片可通过多种分区技术来完成,其中包括垂直分区、基于范围的分区或基于目录的分区。使用的方法完全取决于将要如何使用数据。.??? 大型金融机构已经重构其欺诈检测算法,这样,曾经是大部分批数据挖掘操作的程序现在并行运行于大量系统之上,对输入数据进行实时分析。??? 现在已经设计出一些处理三维数据的高性能计算应用程序,因而通过一个进程就可以为时间 t 计算出一立方容积 (的气体、液体或固体) 的状态。然后一立方的状态就传递给代表八相邻立方的进程,并为时间 t+1 计算出状态。数据分区对于通过网络传输的数据的量影响很大,这使数据物理成为下一个考虑事项。

21 云计算架构介绍Sun 公司

数据物理数据物理考虑处理元素与处理元素所操作的数据之间的关系。由于多数计算云在云中存储数据,而不是在物理服务器的本地磁盘上存储数据,因而需要花费时间把数据迁移到要处理的服务器上。数据物理由一个简单的公式进行确定,该公式描述在生成、存储、处理和存档数据的位置之间迁移一定量的数据花费多长时间。云善长于存储数据,并不一定善长于对数据进行存档并按照预定计划毁坏数据。大量数据,或低带宽管道,延长移动数据所花费的时间:

时间 =

字节数 * 8带宽

此公式对于 Moment-by-Moment 式数据处理和长期规划都意义重大。例如,它有助于确定实施超负荷计算策略是否有意义,因为其中把数据移动到公用云可能要比直接处理数据花费更长时间。它还有助于确定将操作从一个云提供商移动到另一个云提供商的成本。无论数据在一个云提供商的数据中心里积聚成什么程度,都必须将其移动到另一个云提供商那里,而这一过程可能花费时间。移动数据的成本可以用时间和带宽费用来表示。图 5 所示的混合模式 (其中一个公司的专用云托管在其云提供商的公用云那里) 有助于极大地降低成本。托管场所的带宽一般都是充足而空闲的,这使这一策略无论在到处移动数据花费的时间还是费用方面都是一个双赢的命题。

数据与处理之间的关系数据物理提醒人们考虑数据与处理之间的关系,以及从存储设备将数据移动到处理设备会既花费时间又花费资金。这种关系中需要考虑的一些方面包括:??? 在附近没有计算能力的情况下存储的数据价值有限,而且云提供商应该在这两个组件的网络关系方面保持透明。其管道的大小如何? 时间延迟情况如何? 连接的可靠性如何? 云提供商应提前回答上述问题。??? 云架构设计师应该能够指定虚拟组件和服务的位置,这样,虚拟机与其访问的存储设备之间有一个明确定义的关系。??? 云提供商可以自动为客户优化这种关系,但要考虑其机构是否适合于手头的应用程序。??? 在一个联网环境中,有时计算一个值比从联网存储设备汇总检索它效率更高.(更快,时间延迟更短)。想想使用计算周期与到处移动数据之间的利弊得失。

编程策略计算云要求使用考虑数据移动的编程策略:

??? 到处移动指针通常要比移动实际数据要方便得多。请注意图 10 所示的调度程序/工人模式使用一种中央存储服务,并在应用程序之间传递令牌,而不是传送实际数据。??? 指针应视为一种能力,认真确保指针不容易被伪造。

22 云计算架构介绍Sun 公司

??? 像代表性状态传输 (REST) 或简单对象访问协议 (SOAP) 这样的工具有助于降低应用程序状态,同时还能管理状态数据的传输。

合规与数据物理.保持符合政府法规和行业要求给数据管理增加了另一层需要考虑的因素。云架构设计师需要能够给数据存储指定拓扑和地理约束。云提供商应该设法简化指定数据与处理数据的虚拟机之间的关系以及数据实际存储位置。

??? 处理个人数据的公司可能需要遵守与数据处理相关的政府法规。例如,在欧盟国家开展业务的公司如果将其数据存储在美国,那就违反了本地法律,因为两地法律保护个人数据的规定存在差异。在类似情况下,云提供商应该提供一种对数据移动方式和位置指定约束条件的能力。??? 受行业标准制约的公司 (例如,通过处理授权的信用卡征税的行业标准) 可能面临在哪里存储数据以及如何和何时毁坏数据方面的限制。在类似情况下,不允许把空闲磁盘存储块与另一个客户的存储块混合起来。重新使用之前必须安全地擦除这些存储块。

选择云提供商存储数据时,要考虑的不仅仅是该提供商是否可信。还需要考虑云提供商是否按照适用于相应应用程序的标准通过认证。.

安全性与数据物理数据通常是一个公司最有价值的资产,必须使用尽可能比对于任何其它资产大的警惕性来加以保护。需要以更大警惕性保护数据这一论点证明起来非常容易,因为入侵者可能会采取人们无法想象的方式从互联网上的任何地方取得一个公司的数据。需要采取的措施包括:

??? 对空闲的数据进行加密,这样,假如任何入侵者能够突破云提供商的安全防护措施,或者假如某个配置错误使得未经授权的人能够访问到该数据,数据就不会被破译。??? 对传送中的数据进行加密。设想数据将通过公用基础设施进行传递,并且可能会被其间的某些人看到。??? 要求在应用程序组件之间进行严格的身份验证,因而只把数据传送给已知接受方。??? 注意加密方法以及如何破解算法并随时间的推移用新算法取代。例如,鉴于.MD5 已证明容易受到攻击,那就使用一种像 SHA-256 这样的更加严密的加密技术。??? 对有权访问应用程序的人以及访问方式进行管理:??? 考虑让管理员使用严密的、基于令牌的身份验证技术。??? 对于客户登录/密码访问,考虑什么人管理身份验证服务器,以及访问是否在相应公司或云提供商的控制之下。

《云计算基础设施和体系架构指南》 

ProjectKenai生产的OpenSolaris动态服务容器(OpenSolarisDynamicServiceContainers)提供一个轻便的供应系统,.可用来水平扩展Solaris区域(SolarisZones)。请访问http://kenai.com/projects/dsc/18云计算架构介绍Sun公司松散耦合、无
推荐度:
点击下载文档文档为doc格式
4g7vh1cslt1is5307345
领取福利

微信扫码领取福利

微信扫码分享