12x multiple for a Cloud SaaS company is not overpriced typically. I was surprised at this low multiple. Could be due to the current economic situation. And also the licensing changes, lack of product moat contributing in the wrong time.
On the performance side, there is definitely the N+1 problem which is solved (partially) by the data loader pattern.
But curious if the benefits vs tradeoffs is in favour of GraphQL?
And have you considered tools like Hasura/Postgraphile that take care of boilerplate CRUD APIs for databases? Then you actually just focus on writing business logic.
We have written a post[1] on building a real-time chat app with Streaming Subscriptions on Postgres. It gives a quick overview of the architecture used and how you can leverage the API on the client side with AuthZ. There’s a live demo that you all can try out.[2]
Interestingly, there are no breaking changes that were required to be addressed by Hasura GraphQL Engine to support Postgres 15. Hasura is fully compatible with this release, with the potential of adding the MERGE command via the GraphQL API soon.
Excited about the incremental performance improvements and making more secure defaults by revoking CREATE permission for public schema for non-superusers.
MERGE feature is interesting. But specifically on the revoking CREATE permissions for the public (or default) schema, this is a step in the right direction. Some of the defaults in Postgres can be more secure. For example, the first time I use a POSTGRES_PASSWORD to configure a password, changing this password involves more steps than just changing the values of the ENV, because it doesn't take the changed value there after.
Structured logging with JSON is going to improve a lot of debugging, again a great productive change.
Also, any idea when the docker image for Postgres 15 will be available?
Hasura connects to databases and all your other APIs to give a unified GraphQL API (and REST API, if you configure it).
This takes care of your CRUD APIs portion of building your app. With declarative Access Control Rules, you get powerful Authorization. IMO, these two should take care of 70% of your application code that you typically end up writing. The remaining will be custom business logic that you can write in any language or framework of choice and connect it to Hasura.
There’s of course more with the cloud offering to give you caching, rate limiting and monitoring in production. Hasura doesn’t host your database, it just needs the db connection string to get started.
We're very excited to launch GraphQL joins - a way for folks with existing investments in GraphQL to join data across GraphQL and non GraphQL sources. A few key points:
- Join data across new or existing GraphQL services: Your own GraphQL services or GraphQL vendor APIs (eg: Github)
- Join GraphQL services with other non-GraphQL services: Join data in your GraphQL Server with data in your databases (eg: Postgres, Timescale, Yugabyte with GraphQL servers)
- Uses native GraphQL with no changes to the GraphQL specification: No upstream changes are required to the GraphQL service
- Powered by semantic configuration - no custom code required.
Claude Code works though. But now I can’t share this with non-technical users