SlideShare a Scribd company logo
FernandGaliana
@kitesurfer
GraphQLUsforthe
RestOFUs!
© 2018 imhotep.io
© 2018 imhotep.io
© 2018 imhotep.io
© 2018 imhotep.io
© 2018 imhotep.io
© 2018 imhotep.io
MORESLAW!
© 2018 imhotep.io
MOUSERS
© 2018 imhotep.io
MODEVISES
© 2018 imhotep.io
MODATA
© 2018 imhotep.io
© 2018 imhotep.io
2005
Dude? You F# Rock!!
© 2018 imhotep.io
2018
Meh? I need psychographics
per click chart thingy!
Tomorrow?
Great!
© 2018 imhotep.io
INITDROP
svc1/api/followers
svc1/api/clicks
svc2/api/engagements
svc3/api/impressions
© 2018 imhotep.io
CLEANINGUP!
svc/api/dash
© 2018 imhotep.io
WELCOMETOLAYER7
svc/api/dash_w_followers_w_clicks
svc/api/dash_wo_followers_w_clicks
svc/api/dash_wo_followers_w_engagements_wo_clicks
© 2018 imhotep.io
© 2018 imhotep.io
GRAPHQLFIREHOSE
© 2018 imhotep.io
Consumer driven!
Thin Spec
Self Documenting
What !How
Data Safety
Incremental Adoption
Transport Agnostic
OnBoarding
Over/Under fetch
© 2018 imhotep.io
ARCHITECTURE
© 2018 imhotep.io
GraphQL
© 2018 imhotep.io
GraphQL
Svc1 Svc3Svc2 Svc4
© 2018 imhotep.io
CLOSERLOOK…
© 2018 imhotep.io
Query
Mutation
Subscription
© 2018 imhotep.io
QUERIES
© 2018 imhotep.io
{
followers {
name
hair_color
}
}
{
“followers”: [
{
“name”: “PeeWee Herman”
“hair_color”: “black”
},
{
“name”: “Donald Trump”
“hair_color”: “orange?”
}
]
}
© 2018 imhotep.io
• Variable
• Argument
• Alias
• Fragment
• Interface
• Union
• Enum
• Directive
© 2018 imhotep.io
TYPES
© 2018 imhotep.io
String
ID
Float
Int
Boolean
Enum
Input
Interface
Unions (concrete!)
Custom
![]
ASSIDE…
application
xform
decoratedbusinesslogic
xform
AOP!
© 2018 imhotep.io
© 2018 imhotep.io
© 2018 imhotep.io
ImDBPicker
iconoflix
© 2018 imhotep.io
ImDBPicker
iconoflix
© 2018 imhotep.io
Sneaky Pete
2015
Giovanni Ribisi
Marin Ireland
TV Series
Genres
Cast
Comedy
© 2018 imhotep.io
DEMO
© 2018 imhotep.io
ICONOFLIXDEMO
Click Iconoflix logo for live demo video!
© 2018 imhotep.io
AUTH
© 2018 imhotep.io
H
erpes
Tes
t R
es
ults
SUBSCRIPTIONS
Personal and
© 2018 imhotep.io
CLIENTSIDE
© 2018 imhotep.io
© 2018 imhotep.io
© 2018 imhotep.io
• Ng|View|React
• WriteQsnotcode!
• Declarativedatafetching
• Normalizedcaching
• OptimisticUI
• Serversiderendering
• Subscription&Realtime
© 2018 imhotep.io
TAKEAWAYS
Think Graphs!
Communicate
Name/Doc wisely
Query Perf
Migrate!->Mutations
QL Mocks
AuthN/Z
Monitoring + Tracing
Leverage Introspection!
GraphQl !!= SQL
© 2018 imhotep.io
ImpedanceMismatch
© 2018 imhotep.io
© 2018 imhotep.io
© 2018 imhotep.io
© 2018 imhotep.io
© 2018 imhotep.io
GRAPHQL
© 2018 imhotep.io
A/R-ActualReality!
FlexibilityInInterpreter
Efficiencyinassociations
Richcontext-basedtraversals
Loopdetection
LooseRelationships
ShortestPath
Distributed+Concurrent
graphdatabase
© 2018 imhotep.io
TitanDB
OrientDB
ArangoDB
BlazeGraph
Neo4J
…
DGraph!
Prisma?
© 2018 imhotep.io
CANARYINFAASMINE?
© 2018 imhotep.io
RESOURCES
references
© 2018 imhotep.io
graphql.org
github.com/APIs-guru/graphql-faker
github.com/graphql-java/awesome-graphql-java
github.com/facebook/dataloader
github.com/apollographql
facebook.github.io/relay
github.com/chentsulin/awesome-graphql
scaphold.io
graph.cool
www.apollographql.com/engine
github.com/apollographql/apollo-codegen
© 2018 imhotep.io
if (speaker != “suckedass!!”) {
http://bit.ly/djug-201803-survey
}
© 2018 imhotep.io
THANKYOU!
Photos provided by blackandwtf.tumblr.com
@kitesurfer

More Related Content

More from Fernand Galiana

Sailing into 2018 with Kubernetes and Istio
Sailing into 2018 with Kubernetes and IstioSailing into 2018 with Kubernetes and Istio
Sailing into 2018 with Kubernetes and Istio
Fernand Galiana
 
GraphQL, The New Black?
GraphQL, The New Black?GraphQL, The New Black?
GraphQL, The New Black?
Fernand Galiana
 
You, Mix and Kubee
You, Mix and KubeeYou, Mix and Kubee
You, Mix and Kubee
Fernand Galiana
 
Docker Container Orchestration
Docker Container OrchestrationDocker Container Orchestration
Docker Container Orchestration
Fernand Galiana
 
Bucket List Item #1246
Bucket List Item #1246Bucket List Item #1246
Bucket List Item #1246
Fernand Galiana
 
In The Land Of Graphs...
In The Land Of Graphs...In The Land Of Graphs...
In The Land Of Graphs...
Fernand Galiana
 
Engines
EnginesEngines
I motion
I motionI motion
I motion
Fernand Galiana
 
What's new in Rails5?
What's new in Rails5?What's new in Rails5?
What's new in Rails5?
Fernand Galiana
 
R-House (LSRC)
R-House (LSRC)R-House (LSRC)
R-House (LSRC)
Fernand Galiana
 
Rhouse - Home automation is ruby ?
Rhouse - Home automation is ruby ?Rhouse - Home automation is ruby ?
Rhouse - Home automation is ruby ?
Fernand Galiana
 

More from Fernand Galiana (11)

Sailing into 2018 with Kubernetes and Istio
Sailing into 2018 with Kubernetes and IstioSailing into 2018 with Kubernetes and Istio
Sailing into 2018 with Kubernetes and Istio
 
GraphQL, The New Black?
GraphQL, The New Black?GraphQL, The New Black?
GraphQL, The New Black?
 
You, Mix and Kubee
You, Mix and KubeeYou, Mix and Kubee
You, Mix and Kubee
 
Docker Container Orchestration
Docker Container OrchestrationDocker Container Orchestration
Docker Container Orchestration
 
Bucket List Item #1246
Bucket List Item #1246Bucket List Item #1246
Bucket List Item #1246
 
In The Land Of Graphs...
In The Land Of Graphs...In The Land Of Graphs...
In The Land Of Graphs...
 
Engines
EnginesEngines
Engines
 
I motion
I motionI motion
I motion
 
What's new in Rails5?
What's new in Rails5?What's new in Rails5?
What's new in Rails5?
 
R-House (LSRC)
R-House (LSRC)R-House (LSRC)
R-House (LSRC)
 
Rhouse - Home automation is ruby ?
Rhouse - Home automation is ruby ?Rhouse - Home automation is ruby ?
Rhouse - Home automation is ruby ?
 

Recently uploaded

Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 

Recently uploaded (20)

Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 

GraphQLUs For The RestOfUs!