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
anchor

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 .

Learn more about the different setups in the introduction section.

The Core project application also deploys an Amazon EventBridge , used for communication between different resources.

Diagram
anchor

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)

Description
anchor

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

1. Amazon Cognito
anchor

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
anchor

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
anchor

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

4. Amazon DynamoDb and Amazon ElasticSearch Service
anchor

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.

FAQ
anchor

How Is the DynamoDB Data Structured?
anchor

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.