
AWS AppSync – Build data-driven apps with real-time and off-line capabilities - marvinpinto
https://aws.amazon.com/blogs/aws/introducing-amazon-appsync/
======
schickling
Hi, co-founder of Graphcool here. It's very exciting to see AWS adopting
GraphQL as a part of their offering. GraphQL in combination with serverless
functions is a great fit to build applications quickly and shines in the use
case described by AppSync.

P.S. We'll soon release a few example of how to use AppSync together with
Graphcool (which works really well together!)

~~~
the_duke
Isn't this basically a copy of Graphcool?

I was actually just about to comment how it sucks for startups that AWS will
just grab every good idea, duplicate it and draw a lot of business because,
since you have everything on AWS, it's very tempting to just use their
offering.

~~~
meritt
Edit - Nevermind, I must have confused the personal experience of myself and
multiple people in my professional network with a satirical television show.

~~~
bradleyankrom
That is interesting - can you recall some instances of this occurring?

~~~
dandr01d
He just saw the Silicon Valley episode

------
tal_berzniz
Amazon is amazing at creating scaleable and reliable services, but their UX
and the way they announce new products is awful.

There's room for startups to wrap these services into something more usable.
There are already good examples: netlify, graph.cool, dashbird and others.

~~~
johne20
Hopefully someone at AWS is reading this, and/or they are already working on
it. I like AWS and have used it since the first days, but....

The AWS web console is terrible UX/UI, and when they do update an area, eg s3
they almost make it worse.

Please hire a few of the best UX/designers you can an do a top down refresh of
the AWS console with consistent navigation.

I am moving new and existing projects to Google Cloud based on the some slight
different product offerings, sustained use discounts, and in very large part
on the better web console.

~~~
RhodesianHunter
> and in very large part on the better web console

All I can say IRT this is WOW. The Google web console is one of the most
painful UX experiences I've had in this space.

~~~
johne20
Thanks for the dialog. Worse than AWS? What areas? I don't think Google Cloud
console is amazing as far as dashboards go, but it is way better (to me) than
AWS web console.

~~~
RhodesianHunter
I think so, yes. For example: You can browse BigQuery tables you have access
to in a tab, but have to open a new tab to your project where you have billing
attached to actually query those tables. So if you're part of a large
organization with multiple divisions with their own billing, there is no way
to see your tables and query them in the same view.

Most of the console feels to me like the people who build it don't actually
use it.

------
gregwebs
This AWS announcement is quite exciting. For those wondering what else is
available, I can share some recent research into available graphQL backend
systems (but I have not used them past demo yet).

These 3 hosted solutions all have a similar feature set. That includes support
for enum types, uniqueness, required, and relations

    
    
      * GraphCMS
      * Scaphold
      * Graphcool
    

GraphCMS is probably the most user friendly around schema creation, but that
may not matter to you if you are an app developer. If you just want to declare
a GraphQL schema there is Graph Front.

There are also open source GraphQL backends

    
    
      * https://github.com/jscomplete/graphfront (Postgres)
      * https://github.com/postgraphql/postgraphql (Postgres)
      * http://join-monster.readthedocs.io/en/latest/
      * https://rest-layer.io/ (MongoDB, Sqlite3, Google DataStore)
    

You can also now run Graphcool on your own infrastructure.

As a disclaimer, GraphQL was not designed to not be mapped to a data store
like this. However, these technologies are at least a great way to prototype a
backend.

~~~
schickling
Thanks for sharing these resources! Regarding your last point stating that
"these technologies are at least a great way to prototype a backend.":

We've taken this feedback extremely seriously and are extracting the core of
Graphcool as a standalone component which is a "GraphQL database". While it's
not as user friendly (as of a visual user interface) it's meant as a
foundation for highly scalable systems (based on the architectures you might
find at Twitter or Facebook).

I'm very happy to hear more of your concerns and answer any questions!

------
appwiz
AWS AppSync tech lead here. If you'd like to request access, please go to
[https://pages.awscloud.com/awsappsyncpreview.html](https://pages.awscloud.com/awsappsyncpreview.html)

~~~
ChrisBland
How hard would it be to put this behind an Amazon auth so I don’t have to fill
in all of this data which amazon already has?

~~~
nslog
AppSync has comprehensive Auth functionality including both AWS IAM and Amazon
Cognito, plus FGAC capabilities for you to implement custom rules:
[https://docs.aws.amazon.com/appsync/latest/devguide/security...](https://docs.aws.amazon.com/appsync/latest/devguide/security.html)

~~~
dc_gregory
(I think they meant the forms AWS puts up, which could have a "login and fill
AWS account details" button to automatically fill the thing out).

------
thawab
If you want to have a look at the console, they showed a demo on the twitch
stream
[https://www.twitch.tv/videos/205044748?t=01h21m05s](https://www.twitch.tv/videos/205044748?t=01h21m05s)

~~~
appwiz
Thanks for posting the link. We have a deep dive at re:Invent later this
afternoon if anyone is interested in attending.

------
kbd
Seems promising. I'd be interested to know how this compares to something like
RethinkDB for "realtime" (awful word we've settled on to describe changefeeds
and such) apps.

~~~
nslog
Realtime capabilities in AppSync are controlled by the developer with an
event-based model using GraphQL Subscriptions:
[https://docs.aws.amazon.com/appsync/latest/devguide/real-
tim...](https://docs.aws.amazon.com/appsync/latest/devguide/real-time-
data.html)

------
tootie
Google Firebase and Azure Mobile App Service already offer offline sync. This
is a catch-up move.

~~~
xrd
But, Firebase only exists at Google and has serious limitations.

~~~
thesandlord
Curious to know what limitations you've found. With the new Firestore DB a lot
of the old Firebase RTDB scale/query restrictions have been lifted.

(I work for Google)

~~~
xrd
I found it really hard to play with Firebase because it is only available
hosted from Google. I like to tinker with things that I can run locally and it
was so much work (relative to other technologies) to get a staging environment
established. For example, I'm building lots of things with docker so I can
setup and tear down really quickly.

------
mlukaszczyk
Hey! Co-Founder of GraphCMS here. Super excited to see that more and more tech
giants see the huge value in GraphQL. This is a great day for the community. I
am also a huge fan of the Graphcool service and I definitely see great
integration potential here. Looking forward to the next weeks! Well done,
AppSync team!

------
obilgic
Would love to hear from www.graph.cool folks

~~~
schickling
Hi obilgic, thanks a lot for the shout out!

This is a super exciting announcement from the side of AWS which is really
well aligned with some of our upcoming product changes. Expect some news in
the next couple of weeks!

------
marknadal
Want something similar without the lock in? The community has recently added
GraphQL query capabilities (including realtime updates, like Firebase!) to
gun, fully Open Source: [https://github.com/brysgo/graphql-
gun](https://github.com/brysgo/graphql-gun) (note, I'm the author of gun, but
not the GraphQL extension)

~~~
xrd
Gun is awesome but I'm still confused about mobile support. Has that story
changed?

~~~
marknadal
Mobile support works when using things like React Native, phonegap, ionic,
etc. but we don't have any Swift/Objective-C/Java drivers yet - however, I
recently did a talk on how to port gun into a new language, so I'm hoping some
contributors could help out: [https://github.com/amark/gun/wiki/porting-
gun](https://github.com/amark/gun/wiki/porting-gun)

Thanks for asking! Definitely a hard one, any other issues we need to address
still, that I can put on my radar?

------
desireco42
This is actually something I thought it should be good to be service and it is
great Amazon decided to make it. I didn't look into details, so hopefully it
can be used without big issues. Really cool.

------
talawahdotnet
Interesting so the data is actually stored in a datasource like DynamoDB and
this is a managed GraphQL service that you can use to handle auth, mapping,
subscriptions etc

~~~
nslog
DynamoDB is just one of the data sources that you can use, and any of them can
be used for Realtime data with GraphQL subscriptions as well as authorization
schemes:
[https://docs.aws.amazon.com/appsync/latest/devguide/tutorial...](https://docs.aws.amazon.com/appsync/latest/devguide/tutorials.html)
[https://docs.aws.amazon.com/appsync/latest/devguide/real-
tim...](https://docs.aws.amazon.com/appsync/latest/devguide/real-time-
data.html)
[https://docs.aws.amazon.com/appsync/latest/devguide/security...](https://docs.aws.amazon.com/appsync/latest/devguide/security.html)

------
LeicaLatte
Very timely product from Amazon. AppSync comes with subscriptions and looks
quite useful. Do any of the other GraphQL startups out there offer
subscriptions?

~~~
nikolasburk
Graphcool does have full subscription suppport!

~~~
LeicaLatte
Fantastic. Thanks!

------
Hendrixer
CoFounder and CEO of Tipe here. I think AppSync is amazing. Using GraphQL with
AWS services is simple. This is a no-brainer for Enterprise. We're using some
of this tech to offer enterprise support for our customers. Check us out and
signup for beta, [https://tipe.io](https://tipe.io)

~~~
MentallyRetired
Very nice. Tipe is almost a direct featureset clone of a CMS I built in 2006,
just done much better. And with todays tech its probably a lot easier to
develop. No disrespect to what you're doing, you're still putting in insane
amounts of work to have this function. Definitely my new favorite CMS
approach. Power anything from websites to electronic billboards... love it.
Mine was called Calypso.io :)

------
sdeff
Will AppSync also enable offline-first mobile apps?

For example enable users to use the app without the need to transfer data to
AWS (create/modify data without an internet connection on the first app
start). And only connect to AWS if the user wants to sign in to backup/sync
the app data with AWS.

~~~
ihaveajob
What's your business case for that feature? I'm genuinely curious.

~~~
sdeff
To enable privacy-sensitive users to use the app without sending data to AWS.
Only if a user later decides to use backup/sync data across devices he or she
can opt-in.

------
nslog
The AWS AppSync pages are live now:
[https://aws.amazon.com/appsync/](https://aws.amazon.com/appsync/)

------
willchen
A bit confusing that there's blue, underlined text that look a lot like links.

Perhaps this was posted too early and should actually link to more in-depth
docs?

------
MentallyRetired
Graph.cool has been great for me, and good customer service.

That said, and I'll just say it... GraphQL as a standard is total garbage.
What was wrong with existing transport formats (JSON)? Why must I now learn
YET ANOTHER query language and schema definition format, much less one with
the frailty of a toothpick house with no glue?

~~~
dboreham
What query language and schema definition format are you using now?

