by Phil Hofer | August 16, 2023
Just Someone Else’s Servers
Like many tech neologisms, the term “serverless” has been applied to so many different products and technologies that it has lost a lot of its technical usefulness. If a vendor manages a dedicated VM in your AWS account, is that “serverless?” What about if the VM is in their AWS account instead of yours? If the vendor calls the VM a “pod” or an “engine,” does that now make it “serverless?”
We like to think of Sneller Cloud as a “serverless” product, and this blog post is an opportunity to clarify what we think that means.
No Capacity Planning
In our view, one of the most important attributes of a serverless cloud solution is the absence of explicit capacity planning. Users should be free from having to explicitly provision storage or compute capacity for their workloads. For start-ups and indie developers, it can be difficult to forecast how much disk space or how much computing power their product may need today, let alone a month or a year from now, and time spent capacity planning is time not spent building. A serverless solution scales automatically with customer workloads. A managed database solution isn’t really “serverless” if you will eventually run out of space without manual intervention.
Sneller scales its compute clusters automatically based on query volume, and it co-locates workloads so that spikes in customer workloads can be “smoothed” over many customers. Sneller Cloud only uses customer S3 buckets for storage, so customers will never inadvertently run out of space as their workloads scale.
Without explicit capacity planning, serverless cloud services have to come up with some other way of billing users. In our view, a serverless solution needs to have usage-based pricing: users should only be billed for capacity that they actually use. An important implication of that rule is that a serverless solution should let you scale to zero: if your usage drops to zero, then your bill at the end of the month should be zero dollars.
Sneller Cloud bills only for the total number of bytes scanned across all your queries each month. If you run zero queries, your bill will be $0, plus whatever AWS charges you for keeping your data in S3. Moreover, Sneller does not use an opaque “credit”-based system for metering usage.
On Vector Search
Sneller Cloud works great for vector search on top of all the other functionality built into our SQL engine. That means all of the typical advantages of a “serverless” solution (scalability, low operational overhead) also apply to using Sneller for vector search. In particular, users are able to completely avoid configuring or provisioning an index before querying data that contains embeddings. That means records can contain multiple embeddings and they can be used on an ad-hoc basis to enhance end-user applications. Other solutions typically require that each embedding have its own index, so it’s not generally possible to produce a composite similarity score across multiple embeddings or other features.
To put it simply: embeddings in Sneller are just like any other kind of data. Users do not need to turn any configuration knobs to get vector search to work well. We think this makes Sneller Cloud a compelling platform for developers looking to augment their workloads with AI-driven enhancements.
Try Sneller for Free
You can try Sneller right now on your own data for free through our playground, or you can sign up for Sneller Cloud, which gives you access to automatic ingest from your S3 buckets and hundreds of CPU cores on which to run your queries.
If you’re a developer interested in the details of how Sneller works under the hood, you’re in luck: Sneller is open source software!