Frame bg
Talk title

Using Remote Joins to create a unified GraphQL API for your company

23-06-2020 · 9:25 PDT
TypeHasura Team
TypeRemote Joins
With cloud becoming commonplace, developers now have a vast number of ways in which they can architect their apps. They can choose to build a monolithic app for strongly consistent changes, or they can choose a microservices architecture for high agility & independence. And ofcourse, they can even use out-of-the-box hosted services for minimal dev and ops investment. But with such a cocktail of infrastructure and data sources, how do you get all the data you need quickly and securely?
Introducing Hasura Remote Joins. Remote Joins allows you to create relationships across different data sources. The data sources may expose different interfaces like GraphQL, REST or even native protocols but you can join them because of GraphQL's type system! By creating all these relationships, essentially what you have done is created a unified GraphQL API for your entire company! Combined with Hasura's permission system, you can further separate the unified graph into secure role-based views and actions on your data.
The best part is all the unification happens at the Hasura layer using declarative configuration. This means your underlying data sources & APIs can evolve independently and you get complete data federation. The join, authorization logic and consistency checks are handled by Hasura and the execution logic remains highly performant as Hasura "pushes down" the heavy-lifting to the underlying sources as much as possible. With Remote Joins, Hasura will be a revolutionary solution in providing data agility to your teams and allow you to completely harness the power of your data.
Tirumarai Selvan
Tirumarai Selvan
Product Manager
About Tirumarai Selvan
Tiru is a product manager at Hasura, a GraphQL company. He is the lead developer of Hasura Eventing system which enables building data applications using serverless patterns. He is also the core contributor for Gitkube and He is experienced in all layers of the stack from Javascript to Haskell, from bare-metal to containers. Most of his days are spent trying to understand how to improve developer productivity and enterprise agility in building data products.