serverless-components / express

⚡ Take existing Express.js apps and host them easily on cheap, auto-scaling, serverless infrastructure (AWS Lambda and AWS HTTP API).
https://serverless.com/components
Apache License 2.0
375 stars 34 forks source link

express-graphql as serverless? #57

Open gpbaculio opened 3 years ago

gpbaculio commented 3 years ago

I am introducing my self to serverless and came here but can't seem to understand what's difference with serverfull deployed to heroku? see i have this code in serverless:

app.use(
  "/graphql",
  graphqlHTTP(async (request) => {
    // add user context
    console.log("test");
    return {
      schema,
      graphiql: true,
      context: {
        request,
        //user
      },
    };
  })
);

module.exports = app;

and serverfull:

app.use(
  "/graphql",
  graphqlHTTP(async (request) => {
    // add user context
    return {
      schema,
      graphiql: true,
      context: {
        request,
      },
    };
  })
);

app.listen(port, () => console.log(`Listening on port ${port}`));

can somebody tell me if there's an advantage using serverless in express-graphql? my frontend stack is graphql-relay and i am used to express-graphql and want to explore serverless using express-graphql stack but can't seem to find a good resource to do it. as i am reading from this:

At this point, I think it’s worth noting that not everyone agrees that running Express in a serverless function is a good idea. As Paul Johnston explains, if you’re building your functions for scale, it’s best to break each piece of functionality out into its own single-purpose function. Using Express the way I have means that every time a request goes to the API, the whole Express server has to be booted up from scratch — not very efficient. Deploy to production at your own risk.

please clarify me, i don't see graphql in your samples atm

eahefnawy commented 3 years ago

Have you considered using the graphql component instead? It's powered by AWS AppSync, so you wouldn't need express, or any servers for that matter.

gpbaculio commented 3 years ago

i don't think appsync supports graphql relay in a good way, there's a small itch i cannot scratch on pagination