资源描述
一种云计算可用性定量计算模型
摘 要:随着云计算应用范围的扩展,人们对于云计算可用性的担忧也与日俱增.由于可用性的内在复杂性,用户缺乏对云计算平台进行风险评估的能力.本文通过对云计算进行分层(IaaS,PaaS和SaaS)可用性分析,提出来一种基于分层结构及其层间关系的云计算可用性定量计算模型,并给出了具体的计算和仿真实例。
关键词:云计算;可用性;定量计算
中图分类号:TP393。08
根据Gartner的分析报告,云计算市场在2011年到2013年间保持了两位数以上的增长[1]。越来越多的企事业单位考虑将其数据和应用迁移到云平台,随之而来的是更多对云计算可用性和可靠性的担忧.UCBerkeley的Michael Armbrust等人提出的云计算必须克服的十大障碍中,可用性保证位列第一[2]。许多知名的云服务提供商,如亚马逊、微软等都曾发生较为严重的故障,给用户带来了巨大损失[3]。由于可用性的内在复杂性,用户缺乏对云计算平台进行风险评估的能力,现实需要一种可对云计算可用性进行定量计算的分析模型。
1 可用性定量计算模型
云计算的可用性可以是一个很宽泛的概念,为避免因涉及过多因素而造成量化计算不可行的问题,本文将首先对其进行较为严格的定义,进而提出自己的量化计算模型。
1。1 云计算可用性定义
传统电信业对可用性的定义为系统处在可工作状态的时间占总时间的比例[4],如式(1):
Availability=MTTF/(MTTF+MTTR) (1)
其中Availability为可用性,MTTF(mean time to failure)为平均故障间隔,MTTR(mean time to repair)为平均恢复时间。
但这种简单的定义无法体现云计算可用性的内在复杂性,根据目前主流的云计算模型[2],可将其划分为三个层面:IaaS(Infrastructure as a Service),PaaS(Platform as a Service),SaaS(Software as-a Service)。云计算可用性应考虑到包括IaaS,PaaS和SaaS的可靠性、延时、网络攻击以及三个层面之间的连接故障等可能导致用户的需求不能满足的因素,相应的,其整体的可用性可表示为式(2):
Availability=∏(AvailabilityIaaS,AvailabilityPaaS,AvailabilitySaaS)
(2)
而三个层面单独的可用性,同样可用式(1)进行计算,具体的计算方法在下节进行讨论。
1。2 分层结构可用性
本节将对云计算分层结构的可用性进行具体说明。首先定义几个同时适用于三层结构的概念:
(1)服务单元SU(Service Unit)。能够独立向上一层(IaaS的上一层为其它IaaS、PaaS或用户,PaaS的上一层为其它PaaS或用户,SaaS的上一层为其它SaaS或用户)提供服务的单元.位于同一层的SU相互独立,单个SU失效不影响其它SU的功能和性能.对IaaS来说,SU可以是RAID(Redundant Array of Independent Disks)阵列[5]中的单块硬盘或某个数据中心;对PaaS来说,SU可以是某个网站镜像或数据库实例;对SaaS来说,SU可以是某个软件实例。
(2)服务集合SS(Service Set)。由多个SU和数个(1个或多个)控制单元(CU,Control Unit)组成,作为一个逻辑整体(SU)向上一层提供服务,其结构如图1所示。CU用来监测组成SS的多个SU的状态,控制能够提供最优服务的SU向上一层提供服务.当SS具有多个SU时,本文称其具有抗单点失效性[6]。为简单分析,本文将CU作为一个整体考虑,不考虑其单点失效性。
图1 SS结构逻辑结构
(3)绝对可用性AA(Absolute Availability)。在设定下层可用性为100%的假设下,本级的可用性定义为AA。
(4)实际可用性PA(Practical Availability).PA需要递归定义,设第i—1层的实际可用性为PAi—1,则第i层的PAi=AAi*PAi-1。
对属于同一层同一个SS的SU来说,有AAsui=AAsuj=Ω,Ω为一个常量(如99%,99.99%等)。
对含有N个SU的SS来说,其AAss=Max(AAsu1,AAsu2,…,AAsuN),即SS的CU会选择可用性最高的一个AU向上一级提供服务。
在云计算的实际的分层部署中,设第i层的向上一层提供服务的SS实际可用性为PAssi,则第i+1层的SU实际可用性可表示为式(3):
PAsu(i+1)=AAsu(i+1)*PAssi (3)
同样的,则第i+1层的SS实际可用性可表示为式(4):
PAss(i+1)=Max(AAsuk*PAssi) 其中0〈k〈N+1 (4)
即每一层的真实可用性取决于本身的可用性和下一层所提供的可用性。
1.3 部署结构
为对云计算可用性进行量化计算,需要对其部署结构进行明确。本文主要考虑以下三种结构,下文图2、图3和图4中的每个方框代表一个SS。
(1)线型结构.线型结构的部署拓扑如图2所示,IaaS,PaaS和SaaS均只部署了一个SS依次向上提供服务,该种结构在每一层都存在单点失效的问题,可用性保证能力较差,但其结构简单、部署维护难度低,加之成本较为低廉,也存在一定比例的实际应用.
图2 线型结构部署拓扑 (2)单层分支结构.单层分支结构的部署拓扑如图3所示,图3(a)、图3(b)、图3(c)分别表示对IaaS,PaaS和SaaS进行扩展得到的部署拓扑.在实际应用中,往往是选择可用性较低的一层进行扩展,以提高整个服务的可用性.
图3 单层分支结构部署拓扑
(3)树形结构.对于可用性要求高,且可以接受较高开销的云计算服务,往往采用树形结构,如图4所示,该结构可根据需要对三层结构都进行不同程度的扩展,系统的可用性可得到较高的保证,但其结构复杂,控制困难且开支较大。
图4 树形结构部署拓扑
2 基于模型的定量计算与仿真
2。1 定量计算方法
根据1.3节给出的部署结构,分别讨论其可用性定量计算方法。
(1)线型结构.如图2所示,该种结构的可用性计算较为简单,设IaaS节点的AAIaaS=PAIaaS,则有:
PAPaaS=AAPaaS*PAIaaS
PASaaS=AASaaS*PAPaaS=AASaaS*AAPaaS*PAIaaS
(2)单层分支结构。以图3(a)给出的部署结构举例说明。设IaaS节点的AAIaaSi=PAIaaSi,则有:
PAIaaS=1—(1—AAIaaS1)*(1—AAIaaS2)
PAPaaS=AAPaaS*PAIaaS
PASaaS=AASaaS*PAPaaS=AASaaS*AAPaaS*(1-(1—AAIaaS1)*(1—AAIaaS2))
(3)树形结构。同样,对图4给出的部署结构,设IaaS节点的AAIaaSi=PAIaaSi,则有:
PAIaaS=(1-(1—AAIaaS1)*(1-AAIaaS2))*(1—(1-AAIaaS3)*(1—AAIaaS4))
PAPaaS=1—(1—PAPaaS1)*(1—PAPaaS2)=1—(1—AAPaaS1*(1—(1-AAIaaS1)*(1—AAIaaS2)))*(1—AAPaaS2*(1—(1—AAIaaS3)*(1—AAIaaS4)))
PASaaS=AASaaS*PAPaaS=AASaaS*(1-(1—PAPaaS1)*(1-PAPaaS2))
2。2 仿真实验数据
基于VS2008平台,利用C#语言实现了对图4所示树形结构可用性的仿真模拟实验,实验使用Timer类实现时间推进机制,利用Rand函数实现可用性的概率设定,利用2.1节给出的计算方式完成模拟仿真。设各SS的绝对可用性均为99.9%。共进行了5次仿真实验,每次实验的时长为10万个时间单位,PASaaS结果如表1所示,由表1可知,仿真实验得到的数据与理论计算值基本一致,其中的不一致可能来自仿真时间长度有限带来的偶然因素,说明了可用性量化计算的有效性.
表1 仿真实验数据
序号 PASaaS值
实验1 99。8989%
实验2 99。8996%
实验3 99。8969%
实验4 99。8899%
实验5 99。8939%
理论值 99。8999%
3 小结与展望
本文根据云计算可用性的影响因素,将云计算划分为3个层次,基于自己定义的SU、SS等概念,给出了一种分层计算的云计算可用性量化计算模型和具体的计算方法,并通过仿真实验验证了模型的有效性,可有效支持服务提供商和用户对云计算可用性评估的需求,但该模型的部署结构还不够一般化,需要进一步改进,以提高其通用性和易用性。
参考文献:
[1]Gartner Says Worldwide Public Cloud Services Market to Total $131 Billion.http://www.gartner。com/resId=2332215
[2]Michael Armbrust,Armando Fox, Rean Griffith,Anthony D。Joseph,Randy Katz,Andy Konwinski,Gunho Lee,David Patterson,Ariel Rabkin,Ion Stoica and Matei Zaharia。Above the Clouds:A Berkeley View of Cloud Computing.Technical Report No。UCB/EECS—2009-28.
[3]冯登国,张敏,张妍。云计算安全研究.软件学报,2011(01):71—83。
[4]Federal Standard 1037C.General Services Administration,MIL—STD—188。
[5]Common RAID Disk Drive Format (DDF) standard。 SNIA.org。SNIA。 Retrieved 2012—08-26。
[6]可靠性维修性保障性术语[Z]。中华人民共和国国家军用标准,2005。
作者简介:杨志明(1984。06-),男,云南大理人,在读研究生,研究方向:计算机网络;张嘉慧(1984。10—),男,甘肃民勤人,在读研究生,研究方向:计算机网络。
作者单位:国防科技大学计算机学院,长沙 410073
展开阅读全文