技术开发 频道

开源云计算平台架构介绍(四)

  【IT168 评论】

        第3章 实现 IaaS 必须考虑的架构问题

  并行化

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

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

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

开源云计算平台架构介绍(四)

  在云计算环境中使用并行化还有许多其它途径。使用巨量 CPU 时间处理用户数据的应用程序可能会使用如图 10 中所示的模式。一个调度程序接收来自用户的作业,将数据存入存储库,然后针对每项作业启动一个新的虚拟机,交给该虚拟机一个令牌,此令牌允许该虚拟机从存储库中检索数据。当虚拟机完成其任务时,它将令牌传回调度程序,调度程序允许虚拟机将完成的项目返回给用户,并且虚拟机终止工作。

开源云计算平台架构介绍(四)

  分割并征服

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

  • Hadoop是 MapReduce 模式的一种实现,该模式又是主/工人并行化模式的一种实现。

  • 数据库分片可通过多种分区技术来完成,其中包括垂直分区、基于范围的分区或基于目录的分区。使用的方法完全取决于将要如何使用数据。.

  •大型金融机构已经重构其欺诈检测算法,这样,曾经是大部分批数据挖掘操作的程序现在并行运行于大量系统之上,对输入数据进行实时分析。

  •现在已经设计出一些处理三维数据的高性能计算应用程序,因而通过一个进程就可以为时间 t 计算出一立方容积 (的气体、液体或固体) 的状态。然后一立方的状态就传递给代表八相邻立方的进程,并为时间 t+1 计算出状态。

  数据分区对于通过网络传输的数据的量影响很大,这使数据物理成为下一个考虑事项。

  数据物理

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

开源云计算平台架构介绍(四)

  此公式对于 Moment-by-Moment 式数据处理和长期规划都意义重大。例如,它有助于确定实施超负荷计算策略是否有意义,因为其中把数据移动到公用云可能要比直接处理数据花费更长时间。它还有助于确定将操作从一个云提供商移动到另一个云提供商的成本。无论数据在一个云提供商的数据中心里积聚成什么程度,都必须将其移动到另一个云提供商那里,而这一过程可能花费时间。

  移动数据的成本可以用时间和带宽费用来表示。图 5 所示的混合模式 (其中一个公司的专用云托管在其云提供商的公用云那里) 有助于极大地降低成本。托管场所的带宽一般都是充足而空闲的,这使这一策略无论在到处移动数据花费的时间还是费用方面都是一个双赢的命题。

  数据与处理之间的关系

  数据物理提醒人们考虑数据与处理之间的关系,以及从存储设备将数据移动到处理设备会既花费时间又花费资金。这种关系中需要考虑的一些方面包括:

  •在附近没有计算能力的情况下存储的数据价值有限,而且云提供商应该在这两个组件的网络关系方面保持透明。其管道的大小如何? 时间延迟情况如何? 连接的可靠性如何? 云提供商应提前回答上述问题。

  •云架构设计师应该能够指定虚拟组件和服务的位置,这样,虚拟机与其访问的存储设备之间有一个明确定义的关系。

  •云提供商可以自动为客户优化这种关系,但要考虑其机构是否适合于手头的应用程序。

  •在一个联网环境中,有时计算一个值比从联网存储设备汇总检索它效率更高(更快,时间延迟更短)。想想使用计算周期与到处移动数据之间的利弊得失。

  编程策略

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

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

  •指针应视为一种能力,认真确保指针不容易被伪造。

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

  合规与数据物理

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

  •处理个人数据的公司可能需要遵守与数据处理相关的政府法规。例如,在欧盟国家开展业务的公司如果将其数据存储在美国,那就违反了本地法律,因为两地法律保护个人数据的规定存在差异。在类似情况下,云提供商应该提供一种对数据移动方式和位置指定约束条件的能力。

  •受行业标准制约的公司 (例如,通过处理授权的信用卡征税的行业标准) 可能面临在哪里存储数据以及如何和何时毁坏数据方面的限制。在类似情况下,不允许把空闲磁盘存储块与另一个客户的存储块混合起来。重新使用之前必须安全地擦除这些存储块。

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

  安全性与数据物理

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

  •对空闲的数据进行加密,这样,假如任何入侵者能够突破云提供商的安全防护措施,或者假如某个配置错误使得未经授权的人能够访问到该数据,数据就不会被破译。

  •对传送中的数据进行加密。设想数据将通过公用基础设施进行传递,并且可能会被其间的某些人看到。

  • 要求在应用程序组件之间进行严格的身份验证,因而只把数据传送给已知接受方。

  •注意加密方法以及如何破解算法并随时间的推移用新算法取代。例如,鉴于MD5 已证明容易受到攻击,那就使用一种像 SHA-256 这样的更加严密的加密技术。

  •对有权访问应用程序的人以及访问方式进行管理:

  •考虑让管理员使用严密的、基于令牌的身份验证技术。

  •对于客户登录/密码访问,考虑什么人管理身份验证服务器,以及访问是否在相应公司或云提供商的控制之下。

  •对于匿名访问存储器,例如,匿名 FTP,考虑客户是否必须通过云提供商进行注册后才能访问,或云提供商是否可以与公司的身份验证服务器联合起来。

  网络安全做法

  良好的安全做法贯穿于系统设计、实现和部署的各个方面。应用程序的设计必须是安全的,其接口只能给授权用户提供相应的数据。实现期间,开发人员必须认真避免可能导致易受如下技术攻击的编码做法:缓冲器过载 (Buffer Overflow).或 SQL 注入 (SQL 注入)。部署时,应对操作系统进行硬化,并用最新安全补丁对软件各层进行及时更新。

  在云计算中,应用程序部署在一个共享的网络环境中,而且使用非常简单的安全技术 (例如,VLAN 和端口过滤,对应用程序部署架构的各层进行分割和保护,并把客户彼此隔离开来。其中一些网络安全方法包括:

  •使用安全域把虚拟机组合在一起,然后通过云提供商的端口过滤功能控制对域的访问。例如,创建一个用于前端 Web 服务器的安全域,对外部世界只打开 HTTP 或 HTTPS 端口,并过滤从 Web 服务器安全域到包含后端数据库的域的流量 (图 11)。

编程策略和网络安全

  • 使用云提供商的基于后端的过滤来控制流量,或者通过在适当的地方插入内容交换机或防火墙设备来利用更加有状态的数据包过滤。为了对流量实现更加严密的控制,可以采用不可变服务容器 (ISC) 这一概念,它允许在单个虚拟机中部署多个软件层,并采用仅限虚拟机内部使用的预探测联网。此技术使用 Solaris™ Zones 在单个共享式 OS 平台上支持多个安全虚拟环境,并且只能使用 Solaris 操作系统和 OpenSolaris 操作系统。

  第 4 章 Sun 公司与云计算

  十几年来,Sun 公司一直致力于推动构成云计算基础的大型计算基础设施的技术进步。早在 20 世纪 90 年代,Sun 公司就已成为帮助服务提供商实现其大型网络的领先者,使他们可以向数以百万计的客户提供服务。金融机构和股票交易所利用大量 Sun 服务器处理各种任务:从处理交易到实施欺诈检测。Sun 公司通过开发一次一架 (Rack-at-a-Rack) 的部署模式、从光金属到应用程序的自动供应 (Automatic Provisioning),以及具有每秒一 PB (Petabit) 吞吐量的大型虚拟网络,已经成为高性能计算行业的领先者。的确,通过按小时销售物理服务器时间,并帮助客户实现内部网格以支持其自己的业务活动,Sun 公司是云的前辈“网格计算”当之无愧的开拓者。

  就像这些大型计算能力有助于 Sun 公司开发云计算解决方案一样,上述能力也有助于改善这些解决方案所需的系统品质:可扩展性、可用性、可靠性、易管理性和安全性。

  来自 Sun 社区的创新

  Sun 公司开发出用于云计算的基础性技术,并已成为这些技术所促成的社区开发流程的主要参与者。Sun 公司在长期保持 Solaris 操作系统的行业领先地位的同时,还围绕 OpenSolaris 操作系统发起一个相应的开放源运动。MySQL.数据库是首选的.Web.应用程序数据库,而 Java 编程语言驱动着全世界的网站和企业数据中心。基于社区的开放源 GlassFish 应用程序服务器提供一个 Java 软件执行容器,它已扩展为支持 Ruby 应用程序和 Drupal 内容管理系统。OpenSolaris Project Crossbow 已帮助扩展了 Sun xVM 管理程序中的多重租用支持。

  在 Sun 公司大力促进的丰富而得到社区支持的软件下面,是使这些软件正常运行的功能强大的服务器、存储和网络产品,其中包括标准的可扩展 x86 架构服务器、Sun 公司 UltraSPARC® 处理器驱动的服务器产品线,以及包含 Sun 公司的高效率、芯片多线程 (CMT) UltraSPARC T1、T2 和 T2 Plus 处理器的服务器。Sun 公司CMT.处理器处理高吞吐

  量工作负荷如此高效,以至于它们在各种内容负载平衡和应用程序提供产品 (如 Zeus 可扩展流量管理器) 中得到广泛应用。Sun 公司的开放式存储产品把开放源软件与行业标准的硬件结合起来,帮助减轻对高价位的专用型系统的依赖性。实际上,Sun 公司具有突破意义的 Sun Fire X4500 服务器帮助整个行业看到了把服务器和存储技术合并到同一系统中的优势。Sun 公司通过 InfiniBand 向采用 Sun Datacenter Switch 3456 (扩展到多达 13,834 个节点) 的大型计算网格,提供用于大型计算的虚拟网络技术。

  社区与开放式标准

  与一个社区合作创造出基于开放式标准的产品,并有助于提供投资保护。在一个像云计算这样的快速变化的新兴市场里,创建由于使用专有 API 和格式而被限制在一个供应商的云中的应用程序非常容易。使用开放式标准和开放源软件可以最有效地保证:您现今创建的应用程序将来仍会有用,并将赋予您更换云提供商所需的灵活性。

  Sun 公司所参与的开放源社区开发他们所采用的开放标准,并且在开发出新产品时制定新的开放式标准。开放源、开放标准和开放.API.产生具有更大可移植性和使用寿命的应用程序。Sun 公司的开放源社区凭证是无懈可击的,其项目包括:OpenSolaris OS、Linux OS、StarOffice™ 软件、NetBeans™ 平台应用程序框架、OpenSPARC™ 技术、Java 编程语言、Sun xVM 管理程序、Sun xVM VirtualBox、Sun 开放式存储解决方案、MySQL 数据库管理系统以及 Solaris ZFS™文件系统。

  选择的重要性

  Sun 公司的硬件和软件产品线与精品同义。Sun 公司提供对于基于 x86 架构的服务器的广泛选择余地,这些服务器由功能强大的 SPARC® 和 UltraSPARC 处理器所驱动,并且采用了 CoolThreads™ 技术。Sun 公司提供上述各种形式的选择,包括机架式和刀片式系统,为客户提供各种密度和 I/O 容量选择。Sun 公司为其各个服务器产品都提供虚拟化解决方案,包括在其.x86.架构服务器上支持 Sun xVM 管理程序、VMware vSphere 和 Microsoft Hyper-V,当然也包括您也可以选择操作系统,这包括 Solaris OS、Linux 和 Microsoft Windows。

  选择云计算提供商

  Sun 公司创新是云计算环境的基础,而云计算环境具有开放性,基于标准,且是社区成员共同努力的结果。加入 Sun 公司云计算社区就意味着您可以选择采用可发挥最大作用的服务器、存储和联网技术。这同时也意味着可以使用不为某个云提供商所拥有的软件栈、API 和标准,而是属于构建其云应用程序以拥有持久价值的公司。Sun 公司提供多种选择,这不仅仅是使用恰当硬件和软件组件完成工作任务方面的选择,而且包含利用云计算技术实现最大效益方面的选择。

  那些为了云计算加入 Sun 社区的机构可以拥有多种选项。Sun 公司可帮助各种机构构建自己专用的本地云,以便于将企业数据中心过渡到这种新的计算模式,同时保留对关键业务数据的绝对控制权。Sun 公司可帮助各种公司构建自己专用的非本地云,以便于利用成本低廉的新型大规模高效托管场所,例如,Switch Communications 公司的位于内华达州拉斯维加斯的 SuperNAP 托管设施。Sun 公司可以为那些希望成为云提供商的机构提供帮助,供应所需的硬件、软件和管理能力。而且,从现在开始,世界各地的机构都可以利用 Sun 公司公用云产品扩大其专用云—可以与 Sun 公司共同位于 SuperNAP 站点,并享有高速度本地基础设施所带来的优势,也可以使用 Sun 公司在互联网上提供的服务。无论是您在寻找用于开发和测试的云计算,寻求体验在云中托管应用程序,卸载特定功能,还是将云用于超负荷计算,Sun 公司都可以得心应手地帮助企业构建并利用云计算。

         版权声明:

  本文由上海爱可生信息技术有限公司根据甲骨文公司官方文档翻译整理而成,版权归属甲骨文公司,转载请保留此版权声明。

 

0
相关文章