2019hero

Fauna Engineering: Looking Back at 2019

There’s nothing like the end of the year to take a moment to reflect on what has passed in the previous months and what excitement lies ahead in the coming ones. FaunaDB and the team that builds it has changed a lot over the past year and we’d like to take a moment to reflect back on it with you.

Jepsen

2019 started off with a bang for Fauna with the release of FaunaDB 2.6 and its accompanying Jepsen report proving the correctness of the system. Getting FaunaDB to that point was no small feat, but the response from the software development community made it all worthwhile. As the year went on we incorporated Jepsen into our build and release process so we could ensure that kept that hard-earned correctness as new features and performance improvements were added.

A lot of developers in the JAMstack community are unfamiliar with Jepsen and the level of rigor that it proves, but I think all developers can agree that it’s nice to not worry about the correctness of your datastore!

New and Improved Dashboard

Quickly on the heels of the 2.6 FaunaDB release came the launch of our much improved FaunaDB dashboard. While our former dashboard was entirely serviceable, the new dashboard brought a whole new level of ease of use to managing FaunaDB accounts and databases.

There’s a common meme that developers don’t like UIs and prefer command-line interfaces wherever possible. However, over the past few months we’ve received a huge number of compliments on the dashboard and how it makes learning and managing FaunaDB a breeze. The design and development team have worked hard to address feedback over the past year to make it even better, adding a FaunaDB shell in the browser and a great new system for managing user-defined functions!

We have a great roadmap ahead for 2020 with continued usability enhancements and support for teams within Fauna Cloud. If you ever have thoughts about how the dashboard could be better, please join our community and let us know!

GraphQL

Late spring brought the launch of built-in support for GraphQL to FaunaDB, and with it, a new and easier way to store data in the cloud. By just uploading a schema the system itself is able to handle the heavy lifting of setting up tables and indexes, making it quick and easy to get started with using FaunaDB.

July brought support for GraphQL to the console making it one-stop shopping for setting up and exploring FaunaDB using GraphQL. If you aren’t familiar with using GraphQL with FaunaDB you should check out this excellent series of blog posts from one of the lead developers of the GraphQL functionality.

Looking into the new year we have a robust roadmap planned for the GraphQL functionality including support for Apollo Federation, expanded GraphQL specification support, and some new custom resolvers to make it even easier to work with FaunaDB.

Delightful Documentation

One of our biggest improvements over the past year has been on the documentation side of the house. FaunaDB is a rich system with a lot of functionality, but if you can’t figure out how to make it work (or if it exists!) then it doesn’t matter. A big push for us at Fauna was to revamp the documentation to make it easier to find content and more comprehensive.

Thanks to the hard work of our writers and great research from our UX team we were able to make massive improvements to this system. This year we introduced fast local search to make it easier to find the content you are looking for and new rich tooltips to make it easier to understand how larger queries are composed. New tutorials were added and existing ones were rewritten and cleaned up. Behind the scenes, we built a new doc pipeline that makes it possible for us to go from bug report to live fix in minutes.

2020 will bring expanded tutorials, richer examples throughout the doc set, and more thorough coverage of both FQL and GraphQL. If you ever have suggestions for how the documentation could be improved please let us know at docs@fauna.com.

Functions Galore

The last half of 2019 brought a barrage of FaunaDB releases with an equally large set of new functions. This was not an accident; we focused this year on streamlining our release and testing processes so that we could move to a near-monthly release cadence. This has made it possible for us to react more quickly to your feedback and in response, we delivered a number of new FQL features to make FaunaDB easier to use and more powerful.

As part of this process, we also introduced our preview release process. New functions in FQL are released with the Javascript and JVM drivers so that we can get feedback from the community before we lock down the behavior. We are committed to minimizing churn in the API so that developers do not have to change their apps regularly to keep up-to-date with FaunaDB, and this preview function has been very helpful for us in ensuring that we deliver the functionality our users need before we commit to a certain behavior.

We have a deep roadmap of new features queued up for 2020; some changes will make it easier to get started with FQL and others will deepen what FQL can do.

All told we’re extremely proud of the progress we made this year at Fauna and are looking forward to seeing how much further we can push FaunaDB in 2020. Our goal is to help you folks build fearlessly; to make data storage simple with no operations and no configuration.