Burstable Instances

A burstable instance is a virtual machine (VM) instance that provides a baseline level of CPU performance with the ability to burst to a higher level to support occasional spikes in usage.

Burstable instances are designed for scenarios where an instance is typically idle, or has low CPU utilization with occasional spikes in usage. They're also ideal for scaled-down workloads that don't require a full core. For example:

  • Microservices
  • Development and test environments
  • Continuous integration and continuous delivery (CI/CD) tools
  • Monitoring systems
  • Static websites

How Burstable Instances Work

Burstable instances are able to sustain workloads running at a fraction of CPUs most of the time, and can burst up to the full CPUs for a limited amount of time.

When you create a burstable instance, you specify the total OCPU count (or CPU cores) and the baseline CPU utilization. The baseline utilization is a fraction of each CPU core, either 12.5% or 50%. The baseline provides the minimum CPUs that can be used constantly.

When needed, the instance can use more than the baseline CPU, all the way up the total OCPUs that you provision. This usage above the baseline is called bursting, because it happens automatically and for short periods of time.

For an instance with 1 OCPU, a baseline of 12.5% means that 12.5% of the CPU core is available for baseline usage, with a maximum burst of 100% of 1 CPU core. For an instance with 64 OCPUs, the same 12.5% baseline means that 12.5% of 64 CPU cores are available for baseline usage, with a maximum burst of 100% of all 64 CPU cores.

The ability to burst depends on the instance's CPU usage pattern and the underlying server resource usage. If the instance's average CPU utilization over the past 24 hours is below the baseline, the system will allow it to burst above the baseline. The burst is limited to a short period of time to ensure that resources are managed fairly. Because burstable instances are oversubscribed compute resources, there is no guarantee that an instance will be able to burst exactly when needed.

After the burst is finished by the system, the instance is limited to the baseline CPU.

You can monitor CPU utilization using the CpuUtilization metric.

Supported Shapes

You can use the following shape to create burstable instances:

  • VM.Standard.E3.Flex

OCPU, Memory, and Network Bandwidth

Because burstable instances use flexible shapes, you can customize the number of OCPUs and the amount of memory that are allocated to a burstable instance.

  • OCPUs: You can select from 1 to 64 OCPUs as the total OCPU count, the same range that the VM.Standard.E3.Flex flexible shape supports.
  • Memory: The amount of memory is based on the total number of OCPUs. For each OCPU, you can select up to 64 GB of memory, the same ratio that the VM.Standard.E3.Flex shape supports. For example, if you create a 1-OCPU instance, you can allocate up to 64 GB of memory, regardless of which baseline OCPU you configure. The minimum amount of memory allowed is either 1 GB or a value matching the total OCPU count, whichever is greater. The maximum amount of memory allowed is 768 GB (note that this value is smaller than for regular instances). Memory does not burst.
  • Network bandwidth: The maximum network bandwidth is defined in relation to the baseline OCPU. The maximum network bandwidth is 0.5 Gbps for each 12.5% baseline OCPU, with an overall maximum of 40 Gbps. For example, a 2-OCPU instance with a 12.5% baseline is allocated 1 Gbps. Network bandwidth does burst.

The flexibility of burstable instances means that you can create instances that are optimized for small or low-utilization applications. With the VM.Standard.E3.Flex shape, you can create a subcore or burstable instance as small as 12.5% or 50% of an OCPU (1 OCPU is equivalent to 2 hardware execution threads or vCPUs), with a minimum of 1 GB of memory, and have the ability to burst up to 1 OCPU for a limited amount of time. For larger workloads, you can create a burstable instance as large as 64 OCPUs with 12.5% baseline, with a maximum memory of 768 GB, and have the ability to burst up to 64 OCPUs for a limited amount of time.

Burstable Instances Versus Regular Instances

With both burstable instances and regular flexible instances, you can optimize the instance for your workload. However, burstable instances and regular instances have several differences.

Burstable Instances Regular Flexible Instances
What they're for Let you optimize your costs for workloads that require minimal resource utilization most of the time. The physical VM host is oversubscribed, so there is no guarantee that an instance will be able to burst. Let you customize the number of OCPUs and amount of memory for workloads that require guaranteed access to the total amount of OCPUs. The physical VM host is not oversubscribed.
How they scale The instance dynamically scales the available OPCUs between a baseline and a maximum that you define. You must resize the instance when you want to scale the OCPUs and memory.
How fast they scale Rapidly scale up and scale down to handle temporary spikes in workload. Take longer to scale up and scale down, but can handle high resource utilization for a sustained period of time.

Compare burstable instances with regular instances: If you create a regular instance with 1 OCPU using the VM.Standard.E3.Flex shape, you are required to provision an entire core. If you create an instance using the Always Free VM.Standard.E2.1.Micro shape, the instance would be allocated less than a full OCPU, but it would not have a flexible amount of memory and would not be able to burst.

Limitations and Considerations

Be aware of the following information:

  • Because the physical VM host is oversubscribed, there is no guarantee that an instance will be able to burst. For critical or production workloads that require full OCPU utilization, you should use a regular instance instead.
  • Network bandwidth is oversubscribed, so there is no guarantee that the instance can use the maximum bandwidth.
  • Memory does not burst.
  • Windows images require a minimum of 50% of 1 OCPU and 4 GB memory.
  • Custom images are supported if the baseline OCPU meets the minimum requirements for the image.
  • Each burstable instance can have one ephemeral public IP address. If you need additional public IPs, assign reserved public IPs to the instance.
  • You can attach four block volumes for each 12.5% baseline OCPU, up to the maximum limit.
  • Burstable instances must use paravirtualized networking. If you create a regular instance using SR-IOV networking (the default for regular VM.Standard.E3.Flex instances), and want to change the instance to a burstable instance, you must also change the networking type to paravirtualized.
  • Burstable instances are not supported on dedicated virtual machine hosts, capacity reservations, or preemptible capacity.
  • Service limits and compartment quotas for a burstable instance count the baseline OCPUs that are configured for the instance, regardless of actual usage. Burstable instances and regular instances share the same service limits and compartment quotas based on the instance's shape.

Billing

Burstable instances cost less than regular instances with the same total OCPU count. Burstable instances are charged according to the baseline OCPU. The charge for a burstable instance is the same regardless of whether the actual CPU utilization is at the baseline, below the baseline, or bursts above the baseline. Contrast this with regular instances, which are charged for the total OCPU count, even if your usage is lower.

For example, if you create a VM.Standard.E3.Flex instance with 1 OCPU and a 12.5% baseline, you are charged for 12.5% of a Standard E3 OCPU each hour, regardless of whether your actual CPU utilization is below 12.5% of 1 OCPU or bursts to the full 1 OCPU.

Windows Server license costs are also charged according to the baseline OCPU.

Memory is charged based on the amount of memory configured for the instance, the same as regular instances.

For more information about billing, see the Oracle Compute Cloud Services section of Oracle PaaS and IaaS Universal Credits Service Descriptions.

Creating a Burstable Instance

When you create an instance, you specify whether the instance is a burstable instance. You can also edit an existing, regular instance to make it a burstable instance.

Using the Console:

  1. Follow the steps to create an instance, until the Shape section.
  2. Click Change Shape.
  3. In the Shape series section, select AMD.
  4. Select the VM.Standard.E3.Flex shape.
  5. For Number of OCPUs, choose the maximum number of OCPUs for the instance to burst to.
  6. Select the Burstable check box.
  7. In the Burstable baseline per OCPU list, select the baseline CPU utilization for the instance. This value is the percentage of OCPUs that you want to use most of the time.

    For example, a 12.5% baseline means that the instance has up to 12.5% of the total OCPU count available for baseline usage (that is, normal usage when the instance isn't bursting). For an instance with 1 OCPU, a 12.5% baseline means that up to 1/8 of an OCPU is available for baseline usage.

  8. For Amount of memory, choose the amount of memory that you want to allocate to this instance by dragging the slider. The maximum memory you can choose depends on the number of OCPUs and the baseline that you select. Memory does NOT burst.
  9. Click Select Shape.
  10. Finish creating your instance, and then click Create.

Using the API: Use the LaunchInstance operation, specifying the baseline OCPU in the baselineOcpuUtilization attribute.