Strategies to maintain an on-premise version of your application

Hello everyone!

I like FaunaDB and would like to use it. However one concern I had is how I could manage a situation in which a customer of mine asks for a self-hosted version of my application.
I have though about maintaining a PostgreSQL database using the graphql extension so I don’t have to change too much in my client application as I hope to use the same graphql queries for the actual Fauna database as well.
I wanted to ask the users of FaunaDB if they ever were in a similar situation and how they handled it.

In addition to that I am still trying to wrap my head around how I can prevent a vendor lock in as FaunaDB is quiet a new database with new functionality and the code is not open source. I have seen that FaunaDB released some tools that help to import data but in case I am not happy with the database anymore I am not sure how I can move away / transfer the data to another database that is either on-premise or hosted by someone else. It feels quiet important to consider this as I have seen a thread about the change in pricing which hit a lot of people that were calculating with the old pricing model.

Just to start off with a clarification for other readers in the forums: Fauna is only available as a hosted service. We have a docker image for local development and testing, but it is not licensed or supported in production.

The GraphQL API is one option we know some folks have used to limit investment in a Fauna-only solution. Any sufficiently advanced GraphQL API is likely going to need some custom logic to work with the database (Fauna or not), so it has limits.

We understand that contingency plans are important considerations for folks. This topic deserves a bump; any feedback from other users would certainly be valuable to us as well.