
Graphcool – Serverless GraphQL Back End - charlieirish
https://www.graph.cool/
======
schrockn
This is a super exciting release and I'm really excited to see the community
go in this direction, specifically the ability to add more sophisticated,
custom capabilities to the server. GraphQL is a client-server dance that needs
server-side capabilities, not just CRUD semantics.

It is also surreal to see GraphQL go from the first prototype system I wrote
five years ago to where it is today. I'm so impressed with the players in the
community and its humbling to see so many people take the ecosystem to new
heights.

Congratulations to the whole Graphcool team on this awesome milestone!

~~~
schickling
Thank you so much for your support and most important of all, your great work
on GraphQL. Without your (and others') great ideas, Graphcool (and many other
tools & services) wouldn't exist today.

We've written up a blog post about how we think an architecture combining
GraphQL and serverless functions could look like on the backend:
[https://www.graph.cool/docs/blog/introducing-the-
serverless-...](https://www.graph.cool/docs/blog/introducing-the-serverless-
graphql-backend-architecture-ahde7paig2/)

P.S. we're also currently on Product Hunt and appreciate any kind of support
:)

------
primitivesuave
I've been playing with this for the last hour and I must say it is a
beautifully-designed experience throughout. I've seen quite a few BaaS
(Backend as a Service) products debut on HN, and I'd usually play around with
them for 5 minutes and then throw them into a bookmarks folder. What really
got me engaged here was the many examples, the excellent documentation, and
the gorgeous interface.

You really hit that dopamine rush in a developer's mind when they imagine the
possibilities. I think that was a really powerful effect that Firebase had
with me and I see it here too. Really awesome platform and can't wait to see
where it goes!

~~~
sorenbs
Thank you so much! A lot of work has gone into the onboarding experience, so
it is great to see that it is working. I just gathered everybody on the team
to show them your comment :-)

~~~
Blackstone4
Sorenbs - would you recommend Graph.cool to a beginner? It's between GraphQL
and REST API and I only have a basic understanding of REST API.

I was thinking of using React.js + Graph.cool with a Node.js server to handle
subscriptions and background tasks/calculations

~~~
sorenbs
Hi Blackstone4 :-) I would definitely recommend you use Graphcool if you are
just getting started with GraphQL. People in our slack are super friendly, so
you can get help with questions around how to structure your data model, how
to use the Apollo or Relay clients etc.

You should consider following one of our tutorials to get a jumpstart into
GraphQL: [https://www.graph.cool/freecom/](https://www.graph.cool/freecom/)

------
kabes
Seems well designed. But besides a startup in a rush for an MVP, who's in the
market for a backend as a service?

Who wants to trust the most valuable part of their product to a third party
start up that has a lot of potential to disappear from under your feat, is
hard to move away from and might not be flexible enough to incorporate all
your future use cases? I can't imagine selling this to any company I ever
worked for.

~~~
sorenbs
Hi Kabes

You are raising a very valid point. You should always carefully consider pros
and cons before choosing a third party provider.

The primary reason to build your product on Graphcool is speed of execution.
Being able to deliver value quickly is important not just to startups, but
also increasingly to enterprises getting squeezed in their core market. This
is the reason companies adopt Graphcool.

We acknowledge the fear of lock-in. This is why we support open source GraphQL
servers and work on standardising your project configuration as much as
possible. For example, today we released the new Graphcool CLI that allows you
to configure your project using the open IDL specification
([https://www.graph.cool/docs/faq/graphql-idl-schema-
definitio...](https://www.graph.cool/docs/faq/graphql-idl-schema-definition-
language-kr84dktnp0/)) We also make it very easy to export all your data -
either as json, using the api or as a raw sql dump.

Does that answer your question?

~~~
hobofan
Any plans for continous (read-only) direct database access? Without that,
basically every modern BI solution can't be used. I think that besides the
obvious lock-in, that's another big hinderance for building real products with
Graphcool.

~~~
sorenbs
Hi hobofan :-)

This is something we are planning to support. We have two approaches, and I'm
curious to hear what would work best for you.

1) Add an integration for selectively syncing data to s3. This would work very
similar to the Algolia integration and allow you to transform the shape of
your data. Tools like Athena and QuickSight can query directly against s3
buckets, and many other services can import data from s3.

2) Add the ability to provision a read replica and offer direct read-only sql
access. This option would carry a higher fixed cost, so would not be
appropriate for hobby projects.

~~~
tmoorai
1) would a very good solution. It's adding the graph cool pieces to an
existing data lake. From there anyone can do what she wants (Athena,
Quicksight, Import into Redshift/BigQuery). Would love to see that.

BTW saw your talk today at AWS Summit in Berlin. Good job there.

------
cocktailpeanuts
I feel like the term "Serverless" has been hijacked to a point that it will
soon become meaningless just like "AI", "IoT", etc.

Basically "Serverless" in 2017 has become just a hype friendly marketing
friendly way of saying "Saas".

That said, I think the platform looks great!

~~~
throwaway13337
Whenever I hear serverless, I think backend as a service remarketed.

A few years ago they were tried and never fully caught on largely because
people saw the inherent vulnerability of betting your entire backend on a
company you don't control.

It has that old problem of being beholden to a single vendor.

~~~
sorenbs
Thanks for the comment throwaway!

Our view is that the main reason Parse and Firebase didn't manage to gain
mainstream adoption is that they were too limited. At the time, limitations
imposed by available infrastructure forced them to to adopt a nosql model that
made it very hard to implement advanced business logic. We have come a long
way since then, but unfortunately Firebase is still stuck with the same
fundamental data structure.

Here are some good resources on this topic:

[https://www.graph.cool/docs/tutorials/graphql-vs-firebase-
ch...](https://www.graph.cool/docs/tutorials/graphql-vs-firebase-chi6oozus1/)
[https://medium.freecodecamp.com/firebase-the-great-the-
meh-a...](https://medium.freecodecamp.com/firebase-the-great-the-meh-and-the-
ugly-a07252fbcf15)

------
abefetterman
We used graphcool for our latest launch and it probably saved hundreds of back
end dev hours. The team is really responsive on slack and intercom, the
interface is great and really robust with query permissions and flexible
mutation callbacks. The pricing is more than fair.

They've been a bit slow to implement new features for production, but I
understand development timelines are hard to predict.

I think the product is in a pretty good place for a limited release right now.
We are really looking forward to synchronous mutation callbacks and multi-
region replication (currently only eu in production, us-west-2 and asia-pac
are in beta). We're using lambda functions as in-betweens while we wait on
synchronous callbacks and it's been totally fine, it just breaks the "GraphQL
fits all your server api needs" paradigm.

Edit: it looks like today they just released "request pipeline" which is
actually a pretty robust synchronous callback. Impressed at the thought that
went into this. -- [https://www.graph.cool/blog/2017-05-16-introducing-a-cli-
fun...](https://www.graph.cool/blog/2017-05-16-introducing-a-cli-functions-
teko4ab8za/)

~~~
vning93
Hi there! If you're interested in synchronous mutation callbacks
([https://docs.scaphold.io/custom-logic/](https://docs.scaphold.io/custom-
logic/)) and have multi-region deployment ([https://docs.scaphold.io/app-
management/multi-region/](https://docs.scaphold.io/app-management/multi-
region/)), you should check out Scaphold.io
([https://scaphold.io](https://scaphold.io))! We were in the most recent YC
batch and have more features for schema management like enums and interfaces
as well. If you have any questions, feel free to reach out on Intercom or
Slack.

~~~
sorenbs
Hi Vincent - nice to see you here :-)

~~~
vning93
You too! Congrats on the launch!

~~~
sorenbs
Thanks man - looking forward to finally meet you in Berlin! When are you guys
flying out?

------
daliwali
Nobody has brought this up: why should we trust proprietary software running
on the vendor's server? And more practically, how can we expect this service
to be reliable in the future (related: Parse shutdown). I think this is a
disturbing trend that more and more things that used to be open and on
premises, are moving to the cloud/serverless/microservices hype.

~~~
ryanschneider
When I saw mention of AWS Lambda in their docs, I thought this was going to be
something I ran myself on my own AWS account. But that's not the case. I'd
really like to see more BaaS run with that model. My understanding is that the
AWS Marketplace API would let them charge an upsell cost, even if I'm running
all the infrastructure myself; is that not the case?

That seems like the best scenario: I have access to the infrastructure if
necessary, and am paying for the value add of the service over-and-above AWS
(or Google/Azure). If they stop supporting it, all my instances/lambda
functions/etc are still my own.

edit: typo

~~~
sorenbs
Hi ryanschneider

This is a very interesting model we are actively exploring. The primary issue
is that the cost of the minimum infrastructure required to run Graphcool in
the scalable and fault-tolerant way we have designed our architecture is too
high to make it feasible for most projects. We are offering this option on the
enterprise plan, but that's a very different price point than our publicly
listed plans.

~~~
ryanschneider
Maybe it's a hybrid approach where most of the load is handled by the SaaS
"mothership" but users could opt-in to running additional AWS Marketplace
nodes in their own infrastructure to have more direct access to their data?
This could also answer hobofan's request for a solution to BI integration.

~~~
sorenbs
I think that is a very valid approach. We use
[https://buildkite.com/](https://buildkite.com/) for ci and they have exactly
that model, where they manage the admin panel and meta data db, but worker
nodes can be deployed elsewhere

------
jhall1468
I've been using Scaphold for a long time as a prototyping backend for GraphQL
frontends. The biggest issue I've had with it is that its permission system
always uses the most "lenient" rule, which makes multi-tenant applications
impossible. Looks like Graph.cool is REALLY catching up (and their permissions
system is just better).

~~~
vning93
Thanks for sticking with Scaphold. We'll be bumping up the power of
permissioning soon! We've been focused on implementing more features with our
schema and custom logic in the meantime :)

------
pier25
I'd love to have a few days of peace to be able to try GraphQL and Graphcool.

If it does the job as expected it looks super useful for small dev teams. They
have solved simple auth, permissions, data modelling, cloud functions, etc.

A priori, my only complaints about Graphcool are:

\- Ridiculous file storage price beyond the initial 10GB. Almost 20 times more
expensive than Firebase and S3.

\- No permissions for machine clients. They provide a machine key but these
machines have access to the entire DB. So if you need an integration with some
third party you need to spin up your own proxy.

\- The UI for working on the database and models is really awesome. It would
be even better with some headless CMS alternative type of UI and allow puny
humans to add/edit content, files, etc. This is something most projects need
anyway.

\- No REST API. Yes I know, but not everyone is ready to make the jump to
GraphQL and being able to implement it gradually might be a nice bonus. Or
maybe you'd like to give access to a third party to some of your data. Again,
this could be solved with a proxy, but it would be a nice to have.

~~~
sorenbs
Thanks a lot Pier!

\- File storage is not where we want to earn our money. Please get in touch if
you have a use case that would be prohibitively expensive with the current
pricing so we can figure something out.

\- More granular permissions for machine clients is something that is high on
our priority. We are currently prototyping different ways to integrate it with
our Permission Query system, and want to make sure we get this right before
releasing.

\- I think it would be awesome if someone would create an open source content
editor for GraphQL apis. It wouldn't even have to be specific to Graphcool.

\- Implementing a REST API is something we are considering. We see very little
demand for this feature though, so not likely to happen in the near future.

~~~
pier25
> File storage is not where we want to earn our money

Why not sell storage at cost + 15% or something similar? You could also simply
offer some type of GCS or S3 integration so that your users would provide
their own buckets but use your fantastic API.

> I think it would be awesome if someone would create an open source content
> editor for GraphQL apis.

Hmmmmm (wheels turning)

~~~
sorenbs
Great feedback. We have some planned integrations between file storage and the
GraphQL API. We want to make sure we understand our cost structure before we
commit to a price point.

------
ericclemmons
What's exciting to me, having tested graph.cool and others, they are fantastic
at providing an API in a format that works quite well (GraphQL) and handing
the admin for me.

I don't want to build admin anymore.

Frankly, I'll spend more money at the service with the best admin UX.

It's like MixPanel for analytics. I can perform complex queries and analysis
with minimal friction, which makes it worth the cost.

"Owning" isn't a selling point for me, when all of the services make it
possible to dump the data.

~~~
sorenbs
Thank you ericclemmons.

The Andreesen Horrowitz Podcast has an interesting episode talking about this
trend of specialised services removing one pain-point after the other,
enabling a small company to focus on their core differentiator.

[http://a16z.com/2016/09/01/microservices/](http://a16z.com/2016/09/01/microservices/)

------
gblock72
Really great to see this! We're excited to see Graphcool using Auth0 Extend
for functions and this is a great use case for Serverless. When you write your
function in Graphcool, GC doesn't have to provision servers to run them. All
of that is handled on demand by Extend, powered by Webtask.

~~~
sorenbs
Thank you Glen! Auth0 Extend has really been great to work with. Such a smooth
experience compared to AWS Lambda.

While we're at it I also want to plug [http://sangria-
graphql.org/](http://sangria-graphql.org/) \- the most mature GprahQL server
implementation. Oleg - the maintainer - will be attending the GraphQL-Europe
conference in a few days, so that's a perfect oportunity to pick his brain
about all things GraphQL :-)

------
nawgszy
This comment section is a strange juxtaposition of roasts of the fundamentals
of the business modal and shill-like praise of the business...

------
welder
The Free plan is very generous and all I would need for a side-project, but
can I have multiple databases on the free plan or would I need to create
multiple accounts per project?

P.S. Your onboarding is amazing walking me through setting up the first
schema, I hope [https://www.useronboard.com/onboarding-
teardowns/](https://www.useronboard.com/onboarding-teardowns/) does a teardown
of it someday.

~~~
sorenbs
Thanks welder! Getting a teardown by useronboard would be the proudest moment
in my life :-D

You can create as many projects on the free plan as you like, all under the
same account.

------
brianllamar
Nice to see Graphcool in HN and doing such great things in the GraphQL space.
For those interested in hearing more about their back story, I did a podcast
episode with their CEO on JAMstack Radio.
[http://www.heavybit.com/library/podcasts/jamstack-
radio/ep-1...](http://www.heavybit.com/library/podcasts/jamstack-
radio/ep-13-staying-cool-with-graphcool/)

------
SadWebDeveloper
As seasoned developer this things really make me feel old and dumb... so many
acronyms, frameworks, unnecessary features, etc... that live me wondering,
what kind of job requires to built things this way?

~~~
pier25
I was discussing about this with an old (60+) developer that still insists in
making everything in PHP with his own CMS / framework that he built 10+ years
ago.

He stated similar opinions to yours: "so many acronyms, frameworks,
unnecessary features, etc". I don't know about you, but it sounded he was
trying to cope with generational gap more than anything.

Nobody needs electrical powered car windows or even automatic transmission. Is
it more complicated to build cars with those unnecessary features? Yes, but
that's what the market expects.

Similarly, these days users expect all the bells and whistles of sophisticated
user interfaces. They want to click a like button without having to refresh
the whole window, and load content progressively without having to go to the
next page.

~~~
SadWebDeveloper
For this case your analogy is way-off this topic, you focused on age/old
rather than what GraphQL cool offer... The correct analogy will be something
like: Why do i need to lend a machine that only builts another machine on his
own premises?

~~~
ralusek
We live in a world where we pay people to do things that they can do better,
or faster, or things that we just don't have time to do. The reason I go to
the grocery store to buy my food is because I don't have the space or time to
grow the food myself.

The reason I host on AWS is because I don't have the space, power, or time to
set up machines locally and scale them as needed. And I definitely don't have
time to manage them. What doesn't make sense about paying for additional
levels of tooling? In many cases, the economy of scale actually makes it
cheaper, not just convenient.

I once watched a show about a man who was obsessed with saving money. He saw
some spilled uncooked rice on the ground, and sat there picking up the
individual grains for probably about 20 minutes. He was extremely self-
satisfied, and thought less of people who weren't able to be so financially
responsible as him, not passing up a chance to get some "free" rice.
Meanwhile, the task valued his time at probably 20 cents an hour.

~~~
sorenbs
We spoke about this at the office just the other day. Five years ago our small
team would simply not have been able to build Graphcool. By utilising the
latest technologies and outsourcing as many non-core areas as possible we have
come incredibly far in just 1.5 years.

------
zenithm
Facebook, Github, Pinterest, etc. are listed as Graphcool enterprise
customers? Is that true?

~~~
zenithm
No response...I think these are companies that have GraphQL APIs, but no
actual relationship with Graphcool. They shouldn't be listed as customers.

~~~
sorenbs
Sorry about the delay here, it was a busy night for us.

The enterprise page is targeted decision makers in big companies who might
have been sent there by the dev team. As such our main objective is to
communicate that GraphQL is a proven technology.

We will make that more explicit on the page. Some of these companies actually
do use Graphcool for small projects and prototyping, but that is not the story
we want to tell on this page.

~~~
user15672
As a decision maker, this kind of dishonesty will ensure I can't do business
with you. It's a customer list and nowhere does it state that they just use
GraphQL and are not your direct customers. I know you're trying to get some
traction and all that, but this makes your whole offering look dodgy

~~~
zenithm
Agree, I understand you need to have referenceable customers...but you have to
actually...like...have them. I would imagine you are violating restrictions
around the use of these companies trademarks.

Similarly confused by the random logos on the homepage with no context. The
implication is they somehow rely on Graphcool.

------
djmashko2
Really excited about this launch, Graphcool has been an awesome part of the
GraphQL community, organizing the upcoming GraphQL Europe conference, and
creating some great content. I work on Apollo, a set of tools for GraphQL
including some client libraries, and if you're looking to get started building
a full-stack app with GraphQL, Graphcool, and Apollo, there are some really
great options!

1\. Learn Apollo, build a simple Pokedex app:
[https://www.learnapollo.com/](https://www.learnapollo.com/)

2\. Freecom, an intercom clone:
[https://www.graph.cool/freecom/](https://www.graph.cool/freecom/)

Getting started only takes a few minutes, and you can get a taste of the
awesome experience you can get as a frontend developer building on GraphQL.

~~~
sorenbs
Thanks for bringing up the GraphQL-Europe conference Sashko!

The sale of early bird tickets ended a few days ago, but I just created a
special 30% discount code for hn: [https://www.eventbrite.de/e/graphql-europe-
tickets-326484042...](https://www.eventbrite.de/e/graphql-europe-
tickets-32648404256?discount=hn30)

If you are in Europe, I'd encourage you to check it out. There are some really
interesting talks lined up. And Berlin is an awesome city :-D

The full schedule is available at [https://graphql-
europe.org/](https://graphql-europe.org/)

------
jorjordandan
I'm building a little react-apollo web app with a graphcool backend, and the
backend part is just so dead simple. I don't have a lot of time to work on
this app (full time dev with three kids) so the time savings on not needing to
worry about the backend is a huge help. I can just focus on the front end.
(Hope I can get the free lifetime project tier too!)

~~~
sorenbs
Hey jorjordandan - just ping @nilan in our slack and he will get you set up
with a lifetime project plan :-)

------
beart
One issue I had with Graphcool in the past is the high latency. I'm in the
mid-west of North America and a request would typically take far longer than I
would expect. I'm wondering where the servers are actually located?

~~~
sorenbs
Hi Beart

We are aware of higher than expected latency from certain regions. We are
working to mitigate this and in addition we will announce two additional
regions in the near future to compliment our current EU region.

------
raulk
The major gripe I have with BaaS platforms like Graphcool or Firebase, is that
they offer basically no protection against third parties stealing my public
data straight from my API.

With my own backend, at least I can throttle or ban clients that are incurring
in abusive behaviour. Same goes for rendered HTML – to avoid scraping.

Is there anything in the Graphcool roadmap regarding this?

------
daddykotex
The landing page and the quick start are amazing. Keep up the good work, it
definitely landed in my `to try` folder!

------
pkghost
Q for sorenbs or schickling or anybody else on the team: how far can you take
it in terms of disk IO (not the serverless API portion) scaling? If I build a
consumer web product on graph.cool and blow up, what's the end of the runway?

~~~
sorenbs
Hi pkghost

We can help you go very far as long as you are able to pay for the underlying
infrastructure. You can start out on of our normal plans, and transition to a
dedicated installation when you need to.

We run customer databases on AWS Aurora and can scale up to 15 low-lag read
replicas.

Feel free to send me a message at soren@graph.cool if you want to talk more
about this. Also happy to jump on a skype call if that's more convenient for
you

------
brango
Anyone know what the thing on the pricing page means:

> To celebrate being hunted on Product Hunt, every product hunter gets a free
> lifetime project plan!

How do you get that? I signed up, but it only gave me the basic one free.

~~~
sorenbs
Hi brango - thanks for signing up :-)

We will activate the lifetime project plan for everybody tomorrow. Feel free
to explore the product in the meantime!

------
esistgut
This is interesting but I always fear the lock-in related problems.

------
vning93
It's always good to see more companies push for GraphQL.

There are a few others like this, one of which I co-founded, called
Scaphold.io ([https://scaphold.io](https://scaphold.io)), and we're huge
proponents of GraphQL and Serverless as well. It truly is the future of app
development.

If you're interested in learning more about using Serverless with GraphQL,
feel free to join the Serverless GraphQL Meetup that we're hosting
([https://www.meetup.com/serverless-
graphql](https://www.meetup.com/serverless-graphql)).

------
robzhu
Congrats to the Graphcool team on the launch! You're part of what makes the
GraphQL community awesome. I can't wait to see what you come up with next!

~~~
sorenbs
Thanks Rob!

I'm really looking forward to see where the new RFC process will take GraphQL
in the next few years. Was great being able to contribute to the
standardisation process for subscriptions.

------
isseu
How can I handle aggregate functions with this?

~~~
sorenbs
Hi there! I assume you mean something equivalent to GROUP BY or MAX in SQL?
This is one of the highest requested features on our roadmap. You can see a
proposed syntax for this at [https://github.com/graphcool/feature-
requests/issues/70](https://github.com/graphcool/feature-requests/issues/70)

------
max23_
When I first look at it, I thought it was a demo video on the main page
because of the button. Maybe it is just me.

------
drumttocs8
How does everybody feel about this compared to Firebase?

~~~
sorenbs
Hey - our frustration with existing solutions like Firebase was the primary
reason we started Graphcool. We've written up a detailed breakdown of the main
differences: [https://www.graph.cool/docs/tutorials/graphql-vs-firebase-
ch...](https://www.graph.cool/docs/tutorials/graphql-vs-firebase-chi6oozus1/)

I would love to hear from other developers who have used both GraphQL and
Firebase to see if there is any way we can make GraphQL an even better choice.

~~~
drumttocs8
Nice. It would be cool to see a "kitchen sink" example project, similar to
Firebase's Friendlypix, or something similar. Give people something to explore
and hack on. I saw many good example projects, but nothing as full-featured.

[https://github.com/firebase/friendlypix](https://github.com/firebase/friendlypix)

------
krashidov
Looks cool! How does this compare to scaphold.io ?

~~~
sorenbs
Hi Krashidov!
[https://stackshare.io/graphcool](https://stackshare.io/graphcool) is a good
neutral way to compare Graphcool and Scaphold. I'd recommend that you spend a
few hours with both services before deciding which one to go with.

~~~
sorenbs
This one is even better :-) [https://stackshare.io/stackups/graphcool-vs-
scaphold-io](https://stackshare.io/stackups/graphcool-vs-scaphold-io)

~~~
devjp
ok, so graphcool is winner?

------
newuser555
Great idea btw. Great platform.

But .... this had 4 points when I first spotted it on the front page of HN.
I've seen many things get more points and never make it to front page. Does HN
mimic Product Hunt now in that there are super users who can push content to
front page, or has it always been like that?

[https://medium.com/@benjiwheeler/how-product-hunt-really-
wor...](https://medium.com/@benjiwheeler/how-product-hunt-really-
works-d8fdcda1da74)

~~~
sctb
You can't compare points over time between stories directly because of the
anti-abuse software. This story made it to the front page by user upvotes,
nothing fancy.

~~~
pyre
Additionally, the number of users that have flagged a story isn't user-visible
(flagging a story doesn't count as a down-vote on the story's score).

