Recommendations in managing large schemas

0

Our team is working with ~30 domains written in Apollo Server, and we are hitting bottlenecks of autoscaling with EC2.

We are looking for possibilities in migrating to either AppSync or Lambda, they both comes short in different ways.

Lambda + API Gateway: We can theoretically bundle the whole thing into lambda, but subscriptions are inherently impossible by the nature of how Lambda is designed.

AppSync: It is missing ways to manage large schemas. Unfortunately, with our Apollo background, we can only approach the problem with their ways. We can do schema stitching ourselves before deployment, but the lack of type extension support really hits us like a rock.

I could really use some help on ways to manage large schemas.

iLake
asked 5 years ago619 views
5 Answers
0

Having the same problem regarding AppSync.

+1

Edited by: svenm on Jul 4, 2019 4:16 AM

svenm
answered 5 years ago
0

Hi,

Schema stitching is a request we've heard from many customers, and I can take this as a +1 to prioritizing that in a future release.

In the meantime, have you checked out the Amplify CLI? It can help manage source control and collaboration on larger schemas.

Thanks,
Jeff

answered 5 years ago
0

Thanks for the +1, Jeff.

We have done more in-depth researches on AppSync.

Amplify CLI, to be honest, does not help in splitting large schemes into manageable chunks. We need to organize our schemas by business domains, which is in turn managed by individual teams.

I want to add that schema stitching only makes sense when worked with type extension, such feature first appeared in the April 2016 release of the GraphQL specs. We really need these available to move on from our server caps in EC2.

iLake
answered 5 years ago
0

The serverless framework's AppSync plugin https://github.com/sid88in/serverless-appsync-plugin has now support to stich multiple schema files thanks to one of my coworkers. It got merged with MR https://github.com/sid88in/serverless-appsync-plugin/pull/227.

answered 5 years ago
0

The underlying package merge-graphql-schemas is what we've been using in the Apollo Server source codes. Although we have already invented way to automatically map resolver templates, this PR really helps users in the future, really appreciate it.

iLake
answered 5 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions