(一篇博文分两段发,系统限制请原谅)
二、典型云计算实例的成本构成
在讨论云计算成本构成之前,首先通过
Amazon EC2
的计费项目,分析典型的
IaaS
云计算的成本构成
[2]
。
·
计算实例的费用
首要的计费对象是按需使用的计算实例,即服务器资源。这本来是需要花费巨大的
IT
资源,通过实例可以灵活的按需支付的方式进行计费。计算实例的费用包括了绑定的操作系统的费用,即硬件
+
操作系统的价格,如表
1
,计费方式从实例建立到终止进行全时计费。
|
表1 计算实例的计费
EC2
同时提供另一种计费方式,即包租实例,同样的计算实例,预付一定的包租费用,之后按照每实际工作小时进行计费,费用远低于上一种租用模式,如表
2
。
|
表2 计算实例的包租计费
·
数据传输的费用
对于通过
Internet
网络传输的数据,数据的上载“
in
”和下载“
out
”分别进行计费,如表
3
。
Data Transfer In
|
|
All Data Transfer
|
$0.10 per GB
|
Data Transfer Out
|
|
First 10 TB per Month
|
$0.17 per GB
|
Next 40 TB per Month
|
$0.13 per GB
|
Next 100TB per Month
|
$0.11 per GB
|
Over 150 TB per Month
|
$0.10 per GB
|
表3 数据上载/下载计费
同一地区内部(如欧洲或者北美)的两个
AWS(Amazon Web Service)
之间的数据传输不进行计费,跨地区,如欧洲和北美之间,则进行双向
Internet
传输计费。此外,
Amazon
还定义了有效区域
(Availability Zone)
的概念,有效区域内部的数据传输不计费,相同地区的不同有效区域之间的数据传输则按照每
GB $0.01
对上载和下载数据进行计费。如果使用用户自己的公开或者弹性
IP
地址,或者在
EC2
网络内部使用弹性负载均衡,则也需要按照跨地区方式计费,无论是否运行于有效区域内,为了解决这个问题,如果有可能,有效区域内部的数据传输可以采用私有
IP
。
·
存储的费用——
Amazon Elastic Block Store
如果需要额外的数据存储,可以采用
EBS
,计费标准为每月每
GB
数据
$0.10
,以及每
1M(
百万次
)I/O
请求
$0.10
。
·
弹性
IP
地址的费用——
Elastic IP Addresses
正在使用的弹性
IP
地址不计费。未使用的
IP
地址每小时
$0.01
。每个月的头
100
次
IP
的
Remap
不计费,额外的
Remap
每次
$0.10
。
·
系统监测的费用——
Amazon CloudWatch
EC2
系统监测的费用是每实例小时
$0.015
。
·
弹性负载均衡的费用
每个弹性负载均衡工作小时计费
$0.025
。通过弹性负载均衡处理的每
GB
数据计费
$0.008
。
从上面
Amazon EC2
计费情况可以看出,计算实例的费用,以及数据传输的费用是云计算费用或者说成本的最主要也是最基础的部分。计算资源的费用主要涉及到硬件设备,如服务器,以及与之相关的散热成本。数据传输的成本主要是需要分担带宽的成本。可见,计算资源和带宽是最核心的组成部分。
计算实例本身附带了存储空间,但是用户仍然有可能需要更多的存储空间,或者用户的主要需求就是存储空间,因此就会涉及到
Amazon S3
的使用,在
EC2
中提供简单的存储云服务,
EBS
,来提升
EC2
的弹性。
此外,
IP
资源也可以作为收费项目。
EC2
还提供增值服务,例如系统监测和负载均衡,这些高附加值的服务,一方面提升了云计算平台的服务质量,另一方面提升了云运营商的利润空间。
三、 带宽与硬件的均衡对成本的影响
根据在该文前面部分的论述,云计算的三个必要条件是网络带宽、大规模硬件资源以及成本。网络带宽和大规模的硬件资源会反映到成本上,本小节将分析论述通过带宽与硬件资源的性能均衡,来节省成本的必要性。
以典型的
Web
访问类型的云计算为例,影响云中
Web
类应用用户体验的因素,也是衡量
Web
效用的因素,包括:
o
用户连接数
o
响应时间
o
页面平均大小
而限制云计算平台服务能力的主要因素包括:
o
计算能力(
CPU
)
o
网络能力(带宽)
o
如果是存储服务器,还包括存储能力(容量,速度)
网页理论平均最大处理量:平均页面大小
300KB
(
2008
年数据
[22]
),网页平均载入时间
2.8
秒,
1000Mbps
网口,则可以得到平均每秒
9000
个点击。
o
(1000Mbps/8bit)*2.8s/300KB≈9000
次
/s
在上面的举例情况中,从单台服务器的角度,如果达到网络流量的峰值,设典型的业务逻辑中,
300K
的页面处理需要
CPU
指令
1MOps
条,可以推算出所需的计算能力为:
o
9000
次
/s*1Mops=9Gops
则每秒
9Gops
的处理能力,即可以与网络带宽的峰值相匹配。考虑到
CPU
占用率不宜超过
30%
,则
9Gops/30%=30Gops
的
CPU
处理能力,可以满足需求。当前的
CPU
,每个时钟周期平均可以处理
4
个指令,则
1
个
1.7GHz
的四核处理器,即可满足要求。当然,不同的应用对计算资源的要求不同,不同的
SLA
或者用户需求,对于网络带宽和计算能力的要求也不相同。但是通过上面的计算可知,单纯的提升某种能力,都将面临另一种能力的制约,这将造成投资的浪费。
对于最主要的网络带宽和计算能力这二者来说,达到一个均衡的性能,比单纯的性能提升更为科学。随着用户的增加,以及新业务的加入,保持均衡的性能提升,将有助于提升云计算平台的成本效用。
三、不同SLA对成本的影响
无论云计算资源在哪里提供,对于用户来说,都期望有明确的服务质量保证。服务等级协议(
SLA
)可以明确指出用户能够对云供应商报有一个什么样的实际的服务质量期望,以及决定和某种服务质量(
QoS
)相联系的付费模式。
SLA
包含了对服务有效性的保障,譬如对故障解决时间、服务超时等的保证。在互联网与云计算领域,可用性和性能的要求更高,响应时间、正常服务时间比率等指标更常被使用。例如,
Amazon EC2
的
SLA
承诺每个服务年度的正常运行时间在
99.95%
以上,没有满足
SLA
则需要对用户进行赔偿。
SLA
中约定的服务质量
QoS
的主要实现方法是超量部署,也就是提供比平均应用量或者最高应用量还要多的容量。许多资源一般都采用超量部署,如计算机
CPU
和磁盘空间等。超量部署会带来额外的成本支出。例如前文
GFS
为了满足存储可靠性的要求,则采用了
3
份冗余数据,这样,云计算平台的部署规模需要是实际数据规模的
3
倍。国内一些
IaaS
运营商,在一定
SLA
约束下,为了保证用户虚拟机的可靠性,也需要定期对虚拟机快照进行备份,这些都是由于为了满足
QoS
而带来的额外的成本指出,而这些成本支出最终会由用户支付。当然,如果用户使用自己的数据中心,为了满足
QoS
的需求,可能需要付出的成本还会更高。
参考文献
[1] GRAY, J. Distributed Computing Economics. Queue 6, 3 (2008), 63–68.
[2] Amazon. Amazon Elastic Compute Cloud (Amazon EC2). 2009. http://aws.amazon.com/ec2/