Continuing with its efforts to make the open source Apache Cassandra database more accessible to users, DataStax has finished preliminary development of its Astra serverless software, which the company says is production ready as “the industry’s first and only open, multicloud serverless database.”
The basic idea behind Astra serverless is that developers will no longer need to provision a database according to their expected peak usage. Instead, they code as they normally would to use a Cassandra database instance and the scale is handled on the backend, with both the ability to scale down to zero and to scale up to whatever size and rate of data transfer is needed.
“What has been kind of the holy grail for Cassandra usage has been to be able to go and elastically scale up, but also scale down. Basically, what you need to do is separate the compute parts of the database, the parts that go and handle the requests from your app and process the queries, from the storage, where your data is persisted, and you need to do that in a way that you can dynamically scale,” explained Ed Anuff, chief product officer with DataStax, in an interview. “It’ll scale up or scale down dynamically and that gives you a whole bunch of flexibility for your developers and for your business.”
DataStax launched Astra in May 2020 to take away the pain of installing and managing your own database instances. Then in December, the company introduced the beta of Astra serverless, which Anuff said was an immediate success.
“By and large, everybody was choosing the serverless option during the beta,” he said.
And while Cassandra is known for being able to scale out, he said that this separation of compute from storage was really the key ingredient to being able to make scaling down as easy as scaling up. With a standard Cassandra database, data needs to be rebalanced with each scale change, whether up or down, and this can take some time. With Astra serverless, however, the compute and storage are separated using a “microservices-based architecture” enabling the database to quickly scale according to need.
“People who use Cassandra tend to be a little more careful around when they scale it up, and they’ll be very careful about when they scale it down. Once you separate compute from storage in Cassandra, you can scale up and scale down whenever you want, throughout the course of the day, essentially on a real-time basis,” said Anuff.
“What has been kind of the holy grail for Cassandra usage has been to be able to go and elastically scale up, but also scale down.”
–Ed Anuff, DataStax
In addition to reducing developmental overhead, Anuff says that Astra serverless also offers cost savings in the realm of 3x to 5x. Costs are determined first according to requests, and then storage, on a tiered pricing system, with the first $25 of usage currently free. Just as usage can be scaled down to zero, so can the cost.
Part of this, explained Anuff, is enabled by the use of Amazon S3 storage on the backend, which makes it possible to have a lot of data without much associated cost. On the compute end of things, and as with any serverless offering, cold start times can be a concern, and Astra serverless is no exception, but Anuff says that there are configuration options available to have pre-warmed instances if this is a concern.
Looking ahead, Anuff said that they expect to add multiregion functionality by early summer, and overall hope to bring serverless functionality to Cassandra on the whole.
“Our goal is to make serverless a standard part of Cassandra across all flavors of it,” said Anuff. “We really want this to be something that Cassandra itself is used for, and when people go and say, ‘What database should we use?’ they’re going to use Cassandra because it’s serverless.”
DataStax is a sponsor of The New Stack.