原文:How much is Spotify paying Google Cloud?
作者:David Mytton
译者:杰微刊兼职译者刘晓鹏
两周前,Spotify声明他们正在将数据中心迁移到Google云平台。
这是Google的一次巨大胜利,因为Spotify是第一个部署在多个云产品上大规模服务。我们都知道 Snapchat 已经在Google上运行了一段时间了,但它主要是一个App 引擎,Google提供的其他的服务需要一个可靠的用例来检验,现在,有这样一个用例出现了。这就类似于AWS上的Netfix。
Spotify逐渐暴露了他们决定移植到云服务背后的数字,并进一步强调了“为什么是Google?”的原因。然而,他们忘记了一个主要的评判标准:成本。
幸运的是,Google的定价相当透明,并且很容易计算,所以我们可以通过Spotify发的博文来估算Spolity可能需要赋给Google的账单。
事件传递
迄今为止,事件传递是唯一的服务,我们有真实的数据证明这一点。Spolify之前的数据中心采用的是Kafka,但是移植到Google后决定使用发布/订阅的方式。
Google的定价
Google发布/订阅服务的价格是基于三个变量来计算的:
1、操作数。每次API 调用是一次操作,一个“事件”至少有三次 API调用:发布,推送(或拉取)给消费者,消息确认,这是在假定消息体小于等于 64KB的情况下。
2、网络。如果你是在同一个区域内使用发布/订阅,那就不存在网络费用,但是如果存在区域之间的通信,你就需要支付标准的网络费用。
3、存储。消息会一直存储直到确认,存储时间可以长达 7 天。
Spotify 的数据
基于Spotify发布的博文,我们可以抽取出如下的数据:
1、操作数。Spotify生产环境的平均负载是每秒 700,000个事件。在测试阶段,他们使用每秒 2,000,000 个事件对系统进行压测,并且以后还可能会增长,但实际上,他们同样是使用生产环境的工作负载数据。
2、网络。Spotify的测试是在单个区域内的,所以网络费用为 $0。但如果我们假定他们是分多个区域部署的话(因为他们需要做适当的故障转移和灾难恢复),虽然入口是免费的,但是将调用推送给其他区域的消费者就会产生费用。Spotify 指出每秒 2,000,000个事件需要 1Gb左右的流量,也就是说每秒 0.125 GB。如果所有的消息都对应同一个消费者,也就是说每条消息为0.0000000625GB。按区域出口每GB$0.08的价格计算(可以简单地采用最优惠价格),相当每条消息 $0.000000005。
3、存储。这个非常难计算,因为 Spotify 从端到端的传输看起来有大约 20 秒的延迟,这使得很难知道它到底使用了多少存储。并且存储量还依赖于维护,宕机时间和消费者延迟等等。为了简单起见,我们假定它们没有使用存储。
Spotify需要为发布/订阅服务支付多少钱给 Google?
通过上面的计算,我们可以得出如下的结果:
操作数
700,000个事件每秒 = 1,874,880,000,000事件每月
= 5,624,640,000,000次API调用每月(每个事件三次API调用)
= 前 1,750,000,000API调用为 $300
= 之后每1,000,000次API调用为$0.05
= (5,624,640,000,000–1,750,000,000) = 5,622,890,000,000
= (5,622,890,000,000/1,000,000) = 5,622,890
= 5,622,890 * $0.05
= $281,144.50每月
网路
如果在同一区域,网络费用为$0。如果我们假设有一个二级区域的消费者:
1,874,880,000,000 调消息* 0.0000000625 GB
= 117,180 GB
= 117,180 * $0.08
= $9,374.40
如果存在多个消费者跨多个区域的情况,这个数字将会生变化,因为发布/订阅会自动实现所有消费者之间的负载均衡。例如,如果有一个消费在“源”区域,另一个在二级区域,这样你就只需要支付一半的费用,因为只需要为二级区域的消息付费。
总价格:
$281,144.50 + $9,374.40
= $290,518.90/月
Spotify真的有每月支付$290,518吗?
当然,对于这样一个高级客户,并且为了获得案例研究特权,我们可以假定Spotify有很高的折扣。不过,成本固然很重要,但是对于公有云,尤其是类似发布/订阅的管理服务,最大的优势在于易部署,而无需为每个功能做管理或扩展。
此外,还要记住,这只是Spotify的产品中的一部分。我们应该了解还存在其他的Google产品——BigQuery,数据流(Dataflow),计算引擎(Compute Engine),尤其是为所有媒体提供流的网络成本。我怀疑他们是否与Netfix类似,有自己的CDN,或者他们也是从Google购买的。