文|张霖 张煜东
云计算是在分布式计算、并行计算和网格计算等技术的基础上发展起来的,是一种新兴的共享基础架构的方法。它可以自我维护和管理庞大的虚拟计算资源,提供各种IT服务。
近年来,云计算的应用研究在国内外发展迅速,许多大型企业都在进行应用“云化”研究,新华社也开始进行云计算技术在社内落地的探索,云计算平台的测试技术是其中非常重要的环节。对于传统计算系统,国内外已经在功能、性能、安全等方面建立了较完备的评测体系,但云计算平台的评测理论与方法的相关研究还刚刚起步。
本文研究了现有的云计算平台的通用评测体系,希望对云计算平台的选型、验收、运维提供参考;然后从新华社云平台建设情况和要素出发,探索了新华社基准评测体系的建立;最后对新华社云平台评测体系的前期准备工作——云平台业务运维能力评估体系建设进行了分析。
NIST(美国国家标准与技术研究院)定义了云计算的五个基本特征:按需自助服务、快速可伸缩性、可度量的服务、广泛的网络访问和资源池化(共享),这在标准方面确立了如何度量云计算平台的方向。国内对于云计算平台的评测体系研究则定义评测指标模型是一个统一的整体,不同指标反映云计算平台的不同侧面。云计算平台通用评测模型(见图1)包含6大类指标:网络架构路由和交换能力、存储架构快速响应能力、虚拟化能力、资源抽象与控制能力、服务成熟度和安全性保证能力。
图1 云平台通用评测指标体系
根据NIST定义,云计算平台需要有广泛的可以说无所不在的网络访问标准。通常来说,云计算平台的过度延迟是由交换和路由引起的,需要评估网络架构的路由和交换能力。一般情况下,交换和路由的具体指标如下:
路由指标有:CPU能力,包转发、查表,路由协议支持,路由计算能力等;
交换指标有:传输速率,传输模式,支持的网络类型、协议和标准等。
存储架构的快速响应能力针对NIST定义云计算平台的要有可度量的服务标准定义。存储架构的快速响应能力确保用于保证数据和存储服务的及时交付"数据和存储服务的可用性。从数据服务能力和存储服务能力的两个角度建立12个评测指标:
数据服务能力评测指标有:用户数、每秒连接数、每秒事务数、当前连接数、吞吐量、端用户QoE、服务器利用率;
存储服务能力评测指标有:读写速率、I/O速率、事务响应时间、吞吐量、服务器利用率。
虚拟化能力是针对NIST定义云计算的按需自助服务、资源池化、快速伸缩性标准定义。虚拟化能力是确保云平台对使用者的服务透明,分为对计算资源、存储资源、网络资源进行虚拟化的能力。虚拟化能力衡量了NIST定义云计算的按需自助服务、资源池化、快速伸缩的标准,是保证云计算平台性能的基础。虚拟化有不同的层次,可以从宏观运行性能指标和微观部件指标来衡量:
宏观虚拟化指标有:吞吐率、可扩充性、响应时间、暂停时间、性能隔离度、正常运行时间、减速比、加速比等指标。
微观虚拟化指标有: CPU、内存、文件系统、2D/3D图形性能、I/O设备、网络设备等指标。
资源抽象与控制能力也是针对NIST定义云计算的按需自助服务、资源池化定义。资源抽象与控制能力一般从三个侧面衡量:
计算资源池化:将服务器资源虚拟并整合到逻辑资源池,再通过调控机制把这些资源定位给具体应用;
网络资源池化:对虚拟化环境下的网络资源进行规划和管理;
存储资源池化:将存储资源从复杂的硬件系统抽象出,用调度机制确保存储利用效率最大化。
可评测指标:资源管理能力、迁移可靠性度量、弹性伸缩与效率、容量能力、监控及分析能力。
服务成熟度是针对NIST定义云计算的可度量的服务。服务成熟度是使云计算平台的服务质量等级可量化。服务成熟度可分为5个小类指标:服务提供能力、服务监测能力、计量/计费能力、开发的接口能力、网络响应性能。其中服务提供能力又分为3个小类指标:服务获得、服务保证、服务效率。
安全性保证能力可衡量的方面比较广泛,通常有:用户管理的策略(对用户账号、角色的管理)、权限管理的策略(对不同权限和角色的账户所做的限定)、数据存储安全策略、数据传输安全策略、数据使用安全策略、应用安全策略方面的保障。
根据初步设定,新华社云平台定位于内部私有云平台建设。本期建设基础IT云平台,实现IT设施的资源池化,为上层业务应用提供IT资源服务。基础IT云平台建设包括IT物理资源(网络、服务器、存储)虚拟化、云平台操作系统和云平台管理系统。通过云平台对计算、存储、网络资源进行虚拟化管理,屏蔽服务器、存储和网络的异构特征,实现基础IT资源的池化和虚拟化,提高IT资源利用率。结合云平台建设的一般要素,可以分析新华社私有云建设要素有:
1)容量
面向社内未来业务考虑,新华社云计算平台需要满足社内众多业务的云计算环境应用,这就意味着数据存储器或许能达到PB乃至更高的数量级存储。
2)性能
社内众多实时性业务需要云计算平台具有良好的性能。而性能需要付出成本,因此搭建社内云计算平台需要一个良好的架构,在性能与成本之间进行平衡,并且提供的存储I/O性能能够满足众多用户的访问。
3)安全性
社内云计算平台安全性包括数据存储安全性和访问安全性。数据存储安全性常需要提供特定的数据保护方法,如RAID保护,多份拷贝和持续数据保护等;而访问安全性可以通过权限控制、PKI公钥管理等机制实现。
4)可扩展性
社内业务处于不断增长态势。云计算平台需考虑的可扩展性包括存储资源的动态增长、存储的灵活适应性。存储资源的动态增长要求存储资源能够根据社内用户的使用量增长而共同增长,存储的灵活适应性则需要云计算平台能够根据业务的需要的变化做到存储资源的随需响应。
5)可管理性
云计算平台的可管理性是一项较高的要求,它需要提供一个良好的架构,保证在满足云计算服务级别(SLA)下,需要有限的维护窗口就能可达到全天候的可用性。并且可通过用户管理界面,输出丰富的存储报表。
6)面向特定应用优化
社内众多应用对于云计算平台的需求有一定差异,针对特定应用的优化可以改善云计算平台效益。
在传统应用上,评测通常由选型测试、验收测试和运维测试三个环节构成[2]。新华社云平台的基准评测体系,服务于过程管理,是保证过程的手段之一整个评测体系的应用,应该贯穿于云计算平台的整个实施过程,保证云计算平台的实施。
3.2.1.云计算平台基准评测工具
虽然云平台与传统平台有很大的差异,但传统的评测工具在云平台的评测中仍可使用。一般来说,云平台基准评测工具可以包括3类:
(1)可用传统基准测试方法来测量云计算平台的一个或多个指标。可选择的传统测试工具有:SPEC(SPEC服务器应用性能测试)、LINPACK(可测试高性能计算机系统浮点性能)、NPB(NASParallelBenchmark并行处理测试)、HPCC(面向存储访问模型的基准测试)、IOzone(文件系统性能测试基准工具)、LMbench(反应时间和带宽的微型测试工具)。
(2)结合云平台的特点开发的专用于云平台的基准测试工具,可选VMmark等。这类工具可完成一些特定场景的新华社云计算平台的测试。
(3)结合实际测试平台情况改造传统的自动化测试工具:Jmeter(性能自动化测试工具)、Selemium(功能自动化测试工具)等。利用这些工具完成新华社云计算平台的整体功能和性能的评测。
3.2.2.云计算平台基准评测方法
根据国内一般采用的基准评测方法,新华社云平台基准评测体系应该通过体系指标进行功能、性能等方面的基准测量,初步设想包括3个方面:
(1)给各个服务器预估权值,使用基准测试工具测试各个服务器在云计算平台环境下的各自的性能表现,然后对这些的性能测试结果进行加权求和,用结果来评测云计算平台的性能;
(2)性能差异测试。使用基准评测工具对比各服务器在云计算平台与非云平台环境下的性能差异;
(3)诊断云计算平台系统的性能开销。
我社云平台建设目前处于从概念验证到探索业务初步应用的阶段,这需要逐步建立并实施评测体系。云平台评测体系的建立需要结合现在的云平台项目实施现状,从运维入手,首先进行云平台业务运维能力评估。
进行云平台的业务运维能力评估工作有两个方面。第一,在云平台实施中摸索“云运维”需求,总结“云运维”经验,进行云监控管理平台建设的同时,注意进行数据的收集。需监控云平台虚拟机、虚拟网络性能,监控硬件设备工作状态,记录软硬件故障告警,收集相关数据,为评测体系的建立做准备。第二,探索业务系统入“云”前测试工作的方法,降低业务系统迁移到云平台运维风险,提高云平台对业务系统的服务质量。
1) 云运维数据收集
新华社业务系统在“云平台”实施的过程中,系统运维模式逐渐从原来的垂直、分散维护模式演变为“横—纵—横”三线技术保障架构,形成“云运维”模式。云监控管理平台通过梳理“共享池化资源”管理、运维团队管理及业务系统开发、接入规范三个方面内容,建设“统一管理、安全管理及自动化运维”的云监控管理平台,满足“云运维”需求。在“云运维”的过程中,搜集云平台虚拟机、虚拟网络性能,监控硬件设备工作状态等多项指标数据。
2) “入云”前测试工作
业务系统“入云”前测试工作是应用在云平台上线前的重要工作。在业务系统测试中,可引入“测试云”环节,降低业务系统接入的风险,保证上线质量。测试云是基于云计算的一种新型测试方案,本地化测试方案已经不能完全满足云平台测试工作需要,在边开发边测试边上线的服务模式指导下,通过测试云平台的建设,可以快速地实现测试环境的搭建,可以很好地实现软、硬件环境、测试技术等测试资源的共享,在测试云中实现自动化测试、性能和压力测试、安全测试、自动迁移等多种测试服务化。
目前SOASTA、Selenium、IBM等厂商已经有较成熟的测试云方案。我们通过自动化测试工具进行研究,提出“云中”测试工作目标:
(1)在传统软件测试同时,通过云监控管理平台对云平台系统性能指标进行监控,通过这些数据指导云平台运维人员合理配置资源,制定弹性控制的工作方案;
(2)在测试云中对运行的业务系统进行在线迁移、系统宕机等极端情况测试,为业务运维人员提供紧急事件处理预案;
(3)从另一个角度监测业务系统运行情况,为开发人员提供数据依据,为项目管理人员提供项目规划参考。
平台业务运维能力评估是伴随云平台的实施、业务系统上线运行的过程,在这个过程中积累云平台开发、运维经验,在PAAS和IAAS层分别提炼出共性内容形成开发设计指导规范,在SAAS层提出软件服务规范,并逐步建立新华社云计算平台评测体系。
新华社私有云的建设工作已经逐步启动开展起来,随着业务“上云”准备工作的进行,测试的关键性会更加凸显。本文研究了云计算的通用评测指标体系,并结合新华社私有云的特点和要素,基准评测方法,提出了新华社基准评测体系建立的基准评测工具和方法,分析了在云平台逐步实施的条件下,建立新华社自有的云平台测试体系的前期可实施工作,为今后实际工作的开展打下了良好基础。