SlideShare a Scribd company logo
1 of 57
Download to read offline
© 2019, Amazon Web Services, Inc. or its Affiliates.
Marcia Villalba – AWS Technical Evangelist
@mavi888uy
Serverless 🧡 GraphQL
A match made in heaven
Highload fwdays’19 – 5th Oct 2019
© 2019, Amazon Web Services, Inc. or its Affiliates.
About me
AWS since September 2019
Coding for more than 15 years
Serverless since 2016
Content creator
Before AWS I was working in gaming
© 2019, Amazon Web Services, Inc. or its Affiliates.
Speed to market
GraphQL? Serverless? 🤔
© 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates.
Serverless
Brief introduction
© 2019, Amazon Web Services, Inc. or its Affiliates.
Serverless promises
No managing infrastructure High availability built in
Pay for what you useScales automagically
© 2019, Amazon Web Services, Inc. or its Affiliates.
Serverless
Backend as a service
(BAAS)
Function as a service
(FAAS)
© 2019, Amazon Web Services, Inc. or its Affiliates.
AWS Buildings blocks for serverless applications
Compute Storage Databases
API management Messaging Analytics
Orchestration Monitoring User Management
API Gateway
AWS Lambda
AppSync
Step functions Event Brigde
Amazon S3
Amazon SNS Amazon SQS
CloudWatch
DynamoDB
Amazon Kinesis Amazon Athena
Amazon Cognito
© 2019, Amazon Web Services, Inc. or its Affiliates.
What is GraphQL?
Let’s talk about the most important concepts
© 2019, Amazon Web Services, Inc. or its Affiliates.
GraphQL is a specification
Not a framework
Not a database
Not a server
© 2019, Amazon Web Services, Inc. or its Affiliates.
© 2019, Amazon Web Services, Inc. or its Affiliates.
© 2019, Amazon Web Services, Inc. or its Affiliates.
Graphql schema
Describe all the data the
client has available and what
the client can do using a type
system
© 2019, Amazon Web Services, Inc. or its Affiliates.
© 2019, Amazon Web Services, Inc. or its Affiliates.
Graphql characteristics
Ask for what you need an get
exactly that.
No over fetching
© 2019, Amazon Web Services, Inc. or its Affiliates.
Graphql characteristics
Get many resources in one request.
No under fetching
© 2019, Amazon Web Services, Inc. or its Affiliates.
Graphql characteristics
Evolve your API without
versions
© 2019, Amazon Web Services, Inc. or its Affiliates.
Graphql - Characteristics
Connect to multiple
datasources Heroes database
Planets HTTP service
Species non relational
database
© 2019, Amazon Web Services, Inc. or its Affiliates.
What are datasources?
• A Database
• Another service with an API
• A HTTP request that return data
• A call to a search service
• Can be anything!
© 2019, Amazon Web Services, Inc. or its Affiliates.
GraphQL query language
© 2019, Amazon Web Services, Inc. or its Affiliates.
Graphql – Query Language
Everything is a type
Fields can be scalar or other types
© 2019, Amazon Web Services, Inc. or its Affiliates.
Graphql – Query Language
There are special types
© 2019, Amazon Web Services, Inc. or its Affiliates.
Graphql – Query Language
Entry point to the graphql query
© 2019, Amazon Web Services, Inc. or its Affiliates.
Graphql – Query Language
The client can write a query like this And get exactly what it needs
© 2019, Amazon Web Services, Inc. or its Affiliates.
Graphql – Query Language
Very complete language
Read more about it here: https://graphql.org/learn/
© 2019, Amazon Web Services, Inc. or its Affiliates.
How GraphQL works?
© 2019, Amazon Web Services, Inc. or its Affiliates.
How GraphQL works?
Client
GraphQL
SQL datasource
1.
Create the schema.
Describe all the available types and
operations
© 2019, Amazon Web Services, Inc. or its Affiliates.
How GraphQL works?
Client
GraphQL
SQL datasource
2.
Define all your resolvers, to be able
to serve all the operations defined in
the schema
© 2019, Amazon Web Services, Inc. or its Affiliates.
How GraphQL works?
Client
GraphQL
SQL datasource
3.
The client makes a request
© 2019, Amazon Web Services, Inc. or its Affiliates.
How GraphQL works?
Client
GraphQL
SQL datasource
4.
GraphQL uses the request resolver to
translate the client query and get
data from the datasource Translate GraphQL query into
SELECT video_id, video_name FROM videos
© 2019, Amazon Web Services, Inc. or its Affiliates.
How GraphQL works?
Client
GraphQL
SQL datasource
5.
GraphQL uses the response resolver
to return data from the datasource
to the client
In this case the resolver will
translate SQL into JSON
© 2019, Amazon Web Services, Inc. or its Affiliates.
How GraphQL works?
Client
GraphQL
SQL datasource
6.
GraphQL returns the JSON response
to the client
© 2019, Amazon Web Services, Inc. or its Affiliates.
GraphQL
or REST
© 2019, Amazon Web Services, Inc. or its Affiliates.
So when to use GraphQL?
- Creating a single entry point for your clients
Client
GraphQL
Orders service
Customers service
Product service
© 2019, Amazon Web Services, Inc. or its Affiliates.
So when to use GraphQL?
- When you want to add more functionality to an old service
Client
GraphQL
Old customers service
© 2019, Amazon Web Services, Inc. or its Affiliates.
So when to use GraphQL?
- When you want to simplify a complex API
Client
GraphQL
Very complex API
© 2019, Amazon Web Services, Inc. or its Affiliates.
Implementing GraphQL
Implement your own GraphQL server
Use an existing GraphQL server library
Use an existing GraphQL platform
© 2019, Amazon Web Services, Inc. or its Affiliates.
Existing GraphQL platforms
Apollo Platform (https://www.apollographql.com/platform/)
GraphCMS (https://graphcms.com/)
GraphCool (https://www.graph.cool/)
AppSync (https://aws.amazon.com/appsync/)
© 2019, Amazon Web Services, Inc. or its Affiliates.
AWS AppSync
Serverless GraphQL platform
© 2019, Amazon Web Services, Inc. or its Affiliates.
Appsync
AWS AppSync is a managed service for application data using GraphQL
with real-time capabilities and offline programming model
Real time Offline support Support for many
different Databases
Fine grained access
control
© 2019, Amazon Web Services, Inc. or its Affiliates.
AppSync Security
- API KEY authorization
- Amazon Cognito User Pools authorization
- OPEN ID Connect Authorization
- AWS IAM
- Fine grained access control
© 2019, Amazon Web Services, Inc. or its Affiliates.
AppSync Datasources
- Amazon DynamoDB
- AWS Lambda
- Amazon Elastic Search
- Amazon Aurora
- HTTP services
© 2019, Amazon Web Services, Inc. or its Affiliates.
AppSync Resolvers
- A resolver must be attached for every operation
- Velocity template language (VTL)
- Takes requests as inputs and outputs a JSON document containing
the instructions to the data source
- VTL allows quite complex operations over the data – loops,
conditions, filters.
© 2019, Amazon Web Services, Inc. or its Affiliates.
How Appsync works?
Creates a schema
© 2019, Amazon Web Services, Inc. or its Affiliates.
How Appsync works?
Connect to different
datasources
Creates a schema
© 2019, Amazon Web Services, Inc. or its Affiliates.
How Appsync works?
Connect to different
datasources
Creates a schema
Updates data in real time
in different devices
© 2019, Amazon Web Services, Inc. or its Affiliates.
Customer story using Appsync??
© 2019, Amazon Web Services, Inc. or its Affiliates.
© 2019, Amazon Web Services, Inc. or its Affiliates.
Infrastructure as code
• AWS Cloudformation
• Serverless Framework
• Serverless Framework plugin for AppSync
(https://github.com/sid88in/serverless-appsync-plugin)
© 2019, Amazon Web Services, Inc. or its Affiliates.
AWS Cloud
Client
AWS
AppSync
AWS
Lambda
Amazon
DynamoDB
VLT mappers
for request
and response
VLT mappers
for request
and response
© 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates.
© 2019, Amazon Web Services, Inc. or its Affiliates.
© 2019, Amazon Web Services, Inc. or its Affiliates.
How the client uses this?
• AWS Amplify
• Client library for building cloud apps
• More info: https://aws-amplify.github.io/docs/js/api#aws-appsync-
sdk
© 2019, Amazon Web Services, Inc. or its Affiliates.
Configure the client
© 2019, Amazon Web Services, Inc. or its Affiliates.
Run a Query
© 2019, Amazon Web Services, Inc. or its Affiliates.
Best practices when working with AppSync
- Think about how to implement search
- Be careful when doing a lot of HTTP requests
- Use as much VLT resolvers as possible
- Use subscriptions appropriately
- Paginate your large responses
© 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates.
Q&AMarcia Villalba
AWS Loft in Kyiv
14-18 October
https://aws-loft.provectus.com
Marcia Villalba
@mavi888uy
Practical examples on AppSync and more on
serverless
https://www.youtube.com/foobar_codes
© 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates.
Thank you!
Marcia Villalba
@mavi888uy
AWS Loft in Kyiv
14-18 October
https://aws-loft.provectus.com
Practical examples on AppSync and more on
serverless
https://www.youtube.com/foobar_codes

More Related Content

What's hot

Listen to Your Customers' Social Voice & Engage Them with Delightful Experien...
Listen to Your Customers' Social Voice & Engage Them with Delightful Experien...Listen to Your Customers' Social Voice & Engage Them with Delightful Experien...
Listen to Your Customers' Social Voice & Engage Them with Delightful Experien...Amazon Web Services
 
Nader Dabit - Connecting Mobile & Web Applications to AWS AppSync.pdf
Nader Dabit -  Connecting Mobile & Web Applications to AWS AppSync.pdfNader Dabit -  Connecting Mobile & Web Applications to AWS AppSync.pdf
Nader Dabit - Connecting Mobile & Web Applications to AWS AppSync.pdfAmazon Web Services
 
SRV322 Increase the Value of Video with ML & Media Services
 SRV322 Increase the Value of Video with ML & Media Services SRV322 Increase the Value of Video with ML & Media Services
SRV322 Increase the Value of Video with ML & Media ServicesAmazon Web Services
 
AWS Serverless Interface Building and Cerner's FHIR Experience (HLC401) - AWS...
AWS Serverless Interface Building and Cerner's FHIR Experience (HLC401) - AWS...AWS Serverless Interface Building and Cerner's FHIR Experience (HLC401) - AWS...
AWS Serverless Interface Building and Cerner's FHIR Experience (HLC401) - AWS...Amazon Web Services
 
Transforming Computational Fluid Dynamics (CFD) with GPUs on AWS (CMP327) - A...
Transforming Computational Fluid Dynamics (CFD) with GPUs on AWS (CMP327) - A...Transforming Computational Fluid Dynamics (CFD) with GPUs on AWS (CMP327) - A...
Transforming Computational Fluid Dynamics (CFD) with GPUs on AWS (CMP327) - A...Amazon Web Services
 
Data Lake Patterns for Voice, Vision, Advanced Analytics, & ML Using Serverle...
Data Lake Patterns for Voice, Vision, Advanced Analytics, & ML Using Serverle...Data Lake Patterns for Voice, Vision, Advanced Analytics, & ML Using Serverle...
Data Lake Patterns for Voice, Vision, Advanced Analytics, & ML Using Serverle...Amazon Web Services
 
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...Amazon Web Services
 
Testing Your App Before Launch: An Introduction to AWS Device Farm
Testing Your App Before Launch: An Introduction to AWS Device FarmTesting Your App Before Launch: An Introduction to AWS Device Farm
Testing Your App Before Launch: An Introduction to AWS Device FarmAmazon Web Services
 
運用 AWS Edge Services 作為遊戲行業的關鍵基礎設施元件 (Level 200)
運用 AWS Edge Services 作為遊戲行業的關鍵基礎設施元件 (Level 200)運用 AWS Edge Services 作為遊戲行業的關鍵基礎設施元件 (Level 200)
運用 AWS Edge Services 作為遊戲行業的關鍵基礎設施元件 (Level 200)Amazon Web Services
 
Leadership Session: AWS Automotive - Paving the Way for the Future of the Aut...
Leadership Session: AWS Automotive - Paving the Way for the Future of the Aut...Leadership Session: AWS Automotive - Paving the Way for the Future of the Aut...
Leadership Session: AWS Automotive - Paving the Way for the Future of the Aut...Amazon Web Services
 
Building your First GraphQL API with AWS AppSync
Building your First GraphQL API with AWS AppSyncBuilding your First GraphQL API with AWS AppSync
Building your First GraphQL API with AWS AppSyncAmazon Web Services
 
Lessons Learned from Building an AWS Service on AWS Lambda (SRV327-R1) - AWS ...
Lessons Learned from Building an AWS Service on AWS Lambda (SRV327-R1) - AWS ...Lessons Learned from Building an AWS Service on AWS Lambda (SRV327-R1) - AWS ...
Lessons Learned from Building an AWS Service on AWS Lambda (SRV327-R1) - AWS ...Amazon Web Services
 
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...Amazon Web Services
 
Websites go Serverless - AWS Summit Berlin
Websites go Serverless - AWS Summit BerlinWebsites go Serverless - AWS Summit Berlin
Websites go Serverless - AWS Summit BerlinBoaz Ziniman
 
Serverless State Management & Orchestration for Modern Apps (API302) - AWS re...
Serverless State Management & Orchestration for Modern Apps (API302) - AWS re...Serverless State Management & Orchestration for Modern Apps (API302) - AWS re...
Serverless State Management & Orchestration for Modern Apps (API302) - AWS re...Amazon Web Services
 
Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...
Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...
Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...Amazon Web Services
 
Get the Most out of Your Elastic Load Balancer for Different Workloads (NET31...
Get the Most out of Your Elastic Load Balancer for Different Workloads (NET31...Get the Most out of Your Elastic Load Balancer for Different Workloads (NET31...
Get the Most out of Your Elastic Load Balancer for Different Workloads (NET31...Amazon Web Services
 
Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...
Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...
Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...Amazon Web Services
 
How Trek10 Uses Datadog's Distributed Tracing to Improve AWS Lambda Projects ...
How Trek10 Uses Datadog's Distributed Tracing to Improve AWS Lambda Projects ...How Trek10 Uses Datadog's Distributed Tracing to Improve AWS Lambda Projects ...
How Trek10 Uses Datadog's Distributed Tracing to Improve AWS Lambda Projects ...Amazon Web Services
 
Building Mobile Apps with AWS Amplify - Nader Dabit
Building Mobile Apps with AWS Amplify - Nader DabitBuilding Mobile Apps with AWS Amplify - Nader Dabit
Building Mobile Apps with AWS Amplify - Nader DabitAmazon Web Services
 

What's hot (20)

Listen to Your Customers' Social Voice & Engage Them with Delightful Experien...
Listen to Your Customers' Social Voice & Engage Them with Delightful Experien...Listen to Your Customers' Social Voice & Engage Them with Delightful Experien...
Listen to Your Customers' Social Voice & Engage Them with Delightful Experien...
 
Nader Dabit - Connecting Mobile & Web Applications to AWS AppSync.pdf
Nader Dabit -  Connecting Mobile & Web Applications to AWS AppSync.pdfNader Dabit -  Connecting Mobile & Web Applications to AWS AppSync.pdf
Nader Dabit - Connecting Mobile & Web Applications to AWS AppSync.pdf
 
SRV322 Increase the Value of Video with ML & Media Services
 SRV322 Increase the Value of Video with ML & Media Services SRV322 Increase the Value of Video with ML & Media Services
SRV322 Increase the Value of Video with ML & Media Services
 
AWS Serverless Interface Building and Cerner's FHIR Experience (HLC401) - AWS...
AWS Serverless Interface Building and Cerner's FHIR Experience (HLC401) - AWS...AWS Serverless Interface Building and Cerner's FHIR Experience (HLC401) - AWS...
AWS Serverless Interface Building and Cerner's FHIR Experience (HLC401) - AWS...
 
Transforming Computational Fluid Dynamics (CFD) with GPUs on AWS (CMP327) - A...
Transforming Computational Fluid Dynamics (CFD) with GPUs on AWS (CMP327) - A...Transforming Computational Fluid Dynamics (CFD) with GPUs on AWS (CMP327) - A...
Transforming Computational Fluid Dynamics (CFD) with GPUs on AWS (CMP327) - A...
 
Data Lake Patterns for Voice, Vision, Advanced Analytics, & ML Using Serverle...
Data Lake Patterns for Voice, Vision, Advanced Analytics, & ML Using Serverle...Data Lake Patterns for Voice, Vision, Advanced Analytics, & ML Using Serverle...
Data Lake Patterns for Voice, Vision, Advanced Analytics, & ML Using Serverle...
 
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
 
Testing Your App Before Launch: An Introduction to AWS Device Farm
Testing Your App Before Launch: An Introduction to AWS Device FarmTesting Your App Before Launch: An Introduction to AWS Device Farm
Testing Your App Before Launch: An Introduction to AWS Device Farm
 
運用 AWS Edge Services 作為遊戲行業的關鍵基礎設施元件 (Level 200)
運用 AWS Edge Services 作為遊戲行業的關鍵基礎設施元件 (Level 200)運用 AWS Edge Services 作為遊戲行業的關鍵基礎設施元件 (Level 200)
運用 AWS Edge Services 作為遊戲行業的關鍵基礎設施元件 (Level 200)
 
Leadership Session: AWS Automotive - Paving the Way for the Future of the Aut...
Leadership Session: AWS Automotive - Paving the Way for the Future of the Aut...Leadership Session: AWS Automotive - Paving the Way for the Future of the Aut...
Leadership Session: AWS Automotive - Paving the Way for the Future of the Aut...
 
Building your First GraphQL API with AWS AppSync
Building your First GraphQL API with AWS AppSyncBuilding your First GraphQL API with AWS AppSync
Building your First GraphQL API with AWS AppSync
 
Lessons Learned from Building an AWS Service on AWS Lambda (SRV327-R1) - AWS ...
Lessons Learned from Building an AWS Service on AWS Lambda (SRV327-R1) - AWS ...Lessons Learned from Building an AWS Service on AWS Lambda (SRV327-R1) - AWS ...
Lessons Learned from Building an AWS Service on AWS Lambda (SRV327-R1) - AWS ...
 
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...
 
Websites go Serverless - AWS Summit Berlin
Websites go Serverless - AWS Summit BerlinWebsites go Serverless - AWS Summit Berlin
Websites go Serverless - AWS Summit Berlin
 
Serverless State Management & Orchestration for Modern Apps (API302) - AWS re...
Serverless State Management & Orchestration for Modern Apps (API302) - AWS re...Serverless State Management & Orchestration for Modern Apps (API302) - AWS re...
Serverless State Management & Orchestration for Modern Apps (API302) - AWS re...
 
Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...
Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...
Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...
 
Get the Most out of Your Elastic Load Balancer for Different Workloads (NET31...
Get the Most out of Your Elastic Load Balancer for Different Workloads (NET31...Get the Most out of Your Elastic Load Balancer for Different Workloads (NET31...
Get the Most out of Your Elastic Load Balancer for Different Workloads (NET31...
 
Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...
Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...
Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...
 
How Trek10 Uses Datadog's Distributed Tracing to Improve AWS Lambda Projects ...
How Trek10 Uses Datadog's Distributed Tracing to Improve AWS Lambda Projects ...How Trek10 Uses Datadog's Distributed Tracing to Improve AWS Lambda Projects ...
How Trek10 Uses Datadog's Distributed Tracing to Improve AWS Lambda Projects ...
 
Building Mobile Apps with AWS Amplify - Nader Dabit
Building Mobile Apps with AWS Amplify - Nader DabitBuilding Mobile Apps with AWS Amplify - Nader Dabit
Building Mobile Apps with AWS Amplify - Nader Dabit
 

Similar to Marcia Villalba "Developing Serverless Applications with GraphQL"

AWS Stockholm Summit 19- Building serverless applications with GraphQL
AWS Stockholm Summit 19- Building serverless applications with GraphQLAWS Stockholm Summit 19- Building serverless applications with GraphQL
AWS Stockholm Summit 19- Building serverless applications with GraphQLMarcia Villalba
 
GraphQL backend with AWS AppSync & AWS Lambda
GraphQL backend with AWS AppSync & AWS LambdaGraphQL backend with AWS AppSync & AWS Lambda
GraphQL backend with AWS AppSync & AWS LambdaAleksandr Maklakov
 
"Integrate your front end apps with serverless backend in the cloud", Sebasti...
"Integrate your front end apps with serverless backend in the cloud", Sebasti..."Integrate your front end apps with serverless backend in the cloud", Sebasti...
"Integrate your front end apps with serverless backend in the cloud", Sebasti...Provectus
 
Cloud Backend for Real-time Applications
Cloud Backend for Real-time ApplicationsCloud Backend for Real-time Applications
Cloud Backend for Real-time ApplicationsAmazon Web Services
 
AWS Meetup Brussels 3rd Sep 2019 Simplify Frontend Apps with Serverless Backends
AWS Meetup Brussels 3rd Sep 2019 Simplify Frontend Apps with Serverless BackendsAWS Meetup Brussels 3rd Sep 2019 Simplify Frontend Apps with Serverless Backends
AWS Meetup Brussels 3rd Sep 2019 Simplify Frontend Apps with Serverless BackendsPatrick Sard
 
"How to build real-time backends", Martin Beeby, AWS Dev Day Kyiv 2019
"How to build real-time backends", Martin Beeby, AWS Dev Day Kyiv 2019"How to build real-time backends", Martin Beeby, AWS Dev Day Kyiv 2019
"How to build real-time backends", Martin Beeby, AWS Dev Day Kyiv 2019Provectus
 
20190821 AWS Black Belt Online Seminar AWS AppSync
20190821 AWS Black Belt Online Seminar AWS AppSync20190821 AWS Black Belt Online Seminar AWS AppSync
20190821 AWS Black Belt Online Seminar AWS AppSyncAmazon Web Services Japan
 
Serverless APIs and you
Serverless APIs and youServerless APIs and you
Serverless APIs and youJames Beswick
 
Serverless <3 GraphQL - AWS UG Tampere 2020
Serverless <3 GraphQL - AWS UG Tampere 2020Serverless <3 GraphQL - AWS UG Tampere 2020
Serverless <3 GraphQL - AWS UG Tampere 2020Marcia Villalba
 
How to build a FullStack Airline Ticketing Web App.pdf
How to build a FullStack Airline Ticketing Web App.pdfHow to build a FullStack Airline Ticketing Web App.pdf
How to build a FullStack Airline Ticketing Web App.pdfAmazon Web Services
 
Simplify your Web & Mobile applications with cloud-based serverless backends
Simplify your Web & Mobile applicationswith cloud-based serverless backendsSimplify your Web & Mobile applicationswith cloud-based serverless backends
Simplify your Web & Mobile applications with cloud-based serverless backendsSébastien ☁ Stormacq
 
Building Modern APIs with GraphQL
Building Modern APIs with GraphQLBuilding Modern APIs with GraphQL
Building Modern APIs with GraphQLAmazon Web Services
 
Introduction to AWS Amplify and the Amplify CLI Toolchain
Introduction to AWS Amplify and the Amplify CLI ToolchainIntroduction to AWS Amplify and the Amplify CLI Toolchain
Introduction to AWS Amplify and the Amplify CLI ToolchainAWS Germany
 
Serverless applications with AWS
Serverless applications with AWSServerless applications with AWS
Serverless applications with AWSjavier ramirez
 
Build secure, offline, real-time-enabled mobile apps - MAD304 - Atlanta AWS S...
Build secure, offline, real-time-enabled mobile apps - MAD304 - Atlanta AWS S...Build secure, offline, real-time-enabled mobile apps - MAD304 - Atlanta AWS S...
Build secure, offline, real-time-enabled mobile apps - MAD304 - Atlanta AWS S...Amazon Web Services
 
Building your first GraphQL API with AWS AppSync
Building your first GraphQL API with AWS AppSyncBuilding your first GraphQL API with AWS AppSync
Building your first GraphQL API with AWS AppSyncAmazon Web Services
 
Nader Dabit - Intro to AWS AppSync.pdf
Nader Dabit - Intro to AWS AppSync.pdfNader Dabit - Intro to AWS AppSync.pdf
Nader Dabit - Intro to AWS AppSync.pdfAmazon Web Services
 
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019AWS Summits
 

Similar to Marcia Villalba "Developing Serverless Applications with GraphQL" (20)

AWS Stockholm Summit 19- Building serverless applications with GraphQL
AWS Stockholm Summit 19- Building serverless applications with GraphQLAWS Stockholm Summit 19- Building serverless applications with GraphQL
AWS Stockholm Summit 19- Building serverless applications with GraphQL
 
GraphQL backend with AWS AppSync & AWS Lambda
GraphQL backend with AWS AppSync & AWS LambdaGraphQL backend with AWS AppSync & AWS Lambda
GraphQL backend with AWS AppSync & AWS Lambda
 
Introduzione a GraphQL
Introduzione a GraphQLIntroduzione a GraphQL
Introduzione a GraphQL
 
"Integrate your front end apps with serverless backend in the cloud", Sebasti...
"Integrate your front end apps with serverless backend in the cloud", Sebasti..."Integrate your front end apps with serverless backend in the cloud", Sebasti...
"Integrate your front end apps with serverless backend in the cloud", Sebasti...
 
Cloud Backend for Real-time Applications
Cloud Backend for Real-time ApplicationsCloud Backend for Real-time Applications
Cloud Backend for Real-time Applications
 
AWS Meetup Brussels 3rd Sep 2019 Simplify Frontend Apps with Serverless Backends
AWS Meetup Brussels 3rd Sep 2019 Simplify Frontend Apps with Serverless BackendsAWS Meetup Brussels 3rd Sep 2019 Simplify Frontend Apps with Serverless Backends
AWS Meetup Brussels 3rd Sep 2019 Simplify Frontend Apps with Serverless Backends
 
"How to build real-time backends", Martin Beeby, AWS Dev Day Kyiv 2019
"How to build real-time backends", Martin Beeby, AWS Dev Day Kyiv 2019"How to build real-time backends", Martin Beeby, AWS Dev Day Kyiv 2019
"How to build real-time backends", Martin Beeby, AWS Dev Day Kyiv 2019
 
20190821 AWS Black Belt Online Seminar AWS AppSync
20190821 AWS Black Belt Online Seminar AWS AppSync20190821 AWS Black Belt Online Seminar AWS AppSync
20190821 AWS Black Belt Online Seminar AWS AppSync
 
Serverless APIs and you
Serverless APIs and youServerless APIs and you
Serverless APIs and you
 
Serverless <3 GraphQL - AWS UG Tampere 2020
Serverless <3 GraphQL - AWS UG Tampere 2020Serverless <3 GraphQL - AWS UG Tampere 2020
Serverless <3 GraphQL - AWS UG Tampere 2020
 
How to build a FullStack Airline Ticketing Web App.pdf
How to build a FullStack Airline Ticketing Web App.pdfHow to build a FullStack Airline Ticketing Web App.pdf
How to build a FullStack Airline Ticketing Web App.pdf
 
Simplify your Web & Mobile applications with cloud-based serverless backends
Simplify your Web & Mobile applicationswith cloud-based serverless backendsSimplify your Web & Mobile applicationswith cloud-based serverless backends
Simplify your Web & Mobile applications with cloud-based serverless backends
 
Building Modern APIs with GraphQL
Building Modern APIs with GraphQLBuilding Modern APIs with GraphQL
Building Modern APIs with GraphQL
 
Introduction to AWS Amplify and the Amplify CLI Toolchain
Introduction to AWS Amplify and the Amplify CLI ToolchainIntroduction to AWS Amplify and the Amplify CLI Toolchain
Introduction to AWS Amplify and the Amplify CLI Toolchain
 
Simplify front end apps.pdf
Simplify front end apps.pdfSimplify front end apps.pdf
Simplify front end apps.pdf
 
Serverless applications with AWS
Serverless applications with AWSServerless applications with AWS
Serverless applications with AWS
 
Build secure, offline, real-time-enabled mobile apps - MAD304 - Atlanta AWS S...
Build secure, offline, real-time-enabled mobile apps - MAD304 - Atlanta AWS S...Build secure, offline, real-time-enabled mobile apps - MAD304 - Atlanta AWS S...
Build secure, offline, real-time-enabled mobile apps - MAD304 - Atlanta AWS S...
 
Building your first GraphQL API with AWS AppSync
Building your first GraphQL API with AWS AppSyncBuilding your first GraphQL API with AWS AppSync
Building your first GraphQL API with AWS AppSync
 
Nader Dabit - Intro to AWS AppSync.pdf
Nader Dabit - Intro to AWS AppSync.pdfNader Dabit - Intro to AWS AppSync.pdf
Nader Dabit - Intro to AWS AppSync.pdf
 
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019
 

More from Fwdays

"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y..."How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...Fwdays
 
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil TopchiiFwdays
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro Spodarets"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro SpodaretsFwdays
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
"Distributed graphs and microservices in Prom.ua", Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua", Maksym KindritskyiFwdays
 
"Rethinking the existing data loading and processing process as an ETL exampl...
"Rethinking the existing data loading and processing process as an ETL exampl..."Rethinking the existing data loading and processing process as an ETL exampl...
"Rethinking the existing data loading and processing process as an ETL exampl...Fwdays
 
"How Ukrainian IT specialist can go on vacation abroad without crossing the T...
"How Ukrainian IT specialist can go on vacation abroad without crossing the T..."How Ukrainian IT specialist can go on vacation abroad without crossing the T...
"How Ukrainian IT specialist can go on vacation abroad without crossing the T...Fwdays
 
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ..."The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...Fwdays
 
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu..."[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...Fwdays
 
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care..."[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...Fwdays
 
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"..."4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...Fwdays
 
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout", Anast...
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout",  Anast..."Reconnecting with Purpose: Rediscovering Job Interest after Burnout",  Anast...
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout", Anast...Fwdays
 
"Mentoring 101: How to effectively invest experience in the success of others...
"Mentoring 101: How to effectively invest experience in the success of others..."Mentoring 101: How to effectively invest experience in the success of others...
"Mentoring 101: How to effectively invest experience in the success of others...Fwdays
 
"Mission (im) possible: How to get an offer in 2024?", Oleksandra Myronova
"Mission (im) possible: How to get an offer in 2024?",  Oleksandra Myronova"Mission (im) possible: How to get an offer in 2024?",  Oleksandra Myronova
"Mission (im) possible: How to get an offer in 2024?", Oleksandra MyronovaFwdays
 
"Why have we learned how to package products, but not how to 'package ourselv...
"Why have we learned how to package products, but not how to 'package ourselv..."Why have we learned how to package products, but not how to 'package ourselv...
"Why have we learned how to package products, but not how to 'package ourselv...Fwdays
 
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin..."How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...Fwdays
 

More from Fwdays (20)

"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y..."How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
 
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro Spodarets"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro Spodarets
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
"Distributed graphs and microservices in Prom.ua", Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua", Maksym Kindritskyi
 
"Rethinking the existing data loading and processing process as an ETL exampl...
"Rethinking the existing data loading and processing process as an ETL exampl..."Rethinking the existing data loading and processing process as an ETL exampl...
"Rethinking the existing data loading and processing process as an ETL exampl...
 
"How Ukrainian IT specialist can go on vacation abroad without crossing the T...
"How Ukrainian IT specialist can go on vacation abroad without crossing the T..."How Ukrainian IT specialist can go on vacation abroad without crossing the T...
"How Ukrainian IT specialist can go on vacation abroad without crossing the T...
 
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ..."The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
 
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu..."[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
 
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care..."[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
 
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"..."4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
 
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout", Anast...
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout",  Anast..."Reconnecting with Purpose: Rediscovering Job Interest after Burnout",  Anast...
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout", Anast...
 
"Mentoring 101: How to effectively invest experience in the success of others...
"Mentoring 101: How to effectively invest experience in the success of others..."Mentoring 101: How to effectively invest experience in the success of others...
"Mentoring 101: How to effectively invest experience in the success of others...
 
"Mission (im) possible: How to get an offer in 2024?", Oleksandra Myronova
"Mission (im) possible: How to get an offer in 2024?",  Oleksandra Myronova"Mission (im) possible: How to get an offer in 2024?",  Oleksandra Myronova
"Mission (im) possible: How to get an offer in 2024?", Oleksandra Myronova
 
"Why have we learned how to package products, but not how to 'package ourselv...
"Why have we learned how to package products, but not how to 'package ourselv..."Why have we learned how to package products, but not how to 'package ourselv...
"Why have we learned how to package products, but not how to 'package ourselv...
 
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin..."How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...
 

Recently uploaded

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 

Recently uploaded (20)

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 

Marcia Villalba "Developing Serverless Applications with GraphQL"

  • 1. © 2019, Amazon Web Services, Inc. or its Affiliates. Marcia Villalba – AWS Technical Evangelist @mavi888uy Serverless 🧡 GraphQL A match made in heaven Highload fwdays’19 – 5th Oct 2019
  • 2. © 2019, Amazon Web Services, Inc. or its Affiliates. About me AWS since September 2019 Coding for more than 15 years Serverless since 2016 Content creator Before AWS I was working in gaming
  • 3. © 2019, Amazon Web Services, Inc. or its Affiliates. Speed to market GraphQL? Serverless? 🤔
  • 4. © 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates. Serverless Brief introduction
  • 5. © 2019, Amazon Web Services, Inc. or its Affiliates. Serverless promises No managing infrastructure High availability built in Pay for what you useScales automagically
  • 6. © 2019, Amazon Web Services, Inc. or its Affiliates. Serverless Backend as a service (BAAS) Function as a service (FAAS)
  • 7. © 2019, Amazon Web Services, Inc. or its Affiliates. AWS Buildings blocks for serverless applications Compute Storage Databases API management Messaging Analytics Orchestration Monitoring User Management API Gateway AWS Lambda AppSync Step functions Event Brigde Amazon S3 Amazon SNS Amazon SQS CloudWatch DynamoDB Amazon Kinesis Amazon Athena Amazon Cognito
  • 8. © 2019, Amazon Web Services, Inc. or its Affiliates. What is GraphQL? Let’s talk about the most important concepts
  • 9. © 2019, Amazon Web Services, Inc. or its Affiliates. GraphQL is a specification Not a framework Not a database Not a server
  • 10. © 2019, Amazon Web Services, Inc. or its Affiliates.
  • 11. © 2019, Amazon Web Services, Inc. or its Affiliates.
  • 12. © 2019, Amazon Web Services, Inc. or its Affiliates. Graphql schema Describe all the data the client has available and what the client can do using a type system
  • 13. © 2019, Amazon Web Services, Inc. or its Affiliates.
  • 14. © 2019, Amazon Web Services, Inc. or its Affiliates. Graphql characteristics Ask for what you need an get exactly that. No over fetching
  • 15. © 2019, Amazon Web Services, Inc. or its Affiliates. Graphql characteristics Get many resources in one request. No under fetching
  • 16. © 2019, Amazon Web Services, Inc. or its Affiliates. Graphql characteristics Evolve your API without versions
  • 17. © 2019, Amazon Web Services, Inc. or its Affiliates. Graphql - Characteristics Connect to multiple datasources Heroes database Planets HTTP service Species non relational database
  • 18. © 2019, Amazon Web Services, Inc. or its Affiliates. What are datasources? • A Database • Another service with an API • A HTTP request that return data • A call to a search service • Can be anything!
  • 19. © 2019, Amazon Web Services, Inc. or its Affiliates. GraphQL query language
  • 20. © 2019, Amazon Web Services, Inc. or its Affiliates. Graphql – Query Language Everything is a type Fields can be scalar or other types
  • 21. © 2019, Amazon Web Services, Inc. or its Affiliates. Graphql – Query Language There are special types
  • 22. © 2019, Amazon Web Services, Inc. or its Affiliates. Graphql – Query Language Entry point to the graphql query
  • 23. © 2019, Amazon Web Services, Inc. or its Affiliates. Graphql – Query Language The client can write a query like this And get exactly what it needs
  • 24. © 2019, Amazon Web Services, Inc. or its Affiliates. Graphql – Query Language Very complete language Read more about it here: https://graphql.org/learn/
  • 25. © 2019, Amazon Web Services, Inc. or its Affiliates. How GraphQL works?
  • 26. © 2019, Amazon Web Services, Inc. or its Affiliates. How GraphQL works? Client GraphQL SQL datasource 1. Create the schema. Describe all the available types and operations
  • 27. © 2019, Amazon Web Services, Inc. or its Affiliates. How GraphQL works? Client GraphQL SQL datasource 2. Define all your resolvers, to be able to serve all the operations defined in the schema
  • 28. © 2019, Amazon Web Services, Inc. or its Affiliates. How GraphQL works? Client GraphQL SQL datasource 3. The client makes a request
  • 29. © 2019, Amazon Web Services, Inc. or its Affiliates. How GraphQL works? Client GraphQL SQL datasource 4. GraphQL uses the request resolver to translate the client query and get data from the datasource Translate GraphQL query into SELECT video_id, video_name FROM videos
  • 30. © 2019, Amazon Web Services, Inc. or its Affiliates. How GraphQL works? Client GraphQL SQL datasource 5. GraphQL uses the response resolver to return data from the datasource to the client In this case the resolver will translate SQL into JSON
  • 31. © 2019, Amazon Web Services, Inc. or its Affiliates. How GraphQL works? Client GraphQL SQL datasource 6. GraphQL returns the JSON response to the client
  • 32. © 2019, Amazon Web Services, Inc. or its Affiliates. GraphQL or REST
  • 33. © 2019, Amazon Web Services, Inc. or its Affiliates. So when to use GraphQL? - Creating a single entry point for your clients Client GraphQL Orders service Customers service Product service
  • 34. © 2019, Amazon Web Services, Inc. or its Affiliates. So when to use GraphQL? - When you want to add more functionality to an old service Client GraphQL Old customers service
  • 35. © 2019, Amazon Web Services, Inc. or its Affiliates. So when to use GraphQL? - When you want to simplify a complex API Client GraphQL Very complex API
  • 36. © 2019, Amazon Web Services, Inc. or its Affiliates. Implementing GraphQL Implement your own GraphQL server Use an existing GraphQL server library Use an existing GraphQL platform
  • 37. © 2019, Amazon Web Services, Inc. or its Affiliates. Existing GraphQL platforms Apollo Platform (https://www.apollographql.com/platform/) GraphCMS (https://graphcms.com/) GraphCool (https://www.graph.cool/) AppSync (https://aws.amazon.com/appsync/)
  • 38. © 2019, Amazon Web Services, Inc. or its Affiliates. AWS AppSync Serverless GraphQL platform
  • 39. © 2019, Amazon Web Services, Inc. or its Affiliates. Appsync AWS AppSync is a managed service for application data using GraphQL with real-time capabilities and offline programming model Real time Offline support Support for many different Databases Fine grained access control
  • 40. © 2019, Amazon Web Services, Inc. or its Affiliates. AppSync Security - API KEY authorization - Amazon Cognito User Pools authorization - OPEN ID Connect Authorization - AWS IAM - Fine grained access control
  • 41. © 2019, Amazon Web Services, Inc. or its Affiliates. AppSync Datasources - Amazon DynamoDB - AWS Lambda - Amazon Elastic Search - Amazon Aurora - HTTP services
  • 42. © 2019, Amazon Web Services, Inc. or its Affiliates. AppSync Resolvers - A resolver must be attached for every operation - Velocity template language (VTL) - Takes requests as inputs and outputs a JSON document containing the instructions to the data source - VTL allows quite complex operations over the data – loops, conditions, filters.
  • 43. © 2019, Amazon Web Services, Inc. or its Affiliates. How Appsync works? Creates a schema
  • 44. © 2019, Amazon Web Services, Inc. or its Affiliates. How Appsync works? Connect to different datasources Creates a schema
  • 45. © 2019, Amazon Web Services, Inc. or its Affiliates. How Appsync works? Connect to different datasources Creates a schema Updates data in real time in different devices
  • 46. © 2019, Amazon Web Services, Inc. or its Affiliates. Customer story using Appsync??
  • 47. © 2019, Amazon Web Services, Inc. or its Affiliates.
  • 48. © 2019, Amazon Web Services, Inc. or its Affiliates. Infrastructure as code • AWS Cloudformation • Serverless Framework • Serverless Framework plugin for AppSync (https://github.com/sid88in/serverless-appsync-plugin)
  • 49. © 2019, Amazon Web Services, Inc. or its Affiliates. AWS Cloud Client AWS AppSync AWS Lambda Amazon DynamoDB VLT mappers for request and response VLT mappers for request and response
  • 50. © 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates.
  • 51. © 2019, Amazon Web Services, Inc. or its Affiliates.
  • 52. © 2019, Amazon Web Services, Inc. or its Affiliates. How the client uses this? • AWS Amplify • Client library for building cloud apps • More info: https://aws-amplify.github.io/docs/js/api#aws-appsync- sdk
  • 53. © 2019, Amazon Web Services, Inc. or its Affiliates. Configure the client
  • 54. © 2019, Amazon Web Services, Inc. or its Affiliates. Run a Query
  • 55. © 2019, Amazon Web Services, Inc. or its Affiliates. Best practices when working with AppSync - Think about how to implement search - Be careful when doing a lot of HTTP requests - Use as much VLT resolvers as possible - Use subscriptions appropriately - Paginate your large responses
  • 56. © 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates. Q&AMarcia Villalba AWS Loft in Kyiv 14-18 October https://aws-loft.provectus.com Marcia Villalba @mavi888uy Practical examples on AppSync and more on serverless https://www.youtube.com/foobar_codes
  • 57. © 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates. Thank you! Marcia Villalba @mavi888uy AWS Loft in Kyiv 14-18 October https://aws-loft.provectus.com Practical examples on AppSync and more on serverless https://www.youtube.com/foobar_codes