What you’ll learn
  • how GraphQL HTTP requests are handled by the deployed cloud infrastructure and application code

Diagram
anchor

For brevity, the diagram doesn’t include network-level cloud infrastructure resources, like region, VPC, availability zones, and so on. Check out the Deployment Modes section if you’re interested in that aspect of the deployed cloud infrastructure.

Note that the stateful resources like Amazon S3, Amazon Cognito, Amazon DynamoDB and Amazon ElasticSearch are deployed as part of the Core project application. These are still included in the diagram, just so it’s more clear to the reader.

Webiny Cloud Infrastructure - API - GraphQL RequestsWebiny Cloud Infrastructure - API - GraphQL Requests
(click to enlarge)

Description
anchor

The diagram shows how HTTP requests (GraphQL queries and mutations) travel through the deployed cloud infrastructure. Request are primarily issued by the Admin Area, or Website applications, but of course, can be issued by other clients as well.

The flow consists of the following six steps:

  1. The GraphQL HTTP request first reaches the Amazon CloudFront A.
  2. The request is forwarded to the Amazon API Gateway B.
  3. The Amazon API Gateway invokes the GraphQL Handler AWS Lambda function C.
  4. Depending on the issued GraphQL operation, the AWS Lambda function’s code may issue one or more requests to other cloud infrastructure resources:
    1. Amazon Cognito E to perform identity authentication
    2. Amazon DynamoDB F or Amazon ElasticSearch Service G to perform database queries
  5. Once the code execution has completed, an HTTP response is returned back to the Amazon API Gateway B.
  6. The Amazon API Gateway B forwards the request to the Amazon CloudFront A, which again forwards it back to the client.