SlideShare a Scribd company logo
Building and deploying GraphQL Servers with AWS Lambda and Prisma I AWS Dev Day 2018
Nikolas Burk 👋
Developer at Graphcool
$ whoami
@nikolasburk
Agenda
1. History & Motivation
2. GraphQL Introduction
3. GraphQL Server Development
4. Demo: Build & Deploy a GraphQL Server
5. Lessons learned
History & Motivation
How did we get here?
@nikolasburk
History
INFRASTRUCTURE
ARCHITECTURE
API STANDARD
Hardware/VPS
Monolith
HTML / SOAP
Managed service
Microservice
REST
Serverless
Functions
GraphQL
History
INFRASTRUCTURE
ARCHITECTURE
API STANDARD
Hardware/VPS
Monolith
HTML / SOAP
Managed service
Microservice
REST
Serverless
Functions
GraphQL
Benefits
Microservice
Architecture
• Layer & component
based
• Faster development
• Decoupled
Serverless
Infrastructure
• Low/zero
maintenance
• Auto-scaling
• Pay-as-you-go
GraphQL API
⌛
@nikolasburk
GraphQL Introduction
…and why developers ❤ it
@nikolasburk
What’s GraphQL?
• New API standard by Facebook
• Query language for APIs
• Declarative way of fetching & updating data
@nikolasburk
Mary
Mary’s posts:
Learn GraphQL Today
Why GraphQL is better than
REST
React & GraphQL - A declarative
love story
Relay vs Apollo - GraphQL
clients
Last three followers:
John, Alice, Sarah
Example: Blogging App
Example: Blogging App with REST
/users/<id>
/users/<id>/posts
/users/<id>/followers
3 API endpoints
@nikolasburk
1 Fetch user data
/users/<id>/users/<id>
/users/<id>/posts
/users/<id>/followers
{
“user”: {
“id”: “er3tg439frjw”
“name”: “Mary”,
“address”: { … },
“birthday”: “July 26, 1982”
}
}
HTTP GET
Mary
Mary’s posts:
Last three followers:
@nikolasburk
2
/users/<id>
/users/<id>/posts
/users/<id>/followers
Fetch posts
HTTP GET
{
“posts”: [{
“id”: “ncwon3ce89hs”
“title”: “Learn GraphQL today”,
“content”: “Lorem ipsum … ”,
“comments”: [ … ],
}, {
“id”: “dsifr3as0vds”
“title”: “React & GraphQL - A declarative love story”,
“content”: “Lorem ipsum … ”,
“comments”: [ … ],
}, {
“id”: “die5odnvls1o”
“title”: “Why GraphQL is better than REST”,
“content”: “Lorem ipsum … ”,
“comments”: [ … ],
}, {
“id”: “dovmdr3nvl8f”
“title”: “Relay vs Apollo - GraphQL clients”,
“content”: “Lorem ipsum … ”,
“comments”: [ … ],
}]
}
Mary
Mary’s posts:
Learn GraphQL Today
Why GraphQL is better than REST
React & GraphQL - A declarative
love story
Relay vs Apollo - GraphQL clients
Last three followers:
@nikolasburk
/users/<id>
/users/<id>/posts
/users/<id>/followers
HTTP GET
{
“followers”: [{
“id”: “leo83h2dojsu”
“name”: “John”,
“address”: { … },
“birthday”: “January 6, 1970”
},{
“id”: “die5odnvls1o”
“name”: “Alice”,
“address”: { … },
“birthday”: “May 1, 1989”
}{
“id”: “xsifr3as0vds”
“name”: “Sarah”,
“address”: { … },
“birthday”: “November 20, 1986”
}
…
]
}
Mary
Mary’s posts:
Learn GraphQL Today
Why GraphQL is better than REST
React & GraphQL - A declarative
love story
Relay vs Apollo - GraphQL clients
Last three followers:
John, Alice, Sarah
Fetch followers3
@nikolasburk
1 API endpoint
Example: Blogging App with GraphQL
@nikolasburk
Mary’s posts:
Last three followers:
Fetch everything with a single request1
HTTP POST
query {
User(id: “er3tg439frjw”) {
name
posts {
title
}
followers(last: 3) {
name
}
}
}
@nikolasburk
Mary’s posts:
Last three followers:
Mary
Learn GraphQL Today
Why GraphQL is better than REST
React & GraphQL - A declarative
love story
Relay vs Apollo - GraphQL clients
John, Alice, Sarah
Fetch everything with a single request1
HTTP POST
{
“data”: {
“User”: {
“name”: “Mary”,
“posts”: [
{ title: “Learn GraphQL today” },
{ title: “React & GraphQL - A declarative love story” }
{ title: “Why GraphQL is better than REST” }
{ title: “Relay vs Apollo - GraphQL Clients” }
],
“followers”: [
{ name: “John” },
{ name: “Alice” },
{ name: “Sarah” },
]
}
}
} @nikolasburk
GraphQL Server Development
Core concepts & Best practices
@nikolasburk
3 parts of a GraphQL server
1. Structure: The GraphQL schema
2. Behaviour: Resolver functions
3. Network Layer: Network, Middleware, …
1) The GraphQL Schema
• Strongly typed & written in GraphQL Schema Definition
Language (SDL)
• Defines API capabilities ( = contract for client-server
communication)
• Special root types: Query, Mutation, Subscription
@nikolasburk
Example: Hello World
SCHEMA
@nikolasburk
SERVER RESPONSEQUERY
Example: CRUD for User type
@nikolasburk
2) Resolver functions
• Concrete implementation of the API
• One resolver function per field in SDL schema
• Query execution: Invoke resolvers for all fields in query
@nikolasburk
Example: Hello World
SDL
@nikolasburk
RESOLVER
Example: CRUD for User type
@nikolasburk
3) Network Layer
• Based on `graphql-yoga`
• Network configuration: port, endpoints, CORS, …
• Middleware (analytics, logging, crash reporting,…)
@nikolasburk
…putting it all together
1) SCHEMA
2) RESOLVERS
3) NETWORK LAYER
Demo 🔨
Building & Deploying a GraphQL server
@nikolasburk
Learn more 💡
https://blog.graph.cool/6da86f346e68
How to build a GraphQL Server with `graphql-yoga`
@nikolasburk
https://blog.graph.cool/522f2b75a2ac
Deploying GraphQL Servers with Apex Up
Lessons learned
Building & Deploying a GraphQL server
@nikolasburk
Lessons learned
👍 & 👎
@nikolasburk
Benefits and Limitations
👍
• Super fast & easy
deployment
• Awesome tools like Apex Up
• Cost effective
👎
• Can’t handle realtime
subscriptions
• Alternative: AWS Fargate
@nikolasburk
Thank you! 🙇
… any questions?
@nikolasburk

More Related Content

What's hot (20)

PDF
GraphQL Munich Meetup #1 - How We Use GraphQL At Commercetools
Nicola Molinari
 
PDF
GraphQL + relay
Cédric GILLET
 
PDF
VulcanJS Austin Presentation
Justin Reynolds
 
PDF
Performance optimisation with GraphQL
yann_s
 
PDF
Why UI Developers Love GraphQL - Sashko Stubailo, Apollo/Meteor
Jon Wong
 
PDF
GraphQL across the stack: How everything fits together
Sashko Stubailo
 
PDF
Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz
Atlassian
 
PPTX
GraphQL and mule4
Shivam Khandelwal
 
PPTX
ECS19 - Patrick Curran - Expanding User Profiles with Line of Business Data (...
European Collaboration Summit
 
PDF
10 things you didn't know about Postman
Postman
 
PDF
A Link Generator for Increasing the Utility of OpenAPI-to-GraphQL Translations
IstvanKoren
 
PDF
Py conkr 2020-automated newsletter service for your valuable community-chans...
Park Chansung
 
PDF
Rootconf
akbarabi
 
PDF
EmberCLI Rails: An Integration Love Story.
Jonathan Jackson
 
PDF
Ryan Brown - Open Community
ServerlessConf
 
PPTX
Flink in action
Artem Semenenko
 
PDF
GraphQL IndyJS April 2016
Brad Pillow
 
PDF
AtlasCamp 2014: Collaboration State of the Union
Atlassian
 
PDF
Reactive streams and components on OSGi - C Schneider
mfrancis
 
PPTX
Streaming Data Integration - For Women in Big Data Meetup
Gwen (Chen) Shapira
 
GraphQL Munich Meetup #1 - How We Use GraphQL At Commercetools
Nicola Molinari
 
GraphQL + relay
Cédric GILLET
 
VulcanJS Austin Presentation
Justin Reynolds
 
Performance optimisation with GraphQL
yann_s
 
Why UI Developers Love GraphQL - Sashko Stubailo, Apollo/Meteor
Jon Wong
 
GraphQL across the stack: How everything fits together
Sashko Stubailo
 
Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz
Atlassian
 
GraphQL and mule4
Shivam Khandelwal
 
ECS19 - Patrick Curran - Expanding User Profiles with Line of Business Data (...
European Collaboration Summit
 
10 things you didn't know about Postman
Postman
 
A Link Generator for Increasing the Utility of OpenAPI-to-GraphQL Translations
IstvanKoren
 
Py conkr 2020-automated newsletter service for your valuable community-chans...
Park Chansung
 
Rootconf
akbarabi
 
EmberCLI Rails: An Integration Love Story.
Jonathan Jackson
 
Ryan Brown - Open Community
ServerlessConf
 
Flink in action
Artem Semenenko
 
GraphQL IndyJS April 2016
Brad Pillow
 
AtlasCamp 2014: Collaboration State of the Union
Atlassian
 
Reactive streams and components on OSGi - C Schneider
mfrancis
 
Streaming Data Integration - For Women in Big Data Meetup
Gwen (Chen) Shapira
 

Similar to Building and deploying GraphQL Servers with AWS Lambda and Prisma I AWS Dev Day 2018 (20)

PDF
Building Serverless GraphQL Backends
Nikolas Burk
 
PDF
GraphQL Subscriptions
Nikolas Burk
 
PPT
Graphql presentation
Vibhor Grover
 
PDF
Diving into GraphQL, React & Apollo
Nikolas Burk
 
PDF
GraphQL in an Age of REST
Yos Riady
 
PDF
GraphQL - A love story
bwullems
 
PDF
Modern APIs with GraphQL
Taikai
 
PPTX
Introduction to GraphQL
Rodrigo Prates
 
PDF
GraphQL over REST at Reactathon 2018
Sashko Stubailo
 
PPTX
The API Journey: from REST to GraphQL
Haci Murat Yaman
 
PDF
GraphQL and Relay Modern
Carmel JavaScript Roundabout
 
PDF
GraphQL And Relay Modern
Brad Pillow
 
PDF
GraphQL And Relay Modern
Brad Pillow
 
PDF
GraphQL for Native Apps
Emanuele Di Saverio
 
PDF
Testing and Developing GraphQL APIs
Postman
 
PDF
The Serverless GraphQL Backend Architecture
Nikolas Burk
 
PDF
GraphQL with .NET Core Microservices.pdf
Knoldus Inc.
 
PDF
PHP, the GraphQL ecosystem and GraphQLite
JEAN-GUILLAUME DUJARDIN
 
PPTX
Introduction to Graph QL
Deepak More
 
PDF
API Management for GraphQL
WSO2
 
Building Serverless GraphQL Backends
Nikolas Burk
 
GraphQL Subscriptions
Nikolas Burk
 
Graphql presentation
Vibhor Grover
 
Diving into GraphQL, React & Apollo
Nikolas Burk
 
GraphQL in an Age of REST
Yos Riady
 
GraphQL - A love story
bwullems
 
Modern APIs with GraphQL
Taikai
 
Introduction to GraphQL
Rodrigo Prates
 
GraphQL over REST at Reactathon 2018
Sashko Stubailo
 
The API Journey: from REST to GraphQL
Haci Murat Yaman
 
GraphQL and Relay Modern
Carmel JavaScript Roundabout
 
GraphQL And Relay Modern
Brad Pillow
 
GraphQL And Relay Modern
Brad Pillow
 
GraphQL for Native Apps
Emanuele Di Saverio
 
Testing and Developing GraphQL APIs
Postman
 
The Serverless GraphQL Backend Architecture
Nikolas Burk
 
GraphQL with .NET Core Microservices.pdf
Knoldus Inc.
 
PHP, the GraphQL ecosystem and GraphQLite
JEAN-GUILLAUME DUJARDIN
 
Introduction to Graph QL
Deepak More
 
API Management for GraphQL
WSO2
 
Ad

More from AWS Germany (20)

PDF
Analytics Web Day | From Theory to Practice: Big Data Stories from the Field
AWS Germany
 
PDF
Analytics Web Day | Query your Data in S3 with SQL and optimize for Cost and ...
AWS Germany
 
PDF
Modern Applications Web Day | Impress Your Friends with Your First Serverless...
AWS Germany
 
PDF
Modern Applications Web Day | Manage Your Infrastructure and Configuration on...
AWS Germany
 
PDF
Modern Applications Web Day | Container Workloads on AWS
AWS Germany
 
PDF
Modern Applications Web Day | Continuous Delivery to Amazon EKS with Spinnaker
AWS Germany
 
PDF
Building Smart Home skills for Alexa
AWS Germany
 
PDF
Hotel or Taxi? "Sorting hat" for travel expenses with AWS ML infrastructure
AWS Germany
 
PDF
Wild Rydes with Big Data/Kinesis focus: AWS Serverless Workshop
AWS Germany
 
PDF
Log Analytics with AWS
AWS Germany
 
PDF
Deep Dive into Concepts and Tools for Analyzing Streaming Data on AWS
AWS Germany
 
PDF
AWS Programme für Nonprofits
AWS Germany
 
PDF
Microservices and Data Design
AWS Germany
 
PDF
Serverless vs. Developers – the real crash
AWS Germany
 
PDF
Query your data in S3 with SQL and optimize for cost and performance
AWS Germany
 
PDF
Secret Management with Hashicorp’s Vault
AWS Germany
 
PDF
EKS Workshop
AWS Germany
 
PDF
Scale to Infinity with ECS
AWS Germany
 
PDF
Containers on AWS - State of the Union
AWS Germany
 
PDF
Deploying and Scaling Your First Cloud Application with Amazon Lightsail
AWS Germany
 
Analytics Web Day | From Theory to Practice: Big Data Stories from the Field
AWS Germany
 
Analytics Web Day | Query your Data in S3 with SQL and optimize for Cost and ...
AWS Germany
 
Modern Applications Web Day | Impress Your Friends with Your First Serverless...
AWS Germany
 
Modern Applications Web Day | Manage Your Infrastructure and Configuration on...
AWS Germany
 
Modern Applications Web Day | Container Workloads on AWS
AWS Germany
 
Modern Applications Web Day | Continuous Delivery to Amazon EKS with Spinnaker
AWS Germany
 
Building Smart Home skills for Alexa
AWS Germany
 
Hotel or Taxi? "Sorting hat" for travel expenses with AWS ML infrastructure
AWS Germany
 
Wild Rydes with Big Data/Kinesis focus: AWS Serverless Workshop
AWS Germany
 
Log Analytics with AWS
AWS Germany
 
Deep Dive into Concepts and Tools for Analyzing Streaming Data on AWS
AWS Germany
 
AWS Programme für Nonprofits
AWS Germany
 
Microservices and Data Design
AWS Germany
 
Serverless vs. Developers – the real crash
AWS Germany
 
Query your data in S3 with SQL and optimize for cost and performance
AWS Germany
 
Secret Management with Hashicorp’s Vault
AWS Germany
 
EKS Workshop
AWS Germany
 
Scale to Infinity with ECS
AWS Germany
 
Containers on AWS - State of the Union
AWS Germany
 
Deploying and Scaling Your First Cloud Application with Amazon Lightsail
AWS Germany
 
Ad

Recently uploaded (20)

PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PPTX
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 

Building and deploying GraphQL Servers with AWS Lambda and Prisma I AWS Dev Day 2018

  • 2. Nikolas Burk 👋 Developer at Graphcool $ whoami @nikolasburk
  • 3. Agenda 1. History & Motivation 2. GraphQL Introduction 3. GraphQL Server Development 4. Demo: Build & Deploy a GraphQL Server 5. Lessons learned
  • 4. History & Motivation How did we get here? @nikolasburk
  • 5. History INFRASTRUCTURE ARCHITECTURE API STANDARD Hardware/VPS Monolith HTML / SOAP Managed service Microservice REST Serverless Functions GraphQL
  • 6. History INFRASTRUCTURE ARCHITECTURE API STANDARD Hardware/VPS Monolith HTML / SOAP Managed service Microservice REST Serverless Functions GraphQL
  • 7. Benefits Microservice Architecture • Layer & component based • Faster development • Decoupled Serverless Infrastructure • Low/zero maintenance • Auto-scaling • Pay-as-you-go GraphQL API ⌛ @nikolasburk
  • 8. GraphQL Introduction …and why developers ❤ it @nikolasburk
  • 9. What’s GraphQL? • New API standard by Facebook • Query language for APIs • Declarative way of fetching & updating data @nikolasburk
  • 10. Mary Mary’s posts: Learn GraphQL Today Why GraphQL is better than REST React & GraphQL - A declarative love story Relay vs Apollo - GraphQL clients Last three followers: John, Alice, Sarah Example: Blogging App
  • 11. Example: Blogging App with REST /users/<id> /users/<id>/posts /users/<id>/followers 3 API endpoints @nikolasburk
  • 12. 1 Fetch user data /users/<id>/users/<id> /users/<id>/posts /users/<id>/followers { “user”: { “id”: “er3tg439frjw” “name”: “Mary”, “address”: { … }, “birthday”: “July 26, 1982” } } HTTP GET Mary Mary’s posts: Last three followers: @nikolasburk
  • 13. 2 /users/<id> /users/<id>/posts /users/<id>/followers Fetch posts HTTP GET { “posts”: [{ “id”: “ncwon3ce89hs” “title”: “Learn GraphQL today”, “content”: “Lorem ipsum … ”, “comments”: [ … ], }, { “id”: “dsifr3as0vds” “title”: “React & GraphQL - A declarative love story”, “content”: “Lorem ipsum … ”, “comments”: [ … ], }, { “id”: “die5odnvls1o” “title”: “Why GraphQL is better than REST”, “content”: “Lorem ipsum … ”, “comments”: [ … ], }, { “id”: “dovmdr3nvl8f” “title”: “Relay vs Apollo - GraphQL clients”, “content”: “Lorem ipsum … ”, “comments”: [ … ], }] } Mary Mary’s posts: Learn GraphQL Today Why GraphQL is better than REST React & GraphQL - A declarative love story Relay vs Apollo - GraphQL clients Last three followers: @nikolasburk
  • 14. /users/<id> /users/<id>/posts /users/<id>/followers HTTP GET { “followers”: [{ “id”: “leo83h2dojsu” “name”: “John”, “address”: { … }, “birthday”: “January 6, 1970” },{ “id”: “die5odnvls1o” “name”: “Alice”, “address”: { … }, “birthday”: “May 1, 1989” }{ “id”: “xsifr3as0vds” “name”: “Sarah”, “address”: { … }, “birthday”: “November 20, 1986” } … ] } Mary Mary’s posts: Learn GraphQL Today Why GraphQL is better than REST React & GraphQL - A declarative love story Relay vs Apollo - GraphQL clients Last three followers: John, Alice, Sarah Fetch followers3 @nikolasburk
  • 15. 1 API endpoint Example: Blogging App with GraphQL @nikolasburk
  • 16. Mary’s posts: Last three followers: Fetch everything with a single request1 HTTP POST query { User(id: “er3tg439frjw”) { name posts { title } followers(last: 3) { name } } } @nikolasburk
  • 17. Mary’s posts: Last three followers: Mary Learn GraphQL Today Why GraphQL is better than REST React & GraphQL - A declarative love story Relay vs Apollo - GraphQL clients John, Alice, Sarah Fetch everything with a single request1 HTTP POST { “data”: { “User”: { “name”: “Mary”, “posts”: [ { title: “Learn GraphQL today” }, { title: “React & GraphQL - A declarative love story” } { title: “Why GraphQL is better than REST” } { title: “Relay vs Apollo - GraphQL Clients” } ], “followers”: [ { name: “John” }, { name: “Alice” }, { name: “Sarah” }, ] } } } @nikolasburk
  • 18. GraphQL Server Development Core concepts & Best practices @nikolasburk
  • 19. 3 parts of a GraphQL server 1. Structure: The GraphQL schema 2. Behaviour: Resolver functions 3. Network Layer: Network, Middleware, …
  • 20. 1) The GraphQL Schema • Strongly typed & written in GraphQL Schema Definition Language (SDL) • Defines API capabilities ( = contract for client-server communication) • Special root types: Query, Mutation, Subscription @nikolasburk
  • 22. Example: CRUD for User type @nikolasburk
  • 23. 2) Resolver functions • Concrete implementation of the API • One resolver function per field in SDL schema • Query execution: Invoke resolvers for all fields in query @nikolasburk
  • 25. Example: CRUD for User type @nikolasburk
  • 26. 3) Network Layer • Based on `graphql-yoga` • Network configuration: port, endpoints, CORS, … • Middleware (analytics, logging, crash reporting,…) @nikolasburk
  • 27. …putting it all together 1) SCHEMA 2) RESOLVERS 3) NETWORK LAYER
  • 28. Demo 🔨 Building & Deploying a GraphQL server @nikolasburk
  • 29. Learn more 💡 https://blog.graph.cool/6da86f346e68 How to build a GraphQL Server with `graphql-yoga` @nikolasburk https://blog.graph.cool/522f2b75a2ac Deploying GraphQL Servers with Apex Up
  • 30. Lessons learned Building & Deploying a GraphQL server @nikolasburk
  • 31. Lessons learned 👍 & 👎 @nikolasburk
  • 32. Benefits and Limitations 👍 • Super fast & easy deployment • Awesome tools like Apex Up • Cost effective 👎 • Can’t handle realtime subscriptions • Alternative: AWS Fargate @nikolasburk
  • 33. Thank you! 🙇 … any questions? @nikolasburk