In the serverless paradigm, the idea is to abstract away the backend so that developers don’t need to deal with it. That’s all well and good when it comes to servers and complex infrastructure like Kubernetes. But up till now, database systems haven’t typically been a part of the serverless playbook. The assumption has been that developers will build their serverless app and choose a separate database system to connect to it — be it a traditional relational database, a NoSQL system, or even a Database-as-a-Service (DBaaS).
But the popularity of serverless has prompted further innovation in the data market. In this episode of InApps Technology Analysts podcast, we talked about the latest developments in regard to managing data in a serverless system.
My two guests were Evan Weaver, co-founder and chief technology officer of Fauna, and Greg McKeon, a product manager at Cloudflare. Fauna is building a “data API” for serverless apps so that developers don’t even need to touch a database system, while Cloudflare runs a serverless platform called Cloudflare Workers.
The Future of Data in Serverless Will Be API-Driven
Listen to all TNS podcasts on Simplecast.
Fauna and Cloudflare are taking different approaches to data on serverless, but both are pushing the boundaries of what a database is in the cloud native era.
Weaver pointed out that serverless is just the modern version of a 1990s paradigm, where “the idea [is] that you can consume your infrastructure without having to do any operational work.” What Fauna is doing is adding database operations to the list of things being abstracted away in serverless.
“What we’ve done with Fauna,” he said, “is take a lot of the primitives of a traditional database, like the RDBMS [Relational Database Management System] or like Postgres or something like that, and translate them into a web-native, secure, ubiquitous, global API.”
This means that developers can use the equivalent of a database system, but — as Weaver put it — they don’t need to “become DevOps engineers.”
“We made a pretty critical decision early on to run on V8 Isolates, rather than on top of containers,” explained McKeon. “That’s the same V8 that powers the Chrome web browser […] and so Workers also implemented a lot of the same APIs you’re used to from a browser environment.”
Isolates, according to a Cloudflare writeup a couple of years ago, “make it possible to run untrusted code from many different customers within a single operating system process.”
While Workers does appear to have performance benefits for serverless applications, there are some limitations from a data perspective.
“We don’t actually support TCP connections coming out of the Workers environment,” said McKeon, adding that “it’s a bit of a pain point for us that we’re working on.”
However, Workers can connect to an external database service (like Fauna) via HTTP. So does this suggest that API connectivity is the future for data in the serverless realm?
While both McKeon and Weaver acknowledged that traditional relational databases will endure for many more years, there is a definite trend towards the API approach and using edge networks in application development.
“The technologies we see here,” said Weaver, about the emerging application model (which Fauna has labeled client-serverless), “[are] things like ReactJS, GraphQL, Swift, the Android stack, things like [Cloudflare] Workers — which are running on the edge instead of in a small number of hyperscale data centers — and they’re all interacting through APIs, composing logic, building dynamic applications with a lot less overhead and a lot faster time to market than people were doing in the traditional three-tier stack.”
Also in this podcast, we discussed the emergence of stateful serverless applications, how NoSQL database services fit into the serverless world, and more.
Feature image via Pixabay.
At this time, InApps Technology does not allow comments directly on this website. We invite all readers who wish to discuss a story to visit us on Twitter or Facebook. We also welcome your news tips and feedback via email: [email protected].