What you’ll learn
  • 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

The Core project application represents your project’s core cloud infrastructure resources. Essentially, these are your stateful resources, like Amazon DynamoDB external link for storing data, Amazon S3 external link for storing files, and Amazon Cognito external link 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 external link.

Learn more about the different setups in the introduction section.

The Core project application also deploys an Amazon EventBridge external link, 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.

Webiny Cloud Infrastructure - Core - OverviewWebiny Cloud Infrastructure - Core - Overview
(click to enlarge)


The above diagram gives an overview of the complete cloud infrastructure that is deployed by your project’s Core project application.

1. Amazon Cognito

Although Webiny can work with multiple identity providers, by default, it works with Amazon Cognito A.The service is utilized from the Default GraphQL API and Headless CMS GraphQL API AWS Lambda functions, both part of the API project application.
Learn more about the Headless CMS API in the Headless CMS GraphQL API Overview article.

2. Amazon S3

For storing all types of files, Webiny’s File Manager application uses Amazon S3 B. Note that the application also provides a way to securely serve files and resize images (more in the following sections).

3. Amazon EventBridge

Amazon EventBridge is used for communication between different cloud infrastructure resources.

4. Amazon DynamoDb and Amazon ElasticSearch Service

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.


How Is the DynamoDB Data Structured?

Webiny is following the approach called single-table design external link, 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.