SlideShare a Scribd company logo
1 of 61
Download to read offline
GraphQL Across
the Stack
How everything fits together
Sashko Stubailo
Open Source Lead, Apollo
@stubailo
The goal of the Apollo team and community:
Make building great
applications simpler and more
straightforward, with GraphQL.
What's in GraphQL?
Best language for data
requirements
Universal schema for
capabilities
Huge ecosystem of
tools
Separation of concerns, not technologies
Client
Data requirements
API
Client
Data requirements
API
Endpoints GraphQL
client
server
We went from separating
HTML and JS to writing
unified components.
GraphQL is a component-
like approach to data.
Describing requirements vs. capabilities:
GraphQL gives frontends and
backends the correct split of
responsibility.
Today's apps can be complex
● Multiple frontends for different platforms
● Multiple backends where data lives
● Need for team coordination across different
languages, technologies, and contexts
Where do GraphQL and Apollo live?
React
Android
iOS
Angular
MongoDB
Oracle
Salesforce
PostgreSQL
Microservice
React
Android
iOS
Angular
MongoDB Oracle
Salesforce
PostgreSQLMicroservice
Vue
client
server
Apollo and GraphQL in 2017
An awesome ecosystem
Apollo Client 2.0
Universal frontend data management
GraphQL servers
in any language
CLIENT
Sends detailed data
requirements
SERVER
Provides flexible,
performant capabilities
The GraphQL Query:
A unit of data fetching
1. Send all of the requirements for a
unit of your UI in one request
2. Server can analyze and optimize
the entire query at once
3. Reduce backend fetches by
batching and caching per-request
Some of the main questions we hear:
1. CACHING
Load less data and save
resources
2. TRANSPARENCY
Understand what's
happening
3. MODULARITY
Combine parts into a
seamless whole
Example 1.
GraphQL result caching
Tradeoffs: GraphQL and caching
● HTTP caching often doesn't
support POST requests, long keys
● Greater request diversity
● GraphQL is transport independent
● Automatically fine-grained cache
control
● Declare it alongside your schema
and resolvers
Current approaches become harder to use, but there are opportunities for next
generation features that leverage GraphQL specifically.
In REST: Cache-Control header
Adding caching to GraphQL: Idea 1
Should it go inside the server?
● DataLoader not ideal for
caching across requests
● Don't want to add complexity to
your GraphQL server
Caching doesn't belong inside.
GraphQL Server Cache?
Backend
Adding caching to GraphQL: Idea 2
Cache outside of the server, both
above and below as necessary.
Keep complexity out of resolvers and
GraphQL schema.
Similar to HTTP infra, caching lives in
a separate layer.
GraphQL Server
Cache
Backend
Cache
A new component in the GraphQL stack
GraphQL Client GraphQL Server
GraphQL
Gateway
Idea: Move infra complexity out of the GraphQL server
Complexity
Apollo Engine
Gateway that mediates between
GraphQL clients and servers
Caching, tracing, and errors designed
specifically for GraphQL
Next version of Optics
apollographql.com/engine
Client ServerGateway
GraphQL result caching
Specifies cache control
info based on the
schema and backends
Reads cache controls,
stores data using
memcached
Client ServerGateway
GraphQL result caching
Complicated infrastructure and
logic lives here, not in the
GraphQL server code.
Client ServerGateway
Full stack caching
Uses controls to inform
client-side data store,
expire data
Specifies cache control
info based on the
schema and backends
Reads cache controls,
caches data using
memcached
Adding to GraphQL without taking away:
GraphQL has a specified place
to add extensions to the result,
next to data and errors.
http://facebook.github.io/graphql/October2016/#sec-Response-Format
ServerGateway
An open specification for GraphQL cache control
Client
Apollo Cache Control
apollographql/apollo-cache-control
Per-path cache hints
query {
post(id: 1) {
title
votes
readByCurrentUser
}
}
{
"data": { ... },
"extensions": {
"cacheControl": {
"version": 1,
"hints": [
{
"path": [
"post"
],
"maxAge": 240
},
{
"path": [
"post",
"votes"
],
"maxAge": 30
},
{
"path": [
"post",
"readByCurrentUser"
],
"scope": "PRIVATE"
}
]
}
}
}
github.com/apollographql/apollo-cache-control-js
Cache control in a GraphQL-focused way
Just like backend fetching, cache control is coupled to
the nature of the data, so it should be defined in the
schema and resolvers.
The final caching behavior you get depends on what data
was required by the client, and can be controlled by
changing the query.
Idea 1:
We can build on GraphQL's
core advantages and
expand them.
Caching in the API and the client
Most people use a caching
GraphQL client library.
If we're already specifying
cache controls for our
gateway, the same info can
be used for the client to
expire data.
Example 2.
Tracing + Errors
Fine-grained data, fine-grained perf
Since your client is asking for data in a detailed way, you should expect to get detailed information
about how your server is working.
/graphql 220.8ms
The first API with fine-grained insights built in
Understand how server perf affects the client
Know what is actually being
used, rather than a
dependency on an opaque
endpoint
Easily figure out which
screen a performance issue
will affect
Actionable data
Not only can you track performance,
but you can fix it on a fine-grained
level! Easy to change what fields the
client is fetching.
query getAppActivityFeed {
app {
_id
activities {
containerId
containerTypeId
containerTypeName
createdAt
featureEnabled
...
}
activityCount
}
}
Client ServerGateway
Tracing + Errors
Declares mapping from
GraphQL queries to UI
components
Collects performance
info from resolvers and
backends
Extracts metrics,
aggregates, samples,
analyzes
Client ServerGateway
Tracing + Errors
Complicated data collection and analysis lives
here, not in the server process. Also understands
caching in the same context.
ServerGateway
An open specification for GraphQL tracing
Client
Client ServerGateway
Devtools
Schema
Editor
integrations
Sketch.app
integration
Message queue
GraphiQL
Continuous
integration
Possibility for a whole world of tool integration.
Idea 2:
GraphQL enables
development tool
integration.
Concept: GraphiQL performance view
Trace
The ecosystem of tools for GraphQL
GraphQL spec is robust and
useful enough to spawn
thousands of companion tools
for every imaginable platform
Let's continue to expand on
those capabilities by building on
specified community standards
Example 3.
Schema Stitching
Correct responsibilities, part 2
GraphQL API
Data description
Service
GraphQL API
Data description
Service
Endpoints GraphQLThis time, we're talking about
communication between the
GraphQL API and the backend
services.
network
Schema Stitching: Before
ServerClient
ServerClient
ServerClient
Schema Stitching: After
Server
ServerClient
Server
Stitcher
launchpad.graphql.com/130rr3r49
Universe + Dark Sky
Jason Lengstorf, IBM
We needed a way to let multiple teams
create, test, and maintain GraphQL data
sources in isolation, but ultimately expose
them all as part of the same /graphql
endpoint on our platform.
ibm.biz/gramps-graphql
Abhi Aiyer, Workpop
We set out to work on a solution that would
combine our graphql services into one
schema. This allows the client to query APIs
across the system without worrying about
the address of any given downstream service.
apollographql.com/docs/graphql-tools/
schema-stitching.html
GraphQL Join by APIs.guru
https://blog.apis.guru/graphql-join-or-how-to-find-all-bars-a
round-graphql-summit-with-a-single-query-e2ebfe27c67c
DEVELOPER EXPERIENCE
Universal API for
the frontends
ARCHITECTURE
Modular, independently
deployed services
Client ServerGateway
Today: Single GraphQL api
Loads data from
GraphQL API
Talks to services
directly and massages
data into the schema
Caching, tracing, and
errors help you
improve your API
Client ServerGateway
Schema Stitching: Initial
Loads data from
GraphQL API, client
data, external sources
Automatically
combines GraphQL
backend services
(Still single codebase)
Helps understand the
complete system:
Tracing, errors
Client Gateway
Schema Stitching: Ideal
Loads data from
GraphQL API, client
data, external sources
Decoupled GraphQL
services describing
their own schema
Central arbiter. Stitches
backends, caches backend
results, and provides
detailed tracing and errors
Server
Server
Server
Stitching across teams
Gateway
User schema
Payment schema
Scheduling schema
Feed schema
Improve collaboration in an enterprise scenario
CLIENT QUERY
Sends detailed data
requirements
SERVER SCHEMA
Provides flexible,
performant capabilities
Conclusion
Continuously improving
1. CACHING
Load less data and save
resources
2. TRANSPARENCY
Understand what's
happening
3. MODULARITY
Combine parts into a
seamless whole
CLIENT
Apollo Client
GATEWAY
Apollo Engine
SERVER
Any GraphQL server
TOOLING
Devtools, editors
CLIENT
Apollo Client
GATEWAY
Apollo Engine
SERVER
Any GraphQL server
TOOLING
Devtools, editors
CACHING
TRACING
ERRORS
STITCHING
CLIENT
Apollo Client
GATEWAY
Apollo Engine
SERVER
Any GraphQL server
TOOLING
Devtools, editors
CACHING
TRACING
ERRORS
STITCHING
CLIENT
Apollo Client
GATEWAY
Apollo Engine
SERVER
Any GraphQL server
TOOLING
Devtools, editors
CACHING
TRACING
ERRORS
STITCHING
The NEXT THING?
What we see:
GraphQL is becoming a
transformative technology.
Taking GraphQL to
its full potential.
That's what we're all about.
Find me on Twitter/Medium/GitHub
@stubailo
Our newly relaunched site and docs
apollographql.com
Let's all build the future of GraphQL together!
apollographql.com/#slack
github.com/apollographql

More Related Content

What's hot

React and GraphQL at Stripe
React and GraphQL at StripeReact and GraphQL at Stripe
React and GraphQL at StripeSashko Stubailo
 
Serverless GraphQL for Product Developers
Serverless GraphQL for Product DevelopersServerless GraphQL for Product Developers
Serverless GraphQL for Product DevelopersSashko Stubailo
 
GraphQL: Enabling a new generation of API developer tools
GraphQL: Enabling a new generation of API developer toolsGraphQL: Enabling a new generation of API developer tools
GraphQL: Enabling a new generation of API developer toolsSashko Stubailo
 
Graphql presentation
Graphql presentationGraphql presentation
Graphql presentationVibhor Grover
 
Taking Control of your Data with GraphQL
Taking Control of your Data with GraphQLTaking Control of your Data with GraphQL
Taking Control of your Data with GraphQLVinci Rufus
 
Into to GraphQL
Into to GraphQLInto to GraphQL
Into to GraphQLshobot
 
An intro to GraphQL
An intro to GraphQLAn intro to GraphQL
An intro to GraphQLvaluebound
 
GraphQL Introduction
GraphQL IntroductionGraphQL Introduction
GraphQL IntroductionSerge Huber
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQLRodrigo Prates
 
REST vs GraphQL
REST vs GraphQLREST vs GraphQL
REST vs GraphQLSquareboat
 
GraphQL London January 2018: Graphql tooling
GraphQL London January 2018: Graphql toolingGraphQL London January 2018: Graphql tooling
GraphQL London January 2018: Graphql toolingSøren Bramer Schmidt
 
Better APIs with GraphQL
Better APIs with GraphQL Better APIs with GraphQL
Better APIs with GraphQL Josh Price
 
Performance optimisation with GraphQL
Performance optimisation with GraphQLPerformance optimisation with GraphQL
Performance optimisation with GraphQLyann_s
 
How to GraphQL
How to GraphQLHow to GraphQL
How to GraphQLTomasz Bak
 

What's hot (20)

React and GraphQL at Stripe
React and GraphQL at StripeReact and GraphQL at Stripe
React and GraphQL at Stripe
 
Serverless GraphQL for Product Developers
Serverless GraphQL for Product DevelopersServerless GraphQL for Product Developers
Serverless GraphQL for Product Developers
 
GraphQL: Enabling a new generation of API developer tools
GraphQL: Enabling a new generation of API developer toolsGraphQL: Enabling a new generation of API developer tools
GraphQL: Enabling a new generation of API developer tools
 
GraphQL + relay
GraphQL + relayGraphQL + relay
GraphQL + relay
 
Graphql presentation
Graphql presentationGraphql presentation
Graphql presentation
 
Taking Control of your Data with GraphQL
Taking Control of your Data with GraphQLTaking Control of your Data with GraphQL
Taking Control of your Data with GraphQL
 
GraphQL
GraphQLGraphQL
GraphQL
 
Graphql
GraphqlGraphql
Graphql
 
Into to GraphQL
Into to GraphQLInto to GraphQL
Into to GraphQL
 
An intro to GraphQL
An intro to GraphQLAn intro to GraphQL
An intro to GraphQL
 
GraphQL Introduction
GraphQL IntroductionGraphQL Introduction
GraphQL Introduction
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQL
 
REST vs GraphQL
REST vs GraphQLREST vs GraphQL
REST vs GraphQL
 
GraphQL London January 2018: Graphql tooling
GraphQL London January 2018: Graphql toolingGraphQL London January 2018: Graphql tooling
GraphQL London January 2018: Graphql tooling
 
GraphQL & Relay
GraphQL & RelayGraphQL & Relay
GraphQL & Relay
 
Better APIs with GraphQL
Better APIs with GraphQL Better APIs with GraphQL
Better APIs with GraphQL
 
Intro to GraphQL
 Intro to GraphQL Intro to GraphQL
Intro to GraphQL
 
Performance optimisation with GraphQL
Performance optimisation with GraphQLPerformance optimisation with GraphQL
Performance optimisation with GraphQL
 
GraphQL
GraphQLGraphQL
GraphQL
 
How to GraphQL
How to GraphQLHow to GraphQL
How to GraphQL
 

Similar to GraphQL across the stack: How everything fits together

How easy (or hard) it is to monitor your graph ql service performance
How easy (or hard) it is to monitor your graph ql service performanceHow easy (or hard) it is to monitor your graph ql service performance
How easy (or hard) it is to monitor your graph ql service performanceLuca Mattia Ferrari
 
Implementing OpenAPI and GraphQL services with gRPC
Implementing OpenAPI and GraphQL services with gRPCImplementing OpenAPI and GraphQL services with gRPC
Implementing OpenAPI and GraphQL services with gRPCTim Burks
 
GraphQL research summary
GraphQL research summaryGraphQL research summary
GraphQL research summaryObjectivity
 
Sashko Stubailo - The GraphQL and Apollo Stack: connecting everything together
Sashko Stubailo - The GraphQL and Apollo Stack: connecting everything togetherSashko Stubailo - The GraphQL and Apollo Stack: connecting everything together
Sashko Stubailo - The GraphQL and Apollo Stack: connecting everything togetherReact Conf Brasil
 
apidays LIVE Paris - GraphQL meshes by Jens Neuse
apidays LIVE Paris - GraphQL meshes by Jens Neuseapidays LIVE Paris - GraphQL meshes by Jens Neuse
apidays LIVE Paris - GraphQL meshes by Jens Neuseapidays
 
Your API on Steroids
Your API on Steroids Your API on Steroids
Your API on Steroids QAware GmbH
 
Graphql for Frontend Developers Simplifying Data Fetching.docx
Graphql for Frontend Developers Simplifying Data Fetching.docxGraphql for Frontend Developers Simplifying Data Fetching.docx
Graphql for Frontend Developers Simplifying Data Fetching.docxssuser5583681
 
GraphQL_devoxx_2023.pptx
GraphQL_devoxx_2023.pptxGraphQL_devoxx_2023.pptx
GraphQL_devoxx_2023.pptxSoham Dasgupta
 
apidays LIVE Australia - Have your cake and eat it too: GraphQL? REST? Why no...
apidays LIVE Australia - Have your cake and eat it too: GraphQL? REST? Why no...apidays LIVE Australia - Have your cake and eat it too: GraphQL? REST? Why no...
apidays LIVE Australia - Have your cake and eat it too: GraphQL? REST? Why no...apidays
 
Create GraphQL server with apolloJS
Create GraphQL server with apolloJSCreate GraphQL server with apolloJS
Create GraphQL server with apolloJSJonathan Jalouzot
 
Exposing GraphQLs as Managed APIs
Exposing GraphQLs as Managed APIsExposing GraphQLs as Managed APIs
Exposing GraphQLs as Managed APIsWSO2
 
GraphQL - A query language to empower your API consumers (NDC Sydney 2017)
GraphQL - A query language to empower your API consumers (NDC Sydney 2017)GraphQL - A query language to empower your API consumers (NDC Sydney 2017)
GraphQL - A query language to empower your API consumers (NDC Sydney 2017)Rob Crowley
 
Camunda GraphQL Extension (09/2017 Berlin)
Camunda GraphQL Extension (09/2017 Berlin)Camunda GraphQL Extension (09/2017 Berlin)
Camunda GraphQL Extension (09/2017 Berlin)Harald J. Loydl
 
API Management for GraphQL
API Management for GraphQLAPI Management for GraphQL
API Management for GraphQLWSO2
 
Scaling Your Team With GraphQL: Why Relationships Matter
Scaling Your Team With GraphQL: Why Relationships MatterScaling Your Team With GraphQL: Why Relationships Matter
Scaling Your Team With GraphQL: Why Relationships MatterJoel Bowen
 
GraphQL and its schema as a universal layer for database access
GraphQL and its schema as a universal layer for database accessGraphQL and its schema as a universal layer for database access
GraphQL and its schema as a universal layer for database accessConnected Data World
 
apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...
apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...
apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...apidays
 
Connecting the Dots: Kong for GraphQL Endpoints
Connecting the Dots: Kong for GraphQL EndpointsConnecting the Dots: Kong for GraphQL Endpoints
Connecting the Dots: Kong for GraphQL EndpointsJulien Bataillé
 
Deploying GraphQL Services as Managed APIs
Deploying GraphQL Services as Managed APIsDeploying GraphQL Services as Managed APIs
Deploying GraphQL Services as Managed APIsWSO2
 

Similar to GraphQL across the stack: How everything fits together (20)

How easy (or hard) it is to monitor your graph ql service performance
How easy (or hard) it is to monitor your graph ql service performanceHow easy (or hard) it is to monitor your graph ql service performance
How easy (or hard) it is to monitor your graph ql service performance
 
Implementing OpenAPI and GraphQL services with gRPC
Implementing OpenAPI and GraphQL services with gRPCImplementing OpenAPI and GraphQL services with gRPC
Implementing OpenAPI and GraphQL services with gRPC
 
GraphQL research summary
GraphQL research summaryGraphQL research summary
GraphQL research summary
 
Sashko Stubailo - The GraphQL and Apollo Stack: connecting everything together
Sashko Stubailo - The GraphQL and Apollo Stack: connecting everything togetherSashko Stubailo - The GraphQL and Apollo Stack: connecting everything together
Sashko Stubailo - The GraphQL and Apollo Stack: connecting everything together
 
apidays LIVE Paris - GraphQL meshes by Jens Neuse
apidays LIVE Paris - GraphQL meshes by Jens Neuseapidays LIVE Paris - GraphQL meshes by Jens Neuse
apidays LIVE Paris - GraphQL meshes by Jens Neuse
 
Your API on Steroids
Your API on Steroids Your API on Steroids
Your API on Steroids
 
Graphql for Frontend Developers Simplifying Data Fetching.docx
Graphql for Frontend Developers Simplifying Data Fetching.docxGraphql for Frontend Developers Simplifying Data Fetching.docx
Graphql for Frontend Developers Simplifying Data Fetching.docx
 
GraphQL_devoxx_2023.pptx
GraphQL_devoxx_2023.pptxGraphQL_devoxx_2023.pptx
GraphQL_devoxx_2023.pptx
 
apidays LIVE Australia - Have your cake and eat it too: GraphQL? REST? Why no...
apidays LIVE Australia - Have your cake and eat it too: GraphQL? REST? Why no...apidays LIVE Australia - Have your cake and eat it too: GraphQL? REST? Why no...
apidays LIVE Australia - Have your cake and eat it too: GraphQL? REST? Why no...
 
Create GraphQL server with apolloJS
Create GraphQL server with apolloJSCreate GraphQL server with apolloJS
Create GraphQL server with apolloJS
 
Exposing GraphQLs as Managed APIs
Exposing GraphQLs as Managed APIsExposing GraphQLs as Managed APIs
Exposing GraphQLs as Managed APIs
 
GraphQL - A query language to empower your API consumers (NDC Sydney 2017)
GraphQL - A query language to empower your API consumers (NDC Sydney 2017)GraphQL - A query language to empower your API consumers (NDC Sydney 2017)
GraphQL - A query language to empower your API consumers (NDC Sydney 2017)
 
Camunda GraphQL Extension (09/2017 Berlin)
Camunda GraphQL Extension (09/2017 Berlin)Camunda GraphQL Extension (09/2017 Berlin)
Camunda GraphQL Extension (09/2017 Berlin)
 
API Management for GraphQL
API Management for GraphQLAPI Management for GraphQL
API Management for GraphQL
 
Scaling Your Team With GraphQL: Why Relationships Matter
Scaling Your Team With GraphQL: Why Relationships MatterScaling Your Team With GraphQL: Why Relationships Matter
Scaling Your Team With GraphQL: Why Relationships Matter
 
Spring GraphQL
Spring GraphQLSpring GraphQL
Spring GraphQL
 
GraphQL and its schema as a universal layer for database access
GraphQL and its schema as a universal layer for database accessGraphQL and its schema as a universal layer for database access
GraphQL and its schema as a universal layer for database access
 
apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...
apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...
apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...
 
Connecting the Dots: Kong for GraphQL Endpoints
Connecting the Dots: Kong for GraphQL EndpointsConnecting the Dots: Kong for GraphQL Endpoints
Connecting the Dots: Kong for GraphQL Endpoints
 
Deploying GraphQL Services as Managed APIs
Deploying GraphQL Services as Managed APIsDeploying GraphQL Services as Managed APIs
Deploying GraphQL Services as Managed APIs
 

Recently uploaded

renewable energy renewable energy renewable energy renewable energy
renewable energy renewable energy renewable energy  renewable energyrenewable energy renewable energy renewable energy  renewable energy
renewable energy renewable energy renewable energy renewable energyjeyasrig
 
Flutter the Future of Mobile App Development - 5 Crucial Reasons.pdf
Flutter the Future of Mobile App Development - 5 Crucial Reasons.pdfFlutter the Future of Mobile App Development - 5 Crucial Reasons.pdf
Flutter the Future of Mobile App Development - 5 Crucial Reasons.pdfMind IT Systems
 
BATbern52 Swisscom's Journey into Data Mesh
BATbern52 Swisscom's Journey into Data MeshBATbern52 Swisscom's Journey into Data Mesh
BATbern52 Swisscom's Journey into Data MeshBATbern
 
Boost Efficiency: Sabre API Integration Made Easy
Boost Efficiency: Sabre API Integration Made EasyBoost Efficiency: Sabre API Integration Made Easy
Boost Efficiency: Sabre API Integration Made Easymichealwillson701
 
Leveling Up your Branding and Mastering MERN: Fullstack WebDev
Leveling Up your Branding and Mastering MERN: Fullstack WebDevLeveling Up your Branding and Mastering MERN: Fullstack WebDev
Leveling Up your Branding and Mastering MERN: Fullstack WebDevpmgdscunsri
 
VuNet software organisation powerpoint deck
VuNet software organisation powerpoint deckVuNet software organisation powerpoint deck
VuNet software organisation powerpoint deckNaval Singh
 
03.2024_North America VMUG Optimizing RevOps using the power of ChatGPT in Ma...
03.2024_North America VMUG Optimizing RevOps using the power of ChatGPT in Ma...03.2024_North America VMUG Optimizing RevOps using the power of ChatGPT in Ma...
03.2024_North America VMUG Optimizing RevOps using the power of ChatGPT in Ma...jackiepotts6
 
Large Scale Architecture -- The Unreasonable Effectiveness of Simplicity
Large Scale Architecture -- The Unreasonable Effectiveness of SimplicityLarge Scale Architecture -- The Unreasonable Effectiveness of Simplicity
Large Scale Architecture -- The Unreasonable Effectiveness of SimplicityRandy Shoup
 
Steps to Successfully Hire Ionic Developers
Steps to Successfully Hire Ionic DevelopersSteps to Successfully Hire Ionic Developers
Steps to Successfully Hire Ionic Developersmichealwillson701
 
MinionLabs_Mr. Gokul Srinivas_Young Entrepreneur
MinionLabs_Mr. Gokul Srinivas_Young EntrepreneurMinionLabs_Mr. Gokul Srinivas_Young Entrepreneur
MinionLabs_Mr. Gokul Srinivas_Young EntrepreneurPriyadarshini T
 
CYBER SECURITY AND CYBER CRIME COMPLETE GUIDE.pLptx
CYBER SECURITY AND CYBER CRIME COMPLETE GUIDE.pLptxCYBER SECURITY AND CYBER CRIME COMPLETE GUIDE.pLptx
CYBER SECURITY AND CYBER CRIME COMPLETE GUIDE.pLptxBarakaMuyengi
 
Splashtop Enterprise Brochure - Remote Computer Access and Remote Support Sof...
Splashtop Enterprise Brochure - Remote Computer Access and Remote Support Sof...Splashtop Enterprise Brochure - Remote Computer Access and Remote Support Sof...
Splashtop Enterprise Brochure - Remote Computer Access and Remote Support Sof...Splashtop Inc
 
Unlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsUnlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsconfluent
 
Building Generative AI-infused apps: what's possible and how to start
Building Generative AI-infused apps: what's possible and how to startBuilding Generative AI-infused apps: what's possible and how to start
Building Generative AI-infused apps: what's possible and how to startMaxim Salnikov
 
openEuler Community Overview - a presentation showing the current scale
openEuler Community Overview - a presentation showing the current scaleopenEuler Community Overview - a presentation showing the current scale
openEuler Community Overview - a presentation showing the current scaleShane Coughlan
 
Mobile App Development company Houston
Mobile  App  Development  company HoustonMobile  App  Development  company Houston
Mobile App Development company Houstonjennysmithusa549
 
8 key point on optimizing web hosting services in your business.pdf
8 key point on optimizing web hosting services in your business.pdf8 key point on optimizing web hosting services in your business.pdf
8 key point on optimizing web hosting services in your business.pdfOffsiteNOC
 
Technical improvements. Reasons. Methods. Estimations. CJ
Technical improvements.  Reasons. Methods. Estimations. CJTechnical improvements.  Reasons. Methods. Estimations. CJ
Technical improvements. Reasons. Methods. Estimations. CJpolinaucc
 
Einstein Copilot Conversational AI for your CRM.pdf
Einstein Copilot Conversational AI for your CRM.pdfEinstein Copilot Conversational AI for your CRM.pdf
Einstein Copilot Conversational AI for your CRM.pdfCloudMetic
 

Recently uploaded (20)

renewable energy renewable energy renewable energy renewable energy
renewable energy renewable energy renewable energy  renewable energyrenewable energy renewable energy renewable energy  renewable energy
renewable energy renewable energy renewable energy renewable energy
 
Flutter the Future of Mobile App Development - 5 Crucial Reasons.pdf
Flutter the Future of Mobile App Development - 5 Crucial Reasons.pdfFlutter the Future of Mobile App Development - 5 Crucial Reasons.pdf
Flutter the Future of Mobile App Development - 5 Crucial Reasons.pdf
 
BATbern52 Swisscom's Journey into Data Mesh
BATbern52 Swisscom's Journey into Data MeshBATbern52 Swisscom's Journey into Data Mesh
BATbern52 Swisscom's Journey into Data Mesh
 
Boost Efficiency: Sabre API Integration Made Easy
Boost Efficiency: Sabre API Integration Made EasyBoost Efficiency: Sabre API Integration Made Easy
Boost Efficiency: Sabre API Integration Made Easy
 
Leveling Up your Branding and Mastering MERN: Fullstack WebDev
Leveling Up your Branding and Mastering MERN: Fullstack WebDevLeveling Up your Branding and Mastering MERN: Fullstack WebDev
Leveling Up your Branding and Mastering MERN: Fullstack WebDev
 
VuNet software organisation powerpoint deck
VuNet software organisation powerpoint deckVuNet software organisation powerpoint deck
VuNet software organisation powerpoint deck
 
03.2024_North America VMUG Optimizing RevOps using the power of ChatGPT in Ma...
03.2024_North America VMUG Optimizing RevOps using the power of ChatGPT in Ma...03.2024_North America VMUG Optimizing RevOps using the power of ChatGPT in Ma...
03.2024_North America VMUG Optimizing RevOps using the power of ChatGPT in Ma...
 
Large Scale Architecture -- The Unreasonable Effectiveness of Simplicity
Large Scale Architecture -- The Unreasonable Effectiveness of SimplicityLarge Scale Architecture -- The Unreasonable Effectiveness of Simplicity
Large Scale Architecture -- The Unreasonable Effectiveness of Simplicity
 
Steps to Successfully Hire Ionic Developers
Steps to Successfully Hire Ionic DevelopersSteps to Successfully Hire Ionic Developers
Steps to Successfully Hire Ionic Developers
 
MinionLabs_Mr. Gokul Srinivas_Young Entrepreneur
MinionLabs_Mr. Gokul Srinivas_Young EntrepreneurMinionLabs_Mr. Gokul Srinivas_Young Entrepreneur
MinionLabs_Mr. Gokul Srinivas_Young Entrepreneur
 
CYBER SECURITY AND CYBER CRIME COMPLETE GUIDE.pLptx
CYBER SECURITY AND CYBER CRIME COMPLETE GUIDE.pLptxCYBER SECURITY AND CYBER CRIME COMPLETE GUIDE.pLptx
CYBER SECURITY AND CYBER CRIME COMPLETE GUIDE.pLptx
 
20140812 - OBD2 Solution
20140812 - OBD2 Solution20140812 - OBD2 Solution
20140812 - OBD2 Solution
 
Splashtop Enterprise Brochure - Remote Computer Access and Remote Support Sof...
Splashtop Enterprise Brochure - Remote Computer Access and Remote Support Sof...Splashtop Enterprise Brochure - Remote Computer Access and Remote Support Sof...
Splashtop Enterprise Brochure - Remote Computer Access and Remote Support Sof...
 
Unlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsUnlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insights
 
Building Generative AI-infused apps: what's possible and how to start
Building Generative AI-infused apps: what's possible and how to startBuilding Generative AI-infused apps: what's possible and how to start
Building Generative AI-infused apps: what's possible and how to start
 
openEuler Community Overview - a presentation showing the current scale
openEuler Community Overview - a presentation showing the current scaleopenEuler Community Overview - a presentation showing the current scale
openEuler Community Overview - a presentation showing the current scale
 
Mobile App Development company Houston
Mobile  App  Development  company HoustonMobile  App  Development  company Houston
Mobile App Development company Houston
 
8 key point on optimizing web hosting services in your business.pdf
8 key point on optimizing web hosting services in your business.pdf8 key point on optimizing web hosting services in your business.pdf
8 key point on optimizing web hosting services in your business.pdf
 
Technical improvements. Reasons. Methods. Estimations. CJ
Technical improvements.  Reasons. Methods. Estimations. CJTechnical improvements.  Reasons. Methods. Estimations. CJ
Technical improvements. Reasons. Methods. Estimations. CJ
 
Einstein Copilot Conversational AI for your CRM.pdf
Einstein Copilot Conversational AI for your CRM.pdfEinstein Copilot Conversational AI for your CRM.pdf
Einstein Copilot Conversational AI for your CRM.pdf
 

GraphQL across the stack: How everything fits together