The idea behind Fauna is both radical and obvious. Your applications shouldn’t care where your data is physically located, just that it’s available when needed. If you could do without the complexity of a traditional database, along with all of its data management and its servers, and simply deliver the data when an API sends a query, you would. The complexity doesn’t add anything to your operations beyond latency.
Fauna, which is billed as a serverless database, attempts to deliver this data-as-a-utility concept from the network edge. Just as you don’t care which of many generators at your electric utility provides the electricity that runs your office, Fauna believes that you shouldn’t need to be concerned where your data is being stored – it should just be available when needed.
For this to work, there must be servers that store the data, but they can be distributed on the edge of the network near where they’re most likely to be needed. They respond to a properly authenticated client with the data that’s requested. But most of the computing takes place on the client, using a web browser. And there can be multiple places where the data you need is stored, with the closest responding with the required data.
Data stores must be synchronized
For this to work properly, the data stores need to be kept synchronized, and there needs to be a means of authentication. Fauna supports a number of third-party authentication providers, such as Auth0 and Okta, to help secure access to the database. Fauna is designed for collaboration within development teams and features a number of security features, including multi-factor authentication and varying access levels.
A key feature for Fauna is its performance. The serverless model helps performance by keeping the data near the user, as well as keeping much of the compute requirements on the user’s browser. Fauna also features what the company calls real-time database streaming, which allows data to move in and out of the database in real time. This avoids latency-inducing polling as found in some other databases.
This focus on serverless data and on performance has its roots in Twitter. Founder Evan Weaver, currently Fauna’s CTO, was employee No. 15 at the social network. Weaver said he worked to scale the site and move to distributed storage. As you can imagine, Twitter depends on performance and reliability to meet the needs of its users, and Weaver brought that understanding to the design of Fauna.
Weaver said that as businesses depend more and more on data, they’ve learned that database workloads are not predictable. Instead, they need to scale to meet the needs of the organization at the time, He said that he saw the need for a data API early as well as the need for a global interface.
Creating a new tech stack
“The serverless movement created a new tech stack,” Weaver said.
The Fauna database is intended to offer developers a data platform that’s reliable and secure while also offering simplicity. Notably, getting started with Fauna is intended to demonstrate that simplicity. The company offers a free signup to get started and free database creation with a security key; it lets prospective users get started from there.
Once you’ve created your database and picked a query language, Fauna replicates your data globally to make sure latency stays low. This also allows the creation of globally dispersed development teams and users. Operation is intended to be easy from the beginning, eliminating most database operations. It supports web-native secure access and the ability to create any number of children and unlimited depth.
If all of this sounds unusual, that’s because Fauna is the first of a new breed of databases. Its serverless nature, its focus on performance and security and its planned ease of use are all unusual when it comes to database operations. While the design of Fauna is definitely new, it’s the serverless environment underneath it all that makes it possible.