云计算计费问题研究

2014-12-31 12:50张云勇
电信科学 2014年11期
关键词:计费代理部署

陈 豪,陶 冶,张 尼,张云勇

(中国联合网络通信有限公司研究院 北京 100032)

1 引言

云计算是一种将规模可动态扩展的虚拟化资源通过网络提供对外按需使用服务的计算模式,用户无需了解提供这种服务的底层基础设施,也无需去拥有和控制[1]。云计算具有资源共享、弹性调度、按需分配等特点。云计算的兴起将使很多企业摒弃原有购买服务器、存储设备的模式,转而选择更灵活的服务模式。目前以包月为主的计费方式的最大特点是用户为其单位时间的服务支付固定的费用而与其用量无关,这种计费方式却与云计算所提倡按需服务的目标背道而驰,已经无法适应云计算的发展需求[2]。从技术角度看,云服务作为综合性资源和内容服务资源的多样性和内容的动态组合,传统网络资源计量方法难以胜任,需要对差异性服务进行动态跟踪和计量,针对服务模块的组合进行定价,并根据不同用户的行为进行收费。因此云计算环境下的计费问题是保证云计算快速发展且保障产业链各参与方利益的重要问题。

现有关于云计算的理论研究多从技术的视角,探讨云计算体系架构、云数据管理、云安全、编程模型等[3~5],针对云计算整体计费系统的研究尚不多见。另外,目前的研究多集中在计费策略上,参考文献[6]中通过对服务等级协议(SLA)内容监测及用户评估的分析,提出了一种基于效用的云计算动态资源计费策略,参考文献[7]运用随机Petri网进行动态流程建模与追踪,提出分层计费体系下的流程计费模型。参考文献[8]在对比几种典型公有云服务提供商的计费方式的基础上,指出云计费应满足用户差异化需求和多样化应用的场景。这些研究并没有明确各种云服务的计费指标,没有考虑计费信息的采集、存储以及展现等实际问题。

2 主流云平台计费现状

云计算按服务类型大致可以分为3类:基础设施即服务(IaaS)、平台即服务(PaaS)、软件即服务(SaaS)。这 3 种服务类型的云计算系统中,所有的用户需求被看作是一种云计算服务请求,即所有的用户需求将面临计费的问题。对于上述3种服务类型,应考虑什么样的服务可以免费,什么样的服务按照数据的存储量、计算量、存储时间等方面以怎么样的收费标准来计费。这些问题是云计算计费主要考虑的核心问题之一。

作为IaaS标杆的亚马逊云服务(AWS),现在共提供12类33项服务,基础设施功能已经相当丰富,能满足构建超大互联网应用的大多数需求,并面向开发者提供工具包、SDK、文档、社区和技术支持等服务。具体来看,大致可分为计算、存储、应用架构、特定应用、管理这五大类。在此不穷举这些服务的计费指标,仅选择其中最具代表性的3种服务的计费情况进行讨论,见表1。

PaaS的典型代表是Google App Engine(GAE)应用平台服务,用户可以在GAE平台使用Python和Java语言开发各种Web应用,通过Google App Engine运行大型并行应用程序。而企业也可以在这一平台上定制开发适合自己的软件应用。GAE应用程序易于构建和维护,并可根据用户访问量和数据存储需要的增长轻松扩展。使用GAE,将不再需要维护服务器,只需上传企业自己的应用程序,便可立即为企业的客户提供服务。GAE的计费情况见表2。

SaaS的典型代表是Salesforce基于网络向企业用户提供在线CRM销售云和服务云,使用户可以避免购买硬件、开发软件等前期投资以及复杂的后台管理问题。它的计费以用户为单位,不同版本的软件对每个用户收取的费用不同,越专业的版本每个用户收费越高。

通过对以上3种模式的计费情况进行对比,发现IaaS的计费主要是对主机、网络、存储、应用环境等资源的使用情况分别进行计量,然后分别定价(受时间、区域等因素影响)形成账单进行收费。一般有包月和按需计费两种方式。

PaaS的计费与IaaS类似,PaaS平台通过分布式计算基础架构管理系统向用户提供资源服务,因而每种资源的使用都需要计费。不同的是PaaS的计费点更侧重于平台开发接口的调用情况。

SaaS是通过网络向用户提供软件服务,采用多租户的技术来降低软件部署费用,通过专业化和规模经济来降低供应商软件服务成本和用户的支付费用,主要采用的是订阅式计费机制。SaaS的计费则更多以用户或软件实例为基础进行计费。

表1 亚马逊典型云服务计费情况

表2 Google典型云服务计费情况

这3种模式的云服务的计费归根结底都是对底层各种资源使用情况的计费,因此本文对最复杂的IaaS模式的计费系统进行进一步研究,其他两种模式的计费系统可以通过类比掌握。

3 云计算计费系统构建

云计算计费系统可按基础设施层、数据处理层和数据展现层来构建。基础设施层为中间处理层准备其所需的计算、存储、数据库、网络等资源;数据处理层对计量数据进行分析并负责持久化,采用一定的模型和算法处理,供展示层调用;展示层通过多种途径展示计量数据,并通过配置各种策略实现经营活动,最终形成计费账单。云计算计费系统如图1所示。

图1 云计算计费系统分层结构

3.1 数据采集

对物理资源的计量数据采集有很多成熟的技术和工具,但是云计算环境不仅需要对物理资源的使用情况进行计量,更重要的是对虚拟资源进行计量,目前对虚拟资源的计量数据采集有部署代理与无代理两种模式[9]。

代理模式一般将定制的数据采集代理植入宿主机(虚拟机资源或物理资源)中,这种方式采集的数据更加准确,指标扩展也比较容易。这种模式需要额外的安装部署及维护工作,工作量与采集对象数量成线性关系,即采集对象越多就需要安装越多的代理程序。在云计算环境使用大量虚拟机的场景下,手工安装代理程序效率低下,需要使用自动化部署技术,例如从服务器将代理程序推送到采集对象上安装。

无代理模式不需要安装代理程序,通过远程调用虚拟化层或操作系统提供的接口实现数据采集。

本文结合使用上述两种数据采集方式,功能结构如图2所示。

图2 数据采集方案

该方案使用无代理方式采集服务器、路由器、交换机等物理资源的计量参数,而部署定制化代理的方式采集开源与商业云化资源的使用情况。这个方案主要有以下优点:由于服务器、交换机等物理设备对通用的SNMP/Telnet/SSH等标准接口已具备较成熟的支持能力,所以采用通用的标准化无代理采集方法,既可减少代理部署成本,也可以最低限度地降低宿主机的性能与工作效率。

如前文所述,由于云化资源如虚拟机、开源云计算系统组件、云数据库、云存储服务尚无标准化的数据采集标准,使用无代理方式无法满足云计费的数据需求。所以针对不同的资源类型,定制化开发计量数据采集代理,既可以根据用户及云平台计费需求,拓展或减少计量指标,又可以利用云计算按需拓展、自动化部署等技术优势,随用户的资源申请自动部署计量采集代理,实现计量数据收集。

而对于商业云化资源,一般能力提供商都已提供较为完善的计量功能或相应的数据开放接口,云管理平台只需要根据数据接口,定制标准化的数据格式转换系统,对接至云管理平台即可实现对商业云化资源的计费。

3.2 数据存储

如果要做到按使用量计费,计费数据的采集频率就不能太短,再加上云服务种类很多,每种服务有不同的计费指标,且每种服务又有许多用户等原因导致了计费数据需要解决存储的问题。另外计费数据还需要随时可供查询,需要保证计费数据的高可用性。

如图3所示,本文采用LVS(Linux虚拟服务器)+Keepalived作为支持高可用的计费数据存储解决方案,LVS提供负载均衡,Keepalived作为故障转移,提高系统的可用性。

图3 数据存储方案

一般的MySQL高可用为了实现MySQL数据的一致性,都是采用单点写入,本方案采用Keepalived中的sorry server来实现写入数据库为单点的需求。本方案实现的功能是当网络有问题、MySQL有问题、服务器宕机或Keepalived服务停止后,服务器能自动跳转到备用机,当主服务器服务启动起来后会自动切换回来。

Keepalived基于虚拟路由冗余协议 (virtual router redundancy protocol,VRRP)实现高可用解决方案,利用其避免单点故障,通常这个解决方案中,至少有2台服务器运行Keepalived,即一台为主服务器,另一台为备份服务器,但对外表现为一个虚拟IP地址,主服务器会发送特定消息给备份服务器,当备份服务器收不到该消息时,则认为主服务器出现故障,备份服务器会接管虚拟IP地址,继续提供服务,从而保证了高可用性。这个方案的优点是:

· 安装配置简单,实现方便,高可用性好,可以根据服务与系统的可用性多方面进行切换;

·可以将写虚拟IP地址和读虚拟IP地址分别进行设置,为读写分离做准备;

· 可以在后面添加多个备份服务器,并做到负载均衡。

3.3 计费模型

计费模型应该同时考虑云服务商和用户的利益。作为提供商与用户之间云服务价值实现的桥梁,云计算服务的计费模式必须能够在满足用户使用需求的同时,客观地衡量用户使用服务时对提供商资源的占用情况[8]。

在计费模型中加入用户的因素,例如用户满意度、用户QoS等,将增加用户与云服务商的粘合度。在社交网络十分繁荣的今天,通过用户之间的推荐将进一步增加云服务商的用户数,从而增加云服务商的利润,达到共赢的目标。另一方面,对云服务商而言,如何尽量降低成本提高利润是其主要诉求,云服务商也可能会采用分地域、分时段的计费策略和优惠手段等,这些也是计费模型应该考虑的因素。

本文令N={N1,N2,…,Nm},其中,N1,N2,…,Nm分别代表某一种计费因子。采纳的计费因子如下。

· 用户的资源使用量:用户申请的虚拟机资源、存储资源、数据库资源、网络资源等。可将资源按不同的规格进行搭配,对打包的资源进行统一计费。

· 用户租借时间:根据用户租借时间的长短,可采取不同的计费策略。一次租借时间越长,给予的优惠力度越大。

·用户要求的服务质量:用户要求的服务质量越高,所需费用就越多。

· 网络繁忙程度:当网络处于空闲状态时,用户单位用量的价格较低,随着网络繁忙程度的增强,用户单位用量的价格将会增加。

· 服务源和申请用户之间的距离:云服务提供商通常将云资源分成不同的区域,源和用户在一个服务区域内的用户为区内请求,否则为区外请求,一般对区外请求给予适当的优惠。

· 用户行为:通过对用户行为进行分析,对恶意使用云环境(如部署恶意应用程序,使用申请的虚拟资源从内部发起攻击等)提出警告或处罚。

· 云服务故障造成的影响:网络瘫痪、数据丢失等造成用户利益受损,应考虑给予用户补偿。

将这些计费因子分配相应的指标权重W,W={W1,W2,…,Wm},Wm分别代表针对每一Nm指标的权重。其中,W=1,0≤W1,W2,…,Wm≤1,W1+W2+ …+Wm=1。基于计费因子加权的计费可表示为:Bill=W1×f(N1)+W2×f(N2)+…+W3×f(Nm),其中f(N1)为以N1为参数的函数,其他各项以此类推。

3.4 数据展现

图4 云计算计费系统部署

由于采集的指标种类繁多,展现方式也多种多样,包括表格、拓扑图、柱状图、饼图等,没有统一的标准。数据展现需要体现逻辑性,例如在展现虚拟机使用情况的同时,应该能关联展示与虚拟机结合使用的网络资源、存储资源、应用环境等的使用情况。

计量数据需要计费划价处理,按照相关费率以及云计算服务具体发生状况,计算用户的云计算服务费用,并形成详细账单。数据展现还应该支持自定义报表、数据管理、配置费率,如更加灵活地调整资费策略、实施多层次优惠方案,及时配合面向用户的经营战略调整,提高服务质量。

4 云计算计费系统部署

根据云计算计费系统构建方案,本文以OpenStack(i版本)为虚拟化管理平台进行了系统部署,部署网络如图4所示。其中主要节点部署的应用包括:在控制节点部署OpenStack的Nova-API、Nova-scheduler、noVNC、Keystone、Glance、Quantum、Cinder等应用;在计算节点部署Compute、监控代理等应用;在门户节点部署Tomat应用;在资源节点部署MySQL、rabbitMQ应用;在MySQL数据库部署Keepalive应用。部署网络将业务和管理隔离,分配不同的网段和默认网关。通过实际部署运行验证了本文方案的可行性。

5 结束语

本文在分析了现有主流云平台计费机制的基础上,采用3层模型构建云计算计费体系,并对各层的关键技术进一步细化。在数据采集方面,采用无代理结合定制化代理的方式采集计费数据,底层设置支持开源云化资源、商业化云化资源以及非云化资源。在数据存储方面采用LVS结合Keepalive提供支持高可用的数据存储方案,然后设计了一个基于计费因子加权的计费模型,同时考虑用户和云服务提供商的利益。最后对计费系统数据展现提出建议。本文下一步工作将围绕海量计费数据存在的大数据问题以及计费系统的安全问题展开进一步研究。

1 张尼,刘镝,张云勇等.云计算安全技术与应用.北京:人民邮电出版社,2014

2 胡军.云计算环境下计费系统的设计与实现.北京邮电大学硕士学位论文,2013

3 房秉毅,张云勇,程莹等.云计算国内外发展现状分析.电信科学, 2010(S1)

4 Shaikh F B,Haider S.Security threats in cloud computing.Proceedings of Internet Technology and Secured Transactions(ICITST),Abu Dhabi,2011

5 吴吉义,傅建庆,平玲娣等.一种对等结构的云存储系统研究.电子学报,2011(5)

6 刘国奇,刘慧,高宇等.一种基于效用的云计算动态资源计费策略.吉林大学学报(工学版),2013(6)

7 黄卫东,于瑞强.云计算环境下基于 Petri网的流程计费模型.北京邮电大学学报,2013(1)

8 吴俊,徐溟.公有云服务计费模式比较研究.电信科学,2012,28(1):127~132

9 Wiki.http://en.wikipedia.org/wiki/Agentless_data_collection,2014

猜你喜欢
计费代理部署
5G网络独立组网中融合计费方案的研究
基于云计算和微服务架构的高速公路计费系统
一种基于Kubernetes的Web应用部署与配置系统
晋城:安排部署 统防统治
生活中的分段计费
部署
代理圣诞老人
代理手金宝 生意特别好
部署“萨德”意欲何为?
基于AM3354的电动汽车充电监控计费系统电表通信的实现