- what is the Core project application
- what are the necessary cloud infrastructure resources on which the API project application relies on
The Core project application represents your project’s core cloud infrastructure resources. Essentially, these are your stateful resources, like Amazon DynamoDB for storing data, Amazon S3 for storing files, and Amazon Cognito for storing user information and authentication. Also, with the Amazon DynamoDB and Amazon ElasticSearch setup, the project application also deploys an ElasticSearch cluster via the Amazon Elasticsearch Service.
The Core project application also deploys an Amazon EventBridge, used for communication between different resources.
For brevity, the diagram doesn’t include network-level cloud infrastructure resources, like region, VPC, availability zones, and so on.
The above diagram gives an overview of the complete cloud infrastructure that is deployed by your project’s Core project application.
The service is utilized from the Default GraphQL API and Headless CMS GraphQL API AWS Lambda functions, both part of the API project application.
Amazon EventBridge is used for communication between different cloud infrastructure resources.
Amazon DynamoDb and Amazon ElasticSearch Service are used as your project’s databases. Note that the latter is only used if you’re using the Amazon DynamoDB + Amazon ElasticSearch setup.
Webiny is following the approach called single-table design, which advocates for storing all the application data in a single DynamoDB table. So, all of the Webiny applications are storing data in a single table, with distinct primary and secondary keys in order to avoid clashing of data.