Cloud Spanner is a relational database service that offers industry leading 99.999% availability, and near unlimited scale to handle even the most demanding of workloads. For these reasons, customers in various industries trust Spanner for their workloads with significant throughput requirements. We have heard from our customers that they would like to standardize on Spanner for all their workloads – big and small as they value the manageability, scale-insurance, and consistent performance that Spanner offers.
Therefore, last year we launched granular instance sizing in preview so that you can run your workloads on Spanner starting at approximately $65/month. Today, we are excited to announce the general availability of granular instance sizing. With granular instance sizing, at a much lower cost you can still get all of the Spanner benefits like transparent replication across zones and regions, high-availability, resilience to different types of failures, and the ability to scale up and down as needed without any downtime. And with Committed Use Discounts, the entry price for production workload further reduces to less than $40/month as you receive a 40% discount for a 3-year commitment.
How granular instances work
With granular instance sizing, we are introducing a new unit for provisioning resources in Spanner – “Processing Units (PUs)” in addition to “Nodes”. One Spanner node is equal to 1,000 PUs; so you can start with a 100 PUs instance and provision in batches of 100 PUs, and get a proportional amount of compute and storage resources. All Spanner instances including the instances with less than 1,000 PUs or 1 node have the same availability SLA of 99.99% for regional instances and 99.999% for multi-regional instances. You can use this feature to cost-effectively run workloads of all sizes on Spanner and scale seamlessly as needed.
With granular instance sizing you get proportional resources for proportional price, for example, a 100 PUs Spanner instance can support a maximum of 10 databases with up to ~410 GB of data storage. The limit for number of databases per Spanner instance scales proportionally with the provisioned compute capacity in the instance to a maximum of 100 databases per instance. Additionally, a Spanner instance can store unlimited data as long as sufficient compute capacity is provisioned in the instance as there is a limit of 4TB of data per 1,000 PUs (1 node).
You can easily use granular instance sizing by selecting the instance configuration, Processing Units (PUs) as the unit of compute capacity and then providing their quantity. The summary on the right side of the console-page displays the per-hour compute cost based on the number of Processing Units; it also lists the maximum storage which is available for the instance.
Making Spanner more accessible for every developer and workload
Our mission is to democratize access to Spanner so that developers can easily get started with a familiar interface and low entry cost, and seamlessly scale their workloads without downtime.
In addition to reducing the cost of entry for production workloads with granular instance sizing, we also recently introduced Committed Use Discounts (CUDs) for you. With CUDs, you make hourly spend based usage commitments for a year or longer for Spanner compute capacity and get discounted prices for it. Spend based commitment offers maximum flexibility as the discount is automatically applied on compute capacity of instances in any instance-configuration (regional or multi-regional) across projects. You can reduce your costs by purchasing either a one-year CUD that provides a 20% discount or a three-year CUD that provides a 40% discount. So if a three-year committed-use-discount of 40% is applied to a 100 PUs regional Spanner instance for example in us-central1, your monthly bill will be less than $40/month.
We also announced the preview of the PostgreSQL interface for Spanner at Google Cloud Next ‘21. With this capability, you can build transformative applications with Spanner while using the familiar PostgreSQL dialect. You can leverage the core subset of capabilities that PostgreSQL offers with the scale, consistency and high-availability of Spanner. We will soon be announcing the General Availability of the PostgreSQL interface of Spanner.
With granular instance sizing, CUDs and PostgreSQL interface for Spanner our goal is to address the popular demand from developers to make the best in class experience on Spanner more accessible and cost effective. For example, a two-person game development startup developed their first game on a 100 PUs Spanner instance that they plan to launch soon. This gaming startup aspires their gaming title to have the same success as PokemonGo (also built on Spanner) and when it does, they won”t have to worry about re-architecting their database because Spanner offers them seamless scaling to support their millions of users.
By: Vaibhav Govil (Group Product Manager, Google)
Source: Google Cloud Blog