Picking the right size for your flow app
App sizes are predefined resource profiles tailored to the app's specific compute power and memory requirements. This feature allows users to effortlessly select a size during deployment without having to deal with infrastructure-related parameters.
App Size Overview
The following sizes are available to cover different use cases:
“Small” (Low consumption, default setting)
“Medium” (General Purpose)
“Large” (High Performance)
The app sizes make use of the following parameters:
CPU Min: The minimum number of virtual CPUs allocated to your workload. This ensures your application has a guaranteed amount of processing power (measured in milli CPUs).
CPU Max: The maximum number of virtual CPUs your workload can use, allowing it to scale up when needed (measured in milli CPUs).
Memory Min: The minimum amount of memory allocated to your workload. This guarantees your application always has a base level of memory (measured in MiB).
Memory Max: The maximum amount of memory your workload can use, providing the ability to handle larger tasks as needed (measured in MiB).
Small DEFAULT | Medium | Large | |
---|---|---|---|
Purpose |
|
|
|
CPU Min [milli CPU] | 100 | 150 | 200 |
CPU Max [milli CPU] | 1500 | 2250 | 2750 |
Memory Min [MiB] | 290 | 420 | 575 |
Memory Max [MiB] | 475 | 625 | 850 |
Storage* [GiB] | 1 | 1 | 1 |
App sizes are subject to change. Please note that we continuously adjust the parameters of app sizes of an app with each new release to improve performance and efficiency.
How is CPU managed?
We guarantee a minimum amount of processing power for your deployed apps. This means that each app always has enough CPU resources to run smoothly, no matter what. Your apps can also scale up to use more CPU when needed. If there's a spike in demand for your app, it can tap into extra processing power to handle the load efficiently. The CPU management boundaries are defined for each app individually using the CPU Min and Max parameters.
What happens if my app reaches the CPU Max limit?
If an app reaches the CPU limit, it will be temporarily throttled. Unlike memory limits, reaching the CPU limit won't cause your application to crash or restart. It will simply be unable to process tasks as quickly as it could with more CPU resources.
How is memory managed?
With the different app sizes, any use cases can be covered to ensure that your application always has enough memory to operate smoothly. This guarantees that it can run essential tasks without running out of resources. Your application can use more memory when needed, up to a set limit. This helps it handle larger tasks or sudden increases in workload without crashing. Note that an app can have temporary spikes in memory consumption, such as during the installation of new nodes.
The memory management boundaries are defined for each app individually using the Memory Min and Max parameters.
What happens if my app reaches the Memory Max limit?
When your app tries to use more memory than the maximum limit, it will be automatically stopped and restarted. This is because it can't allocate the additional memory it needs to continue operating. While the automatic restart helps to bring the app back online, it can cause a short temporary downtime and interrupt ongoing processes.
How is storage managed?
When apps are deployed in a cloud environment, they automatically take advantage of scalable storage accessed as a Network File System, offering flexibility without set storage constraints. On the other hand, every individual application deployed on-premises requires the automatic setup and connection of a dedicated virtual storage drive with a capacity of 1 GiB.