Cockroach Labs is announcing this week the beta version of a new serverless offering that will become available alongside its provisioned cloud service and self-hosted edition (which can be on-premises or in a cloud). This is a first step for the Cockroach DB in starting a free edition and pay as you go pricing. Serverless enables them to lower entry pricing.
There are several goals with Cockroach Serverless. The first is providing a lower entry point, where customers do not have to commit to any minimum number of nodes or clusters. For developers, making life simpler by eliminating the need to capacity plan and provision nodes. Specifically, CockroachDB Serverless will autoscale, and the company claims that clusters can be spun up or down in under 10 milliseconds. Beyond autoscaling, the service will have automated failover as the data is replicated across three AZs — for now within the same region.
In contrast to the existing provisioned and self-hosted editions, serverless will be offered on a multi-tenanted basis. So, besides eliminating the need for a minimum number of nodes, a multi-tenanted service can be offered at a lower price point compared to the single-tenant mode that Cockroach Cloud currently operates.
The free service fits the freemium model, with no time limit. The ceiling for the freemium will be up to 5GB of storage and 250 million “request units” (which is how Cockroach bills for usage) per month. If your organization bursts that limit, you'll pay $1 for each additional GB increment of storage and $1 for each additional batch of 10 million request units.
As this is an early beta, there are several features that should be coming down the road after or when the services go GA. They include adding a REST interface, multi-region support, and with multi-region, automated geo-partitioning.
To recap, Cockroach DB was developed by several formal Google engineers based on learnings from Cloud Spanner to target the same use case: distributed, multi-master (or active-active) global transaction databases with strong ACID consistency. This space has grown more populated with providers such as Yugabyte, which just debuted its managed cloud service in recent years. Unlike original Spanner, Cockroach DB was designed with a PostgreSQL API — that's a capability that Spanner just added last week.
As a serverless offering, this offering has a couple of obvious use cases. One is for simplifying life for the developer: by eliminating the need to capacity plan and provision, serverless allows developers to focus on applications rather than infrastructure strictly. The other use case is about spikey or unpredictable workloads, where the notion is, why pay for just-in-case capacity if you don't need it 90% of the time.
With those use cases, it's not surprising that serverless databases aren't new, but until recently, they have been associated with NoSQL databases with loose, eventual consistency requirements. Over the past year, AWS has introduced a serverless edition of its Aurora database for MySQL and PostgreSQL that extends serverless into the realm of transaction processing. So at this point, Cockroach is in limited company where it comes to serverless transaction databases requiring strict consistency.
Cockroach DB, Spanner, et al. were initially designed for what were perceived to be edge cases, always-on global databases that also required strong transactional consistency. As such, this limited the addressable market to enterprises with demanding global applications, and typically, with deep skillsets. With the new serverless, multitenant cloud, Cockroach Labs is betting that its database service will be more accessible to born-in-the-cloud companies with more modest resources and skillsets.