Supabase, a feature-rich backend-suite
If you think you’ve misread the title and that I made a typo but mean “Firebase”, you’re actually closer to the topic of this article than you might think. Supabase is a set of backend functionalities that allows you to manage your backend as a service. Its set of features is quite similar to that of Firebase, a product by Google that builds upon “Google Cloud Platform” and allows you to run a backend-as-a-service as well.
The Firebase alternative
Because both Supabase as well as Firebase have such a large intersection of core features, Supabase can be considered an alternative to Firebase. The features provided are the following.
- authentication management
- database for persistent storage
- an asset storage for files, such as images, videos or documents
- serverless functions, yet they aren’t available yet
As you can see, the most important features are provided by Supabase, with serverless functions coming in the future. You can use the hosted service by Supabase and get up and running in a few minutes with the free tier. For more heavy usage, you can of course upgrade to a paid plan.
Supabase also offers the options to use a local setup to test against during development via their CLI. This effectively means that it comes with built-in staging and production environments for you to configure: staging locally, production in the cloud. Of course this is quite simplified, but I wanted to point out that it offers a CLI for complete local testing, which is great.
Difference between Supabase and Firebase
Albeit sharing a common set of features, both their implementations as well as development strategy differ quite a lot from Google’s Firebase. First and foremost, Supabase is developed completely open source, which means you can contribute to basically every aspect of the project. Firebase only has its clients and admin-SDK available as open source solutions, with the actual implementation of the service hidden.
Supabase’s open approach has the side effect that you can actually host it by yourself, in your own infrastructure. This is a huge benefit relative to Firebase, as you have the option to fork and develop your custom service if needed. This is an important aspect when considering the longevity of such a core component of your product.
One more, very important difference is that Supabase uses PostgreSQL instead of a NoSQL database like Firebase. That is also a huge difference considering that Firestore, the Firebase database, is completely proprietary. PostgreSQL is a common storage solution that allows you technically migrate away with your data from Supabase in the future to any other PostgreSQL-DB.
Regarding the other services that Firebase offers, such as Notifications or ML-solutions, Supabase doesn’t have anything similar. You will still need other providers to deploy such things, for instance from AWS, Azure or, obviously, Firebase.
As you see, Supabase is a viable alternative if you like what Firebase has to offer but don’t want to use a Google product. And if you have concerns regarding future database migrations or the proprietary code of Firebase’s services, Supabase is completely transparent in its development as an open source product. As of writing, it’s in public beta, but should be ready to use for moderately sized projects.