Azure Cosmos DB的计费模型

在上周,CosmosDB(MongoDB兼容版)新增了vCPU计费模型(参考)。这里简单介绍Cosmos DB计费模型的概况。

在之前,Cosmos DB仅支持使用RU作为计费的基础单位,一个RU相当于一个1kb的点查询,不同的操作,会对应不同的RU。看似一个很理想的按量计费的模型,但是实际使用效果并不是很好,使得企业或者开发者难以预测自己的应用使用量,只能根据应用上线后,在Azure控制台查看用量。一方面,开发者在应用没有实际上线时,很难弄清楚一个应用到底使会使用多少RU,也就很难进行容量规划。另一方面,开发者即便在控制台看到了实际的RU计量,有时候,也很难了解应用为什么会使用这么多RU。

RU计费也分类两种模式:

  • 预留RU/s(例如,每秒500RU的容量),该模式还额外的支持autoscale模式
  • Serverless(仅根据实际请求的RU数量进行计费)

在这个月,Azure Cosmos DB再次推出了基于vCPU的计费模型(参考)。可以看到,也许Serverless是最终的形态,但是,这个过程中,基于vCPU的计费模型,在很长的时间里面都还会开发者能够接受的主流。

使用vCPU的资源计费依旧有着众多好处:

  • 用户在初次迁移上云,做容量预估时,有更加一致的标准,更容易选择合适的规格
  • 计费和账单非常明确,用户对于自己购买了什么有清晰的概念
  • 用户的账单是比较固定的,能够避免“账单刺客”的情形出现

所以,虽然从理论上,Serverless或者auto-scaling的模型在波峰波谷明确的情况下能够更加节省资源,但是,在当下依旧有非常多的场景需要使用简单的vCPU模型。

参考阅读:How to choose between provisioned throughput and serverless

Leave a Reply

Your email address will not be published. Required fields are marked *