[HN Gopher] Open Source Firebase Alternative with GraphQL
___________________________________________________________________
Open Source Firebase Alternative with GraphQL
Author : jonifico
Score : 124 points
Date : 2022-11-03 10:48 UTC (12 hours ago)
(HTM) web link (nhost.io)
(TXT) w3m dump (nhost.io)
| maxloh wrote:
| If I understand it correctly, Nhost depends on S3.
|
| So Nhost is either not vendor-neutral, or must be used alongside
| with AGPL S3 implementations.
| elitan wrote:
| Storage is using S3. We use AWS S3 at Nhost, but you can use
| Minio (open source) if you self-host.
|
| But the good thing with Nhost is that it's open source, so if
| you want to implement something other than S3 as the core
| storage layer, you can do so: https://github.com/nhost/hasura-
| storage
| ushakov wrote:
| why hasura instead of postgraphile?
| cpursley wrote:
| Postgraphile is built out of wet noodles (JavaScript) and
| Hasura is Haskell. That's enough for me. JavaScript doesn't
| belong on the backend.
| gavinray wrote:
| Great way to invite a mud-slinging contest ;^)
|
| Evaluate them both, use whichever fits your usecase/you like
| best.
| damidekronik wrote:
| Definitely should evaluate both. Still curious about nhost's
| perspective.
| WolfOliver wrote:
| looks more like a Hasura distribution than a distinct tool?
| elitan wrote:
| Nhost CEO here.
|
| Hasura GraphQL Engine is one of the open source tools we're
| using for the Nhost stack. But it's "only" one of the open
| source technologies we're using.
|
| Others are:
|
| - Postgres. Who doesn't love Postgres?
|
| - Hasura Auth: https://github.com/nhost/hasura-auth
|
| - Hasura Storage: http://github.com/nhost/hasura-storage
|
| - Serverless Functions (Node.js)
|
| On top of that we have SKDs in JS/TS/React/Next.js/Vue.
|
| And a CLI for local development and a GitHub integration so you
| can deploy your backend just like you deploy your frontend with
| Netlify and Vercel.
|
| Hope that clarifies a bit.
| kaspermarstal wrote:
| Can you tell who develops Hasura Auth and Hasura Storage?
| You? Or did you fork it and extend it?
| AccountAccount1 wrote:
| Both developed in-house from Nhost' engineers and OSS
| https://github.com/nhost/hasura-storage
| https://github.com/nhost/hasura-auth
|
| built to leverage Hasura's features and driven by users
| needs
| elitan wrote:
| Both are built by us, yes.
|
| Hasura Auth has 1M+ pulls on Docker Hub and we have JS SDKs
| for both Auth and Storage.
|
| Code: https://github.com/nhost/nhost/tree/main/packages
|
| Docs: https://docs.nhost.io/reference/javascript
| ushakov wrote:
| why would i use this instead of just paying Hasura?
|
| in other words: what's your moat?
| spion wrote:
| Just paying Hasura gets you just Hasura (at least before
| Neon it used to)
|
| NHost gets you Hasura, the underlying postgres db, pre-
| configured auth with JWTs, blob storage, functions and a
| client-side library to get all of that working together
| with nearly zero configuration.
|
| edit: also, Hasura's cheapest offering ($100 / month) is
| still prohibitively expensive for indie projects (That's
| just Hasura - you would have to add database costs, auth
| costs and blob storage costs to that $100).
| AccountAccount1 wrote:
| Just to add to the comment: you also have backups,
| automatic logs on all services, raw access to postgres
| (you can do whatever you want with it), custom
| integration with stripe, plus specific dashboard for
| users, database, and storage.
|
| It's freaking crazy
| elitan wrote:
| Here's an image that illustrate it well:
| https://i.imgur.com/5Zn8tfS.png (from our website).
|
| We also provide SDKs in JS, TS, React, Next.js, and Vue:
| https://docs.nhost.io/reference/javascript
| danielvaughn wrote:
| Looks interesting, though I'd hesitate to tie my infra to GraphQL
| out of the box. Unless I'm mistaken
| eurasiantiger wrote:
| If you don't care for object-level caching, you can always
| query a GraphQL endpont with just a simple HTTP client.
| AccountAccount1 wrote:
| Most of the users I've seen using Nhost (and Hasura) treat
| data/the db as the source. Given that you have raw access to
| postgres, you are also the full owner of your data and you can
| swap interfaces as you see fit (I've seen users use Hasura
| internally and not expose it to the internet)
|
| Notice, also, that Hasura has support for REST endpoints.
| danielvaughn wrote:
| Ah nice, didn't catch that thanks. As long as it's an option
| lol.
| qorrect wrote:
| I _just_ started using Firebase and I'm already worried about
| cost. Is this a drop in replacement for it ? All my code will
| work against nhost , just change the config files ? Or what does
| the transition look like at the moment ?
|
| Very excited for this!
| nunopato wrote:
| Better to migrate to something open-source without vendor lock-
| in while small. If you need any help to understand what would
| be needed, feel free to email me at nuno@nhost.io.
| adlpz wrote:
| How does this compare to Supabase? Is this easily self hostable?
| I'm seeing lots of movement in this space and it's getting harder
| to keep track.
| callmeal wrote:
| It looks like it's self-hostable using docker, so a no-go for
| me.
| nine_k wrote:
| Why so? If you are opposed to Docker, there are containerd
| and podman.
| georgyo wrote:
| If I had to guess, they are not adverse to "Docker" the
| company but actually to immutable container images that are
| shipped from the developer and often assume that they can
| run as root.
| wazzaps wrote:
| Why not extract the Docker image then (just a .tar.gz) and
| run it "raw"?
| tluyben2 wrote:
| Was it tested, by chance, to run with Cockroachdb or Yugabytedb?
| We are migrating off non distributed solutions and the Postgres
| native solutions we tried just weren't easy to set up and use,
| while the two newcomers are. Any advise in that direction? We are
| using Yugabyte mostly now for testing if everything works and if
| it's robust; so far it works very well -> we were very happy with
| Cockroach, but not with the license.
| tango12 wrote:
| Hasura CEO here. If you're trying or evaluating using hasura
| (or nhost) along with Yugabyte / Cockroach feel free to reach
| out (email in bio). Happy to have our team help with any
| architecture or benchmarking things you might run into!
| nunopato wrote:
| Same here. Drop me a line at nuno@nhost.io if you need any
| help.
| marktangotango wrote:
| It's interesting see people still working in this niche, I think
| it used to be called "backend as a service"? There were several
| contenders at one point, but Firebase seemed to "win" several
| years ago, and has been the last one standing for some time.
|
| Just curious what the market size is for these types of services?
| It doesn't seem like anyone really uses them; for tech people
| it's just as easy to spin up an instance in some cloud somewhere.
| For non technical people, well these types of services still seem
| to be too complex.
|
| I think the one thing Firebase has going for it, that is a
| differentiator is it's mobile push service that pushes to both
| iOS and Android. There aren't many options there.
| elitan wrote:
| Yea Nhost is a Backend as a Service (BaaS) but I'm not sure
| Firebase has "won".
|
| Whant we hear form our users is that they like Nhost because
| of:
|
| - Open Source
|
| - SQL (Postgres)
|
| - GraphQL (Hasura)
|
| - GitHub Integratoin (like Vercel & Netlify)
|
| > for tech people it's just as easy to spin up an instance in
| some cloud somewhere.
|
| I think this is the biggest missconseption.
|
| Just look at Vercel and Netlify. They host html/css/js as a
| core business and they have million of users combined. Why?
| Because they make it extreamly easy for developers to be
| *productive* and they hook into developers' workflow with Git.
|
| Most of our users at Nhost can spin up servers and
| infrastructure on their own, but are they using their time
| optimally by doing so? Or should they instead spend time
| building what's important for their business and users?
| ramesh31 wrote:
| >Yea Nhost is a Backend as a Service (BaaS) but I'm not sure
| Firebase has "won".
|
| Firebase is a nightmare since they folded it into GCP. As a
| standalone product it was complete, easy to grok, and simple
| to secure. Now I feel like I literally need to hire a CISSP
| to make sure my whole company wont be hosed by a single
| security rule misconfiguration buried somewhere in GCP.
| Bilal_io wrote:
| Perhaps Forebase was the first one to do it right, the biggest
| features were Real-Time and as you've mentioned, Push
| notifications. Everyone else has been attempting to compete.
| The big win for us is that many of these solutions are open
| source. Shout-out to Supabase and shout-out to Postgresql which
| allows for this to be possible.
| ehnto wrote:
| Firebase at it's core is just Google Cloud, same with AWS
| Amplify just being various AWS services neatly delivered. I
| imagine some people are using the exact same services just
| through Google Cloud and AWS. Cloud Messaging == SNS, Lambda ==
| Cloud Functions, Firestore == DynamoDB etc.
|
| I think you might be underestimating their reach though,
| they're very popular in app development shops, since an app
| developer doesn't need to know how to build a serverside
| application in order to get an app that needs remote services
| working.
| kubota wrote:
| AWS now has a firebase copy-cat, Amplify. I thought Parse was
| still being maintained by the community. Appwrite is another
| offering in the space.
| nunopato wrote:
| The mobile push service is indeed a great feature from
| Firebase, which we will also implement when possible. We
| already provide a realtime API through GraphQL subscriptions.
| leros wrote:
| Firebase is a great solution but...
|
| It's closed source and locks you into Google Cloud.
|
| You can't self host. And since it's pay for use, you can end up
| with large unexpected bills for a variety of reasons.
|
| It doesn't have full text search.
|
| It doesn't have a relational database.
|
| I'm sure there are more things. Firebase is awesome but it's
| definitely not the ultimate solution.
| teg4n_ wrote:
| I'm primarily a frontend developer. The task i hate most is
| dev-ops like stuff and dealing with Aws in any capacity. If i
| was to create a start up I would 100% use something like this
| or Supabase.
| nunopato wrote:
| Let us know if you need any help getting started!
| nuno@nhost.io
| cpursley wrote:
| We're using Hasura in production and I'm a backend developer.
| Saves a lot of time from building out CRUD GraphQL and enforces
| a consistent API.
| nunopato wrote:
| Hasura is awesome!
___________________________________________________________________
(page generated 2022-11-03 23:02 UTC)