Architecture of scalable and resilient apps with GraphQL, Amazon RDS and AWS Lambda
Oct. 16, 2018•0 likes
3 likes
Be the first to like this
Show More
•310 views
views
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Download to read offline
Report
Technology
Talk by Shahidh K Muhammed, Engineer, Hasura on the topic "Architecture of scalable and resilient apps with GraphQL, Amazon RDS and AWS Lambda" at AWS Community Day, Bangalore 2018
shahidh_k
Architecture Recap
● Microservices became serverless
functions
● Serverless functions are scalable by nature
● Database events trigger async serverless
functions
● Resiliency by event source tool instead of
in the API code
● Moved specific failure handling logic to
generic failure handling
13
shahidh_k
REST vs GraphQL
Product Brand Category
GET
PUT
POST
PATCH
DELETE
GET
PUT
POST
PATCH
DELETE
GET
PUT
POST
PATCH
DELETE
ProductWithBrand
18
shahidh_k
GraphQL changes the way
we think about UI + API
● UI First modelling
● Makes API usage more natural
● Maps UI components to GraphQL queries
● Faster iterations - no back and forth b/n
frontend-backend
19
shahidh_k
Without GraphQL
● Polling from the client
● Websockets - custom API
● Community fragmentation
● Various patterns in different frameworks
● More work for the developer
22
shahidh_k
With GraphQL
● Standardised spec
● All GraphQL Clients are compatible with all
GraphQL Servers
● Client implementations available for all
major platforms and frameworks
● Subscriptions: access to async info
● Less work for the developer
23
shahidh_k
However, the cost is...
25
App
Database
API
Event system
Payment processing
Restaurant approval
Delivery assignment
Generic Event System
Event system
Async Serverless Fns
Payment processing
Restaurant approval
Delivery assignment
GraphQL Server Subscriptions