Hasura In Production

hasura

Pros

  • Instant GraphQL on your database(PostgreSQL & MySQL), empowering you to build modern apps and APIs faster.

    The Hasura GraphQL engine automatically generates your GraphQL schema and resolvers based on your tables/views in your database. You don't need to write a GraphQL schema or resolvers.

  • Built-in authorization and caching.

    Authentication is handled outside of Hasura. Hasura delegates authentication and resolution of request headers into session variables to your authentication service (existing or new).

    Hasura supports RBAC(role-based access control) out of box for authorization. You can define granular role-based access control rules for every field in your GraphQL schema (granular enough to control access to any row or column in your database).

  • Ease to use and learn.

  • The project is open-source and has friendly community support.

Cons

hasura actions
  • Requires additional backend when you need to interact with third-party services and/or the app has complex business logic.

  • Scalability matters as it's primarily available on SQL databases at the time of writing, and yet not supporting NoSQL databases.

Summary

In my experience, Hasura is the best fit for small and medium-sized applications for pros it has, but might not be a good fit if the project must scale bigger in the future and/or has complex business logic.