Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 3 additions & 10 deletions sites/upsun/src/manage-resources/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,10 @@ keywords:
- "scaling"
---

{{% vendor/name %}} allows you to configure resources (CPU, RAM, and disk) per environment for each of your apps and services.
You can also add instances for each of your apps depending on your needs.
{{% note theme="note" title="Understand your resource options"%}}

For information on costs related to resource usage, see the [{{% vendor/name %}} pricing page](https://upsun.com/pricing/).
To understand how resources work on {{% vendor/name %}} and learn more about your options, visit the [how resources work](/manage-resources/how-resources-work.html) page.

## How resources work on Upsun

Projects on Upsun run on shared hosts, which means the processing power allocated to your containers can be dependent on resources other customers are using on the same hosts. Our orchestration layer works to ensure stable access to resources when possible, however some variability should be expected due to the shared infrastructure of our regions.

{{< note theme="info" >}}
{{< /note >}}

It should be noted that projects are always kept **strictly isolated** from each other.

{{< /note >}}
2 changes: 1 addition & 1 deletion sites/upsun/src/manage-resources/autoscaling.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Autoscaling
description: Learn how autoscaling dynamically adjusts app instances based on CPU usage to keep apps responsive under load while optimizing costs.
weight: -400
weight: -100
keywords:
- "resources"
- "CPU"
Expand Down
2 changes: 1 addition & 1 deletion sites/upsun/src/manage-resources/build-resources.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Project build resources
description: Configure project build resources on {{% vendor/name %}}.
weight: -50
weight: -30
---

When you push changes through Git, your applications are first built, then deployed.
Expand Down
58 changes: 58 additions & 0 deletions sites/upsun/src/manage-resources/guaranteed-resources.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
title: Guaranteed resources
description: Learn how Guaranteed CPU on {{% vendor/name %}} provide dedicated CPU and memory allocations for consistent, high-performance workloads.
weight: -50
---

For applications or services that need to scale to large resources and have performance guarantees, {{% vendor/name %}} offers Guaranteed resources (Guaranteed CPU).

Guaranteed CPU ensure that your app or service receives dedicated access to the specified amount of CPU and RAM. These resources are reserved exclusively for your container.

This kind of allocation provides performance close to dedicated infrastructure, ideal for:

- Backend services
- Real-time APIs
- Load testing
- High-traffic production application containers
- Resource-intensive services (e.g. database, search engine)
- Any container requiring large resource allocations with consistent and predictable performance

{{% note theme="warning" title="Region availability"%}}

Guaranteed CPU is **not supported on OVHcloud regions**, and some sizes **may not be available for [all regions](/development/regions.html).**

{{% /note %}}

## Enable Guaranteed CPU

1. Open your project.
2. Click the Configure resources button from the Allocated resources block.
3. For each app/service:
- Select **Guaranteed** or **Shared** as the resource type.
- Choose the desired CPU and RAM combination.
- Enter the amount of Disk/Storage to allocate.
4. Click Save. Saving will rebuild your environment, which may cause temporary downtime.

{{% note %}}

You cannot enable Guaranteed CPU if your [container profile is set to `HIGHER_MEMORY`](/manage-resources/adjust-resources.html#advanced-container-profiles).

{{% /note %}}

## Pause environments with Guaranteed CPU

When any app or service in an environment uses Guaranteed CPU, that environment cannot be paused automatically or manually.

This is because, with Guaranteed CPU, you're billed for the reserved CPU and memory, so allowing pause functionality would lead to potential overuse of reserved compute and incorrect billing.

### To pause the environment again:

1. Switch all containers using Guaranteed CPU back to shared mode.
2. Once no containers are using Guaranteed CPU, the environment can be paused as usual.

{{% note %}}

You can upscale to Guaranteed CPU even if the environment is currently paused. Doing so will automatically resume the environment and apply the changes.

{{% /note %}}

67 changes: 67 additions & 0 deletions sites/upsun/src/manage-resources/how-resources-work.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
---
title: How resources work on {{% vendor/name %}}
description: Understand how resources work on {{% vendor/name %}} Flex. Learn the differences between shared and guaranteed CPU, how RAM is allocated, and how to configure scalable resources for your apps.
weight: -400
keywords:
- "resources"
- "flexible resources"
- "CPU"
- "RAM"
- "disk storage"
---

On **{{% vendor/name %}} Flex**, you have granular control over your application's resources. Instead of choosing from pre-defined plans, you can configure resources (CPU, RAM, and disk) per environment for each of your apps and services. You can also add instances for each of your apps depending on your needs.

Understanding how {{% vendor/name %}} allocates these resources is key to building stable and cost-effective architecture for your project.

For information on costs related to resource usage, see the [{{% vendor/name %}} pricing page](https://upsun.com/pricing/).

## CPUs vs. vCPUs

Throughout our product and documentation, when we refer to **CPU**, we are describing **vCPUs (virtual CPUs)**. A vCPU is a virtual representation of a physical CPU core. This is the standard for cloud computing, as it allows a physical server's resources to be securely divided among multiple applications.

vCPU performance can sometimes vary depending on factors such as:

- Cloud provider and [region](/development/regions.html)
- System load from other containers on a shared host (in shared mode)

## CPU: Shared vs. Guaranteed

CPU resources can be allocated in two distinct ways. This choice allows you to precisely balance cost with performance needs for each individual container in your project.

### Shared CPU (Default)

By default, projects on {{% vendor/name %}} Flex run on **shared hosts**, which means the processing power allocated to your containers can be dependent on resources other customers are using on the same hosts. Our orchestration layer works to ensure stable access to resources when possible, however some variability should be expected due to the shared infrastructure of our regions.

{{< note theme="info" >}}

It should be noted that projects are always kept **strictly isolated** from each other.

{{< /note >}}

**Best for:**
- Containers in development/staging environments
- Production containers with low-to-moderate traffic

**Consideration:**
- Performance can be variable due to the "noisy neighbour" effect inherent in shared infrastructure.

### Guaranteed CPU

With [Guaranteed CPU](/manage-resources/guaranteed-resources), your container is placed on a dedicated host, and the host's CPU resources are reserved exclusively for your container's use. This provides the highest level of CPU performance and predictability by eliminating any "noisy neighbour" effect.

**Best for:**
- High-traffic production application containers
- Resource-intensive services (e.g. database, search engine)
- Any container requiring large resource allocations with consistent and predictable performance

**Consideration:**
- This option has a higher cost due to its dedicated nature.
- A small portion of host CPU and RAM is used by {{% vendor/name %}}’s system services. The available capacity will be slightly lower than the full allocation selected.

## Memory (RAM)

The memory (RAM) you configure for a container is **always guaranteed**.

This means the full amount of RAM you define is exclusively available to that container and is never shared. This guarantees predictable memory performance and prevents issues caused by other applications on the same host, regardless of your chosen CPU type.

Loading