What you’ll learn
- what does the API project application represent
- gain awareness about the default VPC and custom VPC deployments
The API Project Application
The API project application represents your project's HTTP API, whose main purpose is to serve the default Admin Area and Website applications, via a GraphQL interface.
But do note that the API application is much more than just a simple GraphQL interface. The default Webiny applications not only extend the application's GraphQL schema, but also bring additional processes and cloud infrastructure resources in order to achieve their goal. For example, in order to store and serve files, and optimize images, the File Manager application brings a couple of dedicated Lambda functions, and an S3 bucket. Another example is the Page Builder application, which also brings a couple of dedicated Lambda functions that deal with prerendering of pages.
Of course, the application can additionally grow in terms of code and cloud infrastructure on your behalf, if need be.
Dive deeper by taking a closer look at this project application in our GitHub repository. Note that the provided link is showing both the default VPC and custom VPC related files and folder.
Default VPC vs. Custom VPC
During the creation of a new Webiny project, one of the questions that shows up is should your new project be deployed into the default or a custom Virtual Private Cloud (VPC).
The answer to that question depends on your needs, but usually, for production environments, having resources deployed in a custom VPC is a reasonable choice. This is mainly because of the fact that this setup helps in improving your application's overall security posture (but it does incur additional cost). On the other hand, if we're talking about a development or preview environment, it's also reasonable to pick the default VPC deployment.
To learn more about environments, visit the Environments key topic.