12 ms·
Graphcool – Serverless GraphQL Back End
- newuser555 9y agoGreat 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-works-d8fdcda1da74 https://medium.com/@benjiwheeler/how-product-hunt-really-wor...
- sctb 9y agoYou 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 9y agoAdditionally, 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).
- welder 9y agoThe 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 9y agoThanks 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.
- jhall1468 9y agoI'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 9y agoThanks 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 :)
- cocktailpeanuts 9y agoI 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!
- sorenbs 9y agoThanks a lot for your comment! The term serverless is certainly being overused to attract attention. I do think though, that there is value in talking about new kinds of software architecture is enabled by serverless infrastructure. I wrote up a post on how we at Graphcool use serverless functions internally and what we are planning to integrate in the platform in the future: https://www.graph.cool/docs/blog/introducing-the-serverless-graphql-backend-architecture-ahde7paig2/ https://www.graph.cool/docs/blog/introducing-the-serverless-...
- libria 9y agoI think minute incremental charges are the signature for a service that is "serverless". While serverless components are part of your architecture, what is exposed and billed monthly is a standard SaaS interface. In this sense, it is only utilized for its buzzwordiness. That nitpick aside, this looks pretty neat.
- resoluteteeth 9y ago> Basically "Serverless" in 2017 has become just a hype friendly marketing friendly way of saying "Saas". Agreed. I was momentarily very confused when I clicked on the link thinking that this was some sort of pure client-side GraphQL library that was supposed to replace functions normally done on the server.
- revelation 9y agoI thought it was the GraphQL equivalent of SQLite.. Please don't call yourself "Serverless" if your service goes down with the remainder of the world once AWS has some problem. Please don't call yourself "Serverless" if someone acquihiring you means my database disappearing from under me.
- jorjordandan 9y agoI'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 9y agoHey jorjordandan - just ping @nilan in our slack and he will get you set up with a lifetime project plan :-)
- brango 9y agoAnyone 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 9y agoHi brango - thanks for signing up :-) We will activate the lifetime project plan for everybody tomorrow. Feel free to explore the product in the meantime!
- abefetterman 9y agoWe 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-functions-teko4ab8za/ https://www.graph.cool/blog/2017-05-16-introducing-a-cli-fun...
- sorenbs 9y agoThanks a lot - it's super inspiring to hear about all the cool projects being implemented on Graphcool! To us it is very important that the features we implement are stable and ready for real production apps. That's why we sometime keep new features in beta for a long period while we work out all the kinks :-) I'm looking forward to see how the new Functions will help you reduce the complexity of your app! btw - I added a link in another comment here to a post about how we see serverless functions and GraphQL play together. Would love to hear your thoughts on this.
- epaulson 9y agoOne of the things that I think is missing from your documentation is better explanation of what happens if things fail. For example, if one of the async functions fails, do you re-run it? The async functions can have externally-visible invoking webservices and such - if something hiccups, do you run the function again? Can I come in and get a list of all the times it would have been run and re-invoke them myself later if need be?
- 9y ago
- isseu 9y agoHow can I handle aggregate functions with this?
- sorenbs 9y agoHi 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
- pier25 9y agoI'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 9y agoThanks 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 9y ago> 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)
- primitivesuave 9y agoI'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 9y agoThank 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 9y agoSorenbs - 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 9y agoHi 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/
- schickling 9y agoHi primitivesuave! Thank you so much for your kind words! I'm very happy you're highlighting all these points. It's indeed something we've tried to put a lot of effort into, to make the first getting started experience as nice as possible. What I'm most excited about is the flexibility and extensibility compared to previous BaaS solutions. This is where GraphQL & serverless functions provide the perfect building blocks without resulting in vendor lock-in.
- daddykotex 9y agoThe landing page and the quick start are amazing. Keep up the good work, it definitely landed in my `to try` folder!
- deleted 9y ago[deleted]
- vning93 9y agoIt'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).
- gblock72 9y agoReally 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 9y agoThank 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 :-)
- SadWebDeveloper 9y agoAs 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 9y agoI 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 9y agoFor 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?
- sorenbs 9y agoThis is getting a bit philosophical for me, but here's my take: Before starting Graphcool I was the tech person on various projects and low-tech startups. For each new project I would spin up a node server + db. After 2 years I saw myself managing 10 different installations, all with slightly different configurations, different approaches to api and authorisation etc. Had Graphcool existed back then I would have had 10 separate projects that I could switch between in a beautiful ui, all fully managed and using the same api structure. Instead I find myself today partly responsible for the 4 remaining node installations that are the teams rely on, but don't have the expertise to manage in-house.
- esistgut 9y agoThis is interesting but I always fear the lock-in related problems.
- deleted 9y ago[deleted]
- schrockn 9y agoThis 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 9y agoThank 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-graphql-backend-architecture-ahde7paig2/ https://www.graph.cool/docs/blog/introducing-the-serverless-... P.S. we're also currently on Product Hunt and appreciate any kind of support :)
- deleted 9y ago[deleted]
- HNSucksAss 9y agoI was pretty excited to read about GraphQL, hoping it would be a way to abstract query logic and reduce the laborious need to sync server-side query APIs and client-side query construction as they change throughout an app's development. But I don't see any way to express relationships like joins in GraphQL. Am I overlooking it?
- djmashko2 9y agoReally 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 9y agoThanks 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-32648404256?discount=hn30 https://www.eventbrite.de/e/graphql-europe-tickets-326484042... 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/
- robzhu 9y agoCongrats 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 9y agoThanks 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.
- krashidov 9y agoLooks cool! How does this compare to scaphold.io ?
- sorenbs 9y agoHi 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.
- hackjam600 9y ago+ University grades changing + Facebook hack + Email interception hack + Email accounts hack + Grade Changes hack + Website crashed hack + Word Press Blogs hack + Retrieval of lost file/documents + Erase criminal records hack + Databases hack + Sales of Dumps cards of all kinds + Untraceable Ip + Bank accounts hack + Individual computers hack + Websites hack + Control devices remotely hack + Burner Numbers hack + Verified Paypal Accounts hack + Any social media account hack + Android & iPhone Hack + server crashed hack + Text message interception hack + Twitters hack + Skype hack + Credit cards hacker + We can drop money into bank accounts. + credit score hack + blank credit card sale + Hack and use Credit Card to shop online + Monitor any phone and email address + Tap into anybody's call and monitor their conversation CONTACT:hackjam600@gmail.com
- drumttocs8 9y agoHow does everybody feel about this compared to Firebase?
- sorenbs 9y agoHey - 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-chi6oozus1/ https://www.graph.cool/docs/tutorials/graphql-vs-firebase-ch... 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 9y agoNice. 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
- pier25 9y agoIMO the biggest problem with Firebase is data modelling and querying. No relationships, very basic filtering capabilities, etc. That should be a deal breaker for any serious project. I wrote this a couple of months back where I expand on that and other pain points: https://medium.freecodecamp.com/firebase-the-great-the-meh-and-the-ugly-a07252fbcf15 https://medium.freecodecamp.com/firebase-the-great-the-meh-a...
- brianllamar 9y agoNice 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-13-staying-cool-with-graphcool/ http://www.heavybit.com/library/podcasts/jamstack-radio/ep-1...
- zenithm 9y agoFacebook, Github, Pinterest, etc. are listed as Graphcool enterprise customers? Is that true?
- zenithm 9y agoNo response...I think these are companies that have GraphQL APIs, but no actual relationship with Graphcool. They shouldn't be listed as customers.
- sorenbs 9y agoSorry 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 9y agoAs 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 9y agoAgree, 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.
- daliwali 9y agoNobody 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 9y agoWhen 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 9y agoHi 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 9y agoMaybe 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.
- 9y ago
- nawgszy 9y agoThis comment section is a strange juxtaposition of roasts of the fundamentals of the business modal and shill-like praise of the business...
- kabes 9y agoSeems 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 9y agoHi 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-definition-language-kr84dktnp0/ https://www.graph.cool/docs/faq/graphql-idl-schema-definitio...) 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 9y agoAny 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 9y agoHi 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.
- ericclemmons 9y agoWhat'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 9y agoThank 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/
- beart 9y agoOne 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 9y agoHi 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.
- max23_ 9y agoWhen 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.
- pkghost 9y agoQ 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 9y agoHi 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
- raulk 9y agoThe 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?