Architecture > Core Architecture
Overview
What are the necessary cloud infrastructure resources on which the Core project application relies on.
- 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 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
For brevity, the diagram doesn’t include network-level cloud infrastructure resources, like region, VPC, availability zones, and so on.
Description
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 CognitoThe 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 S33. 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.
FAQ
How Is the DynamoDB Data Structured?
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.