Project plans provide a total pool of resources given to your production environment for a project, not just the app container. All containers within that production environment (all apps and services) can use up to that limit in total.
Resources are typically automatically allocated based on system assumptions of required resources. Apps are considered to require more CPU, and services like MySQL or a Redis cache are considered to be more RAM-intensive. You can manually set these by explicitly setting the sizes of your apps and services too.
If size is left undefined, your containers will automatically be allocated sizes to use the maximum possible amount of resources. If you decide to modify this according to your specific needs, you might need to do some adjusting until you find the size configuration you need. Modifying this value risks either not using all possible resources, or over-allocating resources and seeing your deployments fail. We recommend caution if modifying size keys.
Current sizes
The sizes of app and service containers can be seen in both the web console and the Platform CLI - under "environment configuration" in the build log of a code push. (example below)
Environment configuration
app (type: python:3.8, size: S, disk: 1024)
app--queue (type: python:3.8, size: S, disk: 1024)
data (type: redis-persistent:6.0, size: S, disk: 512)
Size variables can be set manually in the project configuration files, though this can cause issues if the project plan is changed. We recommend caution when manually setting the size variables.
Metrics
The metrics page on the web console shows most resource usage for your apps, workers and services with a graph system. The graph represents the active resource usage as a percentage of the total allocated resource of the container. Due to the way the metrics system functions, you cannot currently see RAM usage on service containers. As such, the metrics page does not show all resources allocated to an environment.
For more information on this topic, please see the following: