You have to be at pretty massive scale before federation becomes necessary and by then (if ever) your frontend teams have experienced benefits that are pretty much miraculous. The reason frontend wants to fit as much as possible into it is because it's vastly better than what came before it unless you have a 95th percentile org that is really doing an outstanding job managing the API via other means.
Speaking of Netflix - I think they had an alternative Api federation service that used some clever tricks with json string vs number keys to allow for alternating http put/get - and through that leverage http level caching. But I can't find the the link...
This doesn't directly address if graphql at Facebook federated different data sources (eg graph and sql databases) - but I suppose not?
Fair point about the DB scaling but not sure if everyone is going to run into this issue. Also, lots of solutions are emerging for this specific problem (with different trade-offs of course) like distributed databases (crunchy, YugaByte, Spanner, etc.). Most folks I work with get by with a reasonably sized DB and some read replicas.
Not a GraphQL problem though IMO.
While you are correct, not everyone is going to end up with this issue, those that are thinking of getting to a medium sized business should be working to avoid it, which unfortunately means solutions such as hasura lose value. It would be good to see more ability to collect data from multiple sources (please reply and correct me if you already do this, I'm not super familiar with the service).
Sources can be databases (postgres family, sql-server, big-query currently, and as we add support for new databases) or REST APIs or GraphQL APIs.
This composition allows in a final GraphQL API that federates across different sources.
From our docs: https://hasura.io/docs/latest/data-federation/data-federatio...
What about the concept doesn't work? It's just a syntax for queries, I'm confused why it wouldn't scale.
The problem there is whi has the right to run which queries?
So the real problem is authorization.
As for GraphQL - it's great for clients. As a backend engineer, you still have to do the work and a LOT of it.
This is just like microservices. No due diligence on whether the added complexity and destroyed productivity is worth it. "Everyone else is doing it".
Maybe you’re too out of touch. This isn’t true, at least not anymore. GraphQL is losing appeal.