Burstable Instance
Burstable instance is the only instance type that provides a baseline CPU utilization while allowing burstable CPU utilization beyond the baseline.
The burstable general-purpose instance family provided by KakaoCloud includes the following:
- Applicable Type:
t1i
Concept of burstable instance
Most general-purpose workloads do not require consistently high CPU utilization. It's typical for workloads to have temporary spikes in CPU usage, as shown in the graph below. Such workloads result in wasted CPU cycles, leading to higher costs than what's actually utilized. Burstable instances efficiently address this cost waste.
CPU utilization changes over time for a typical workload
Burstable instances provide a baseline CPU utilization while offering the ability to burst CPU utilization beyond the baseline. With this feature, users can burst CPU utilization momentarily above the baseline using accrued CPU credits, effectively reducing computing costs according to their workload. Burstable instance types operate on a credit-based model for CPU utilization, where credits are earned or consumed based on CPU usage. The amount of these credits varies depending on CPU usage:
- CPU usage below the baseline: Earned credits > Consumed credits
- CPU usage equals the baseline: Earned credits = Consumed credits
- CPU usage exceeds the baseline: Earned credits < Consumed credits
When earned credits exceed consumed credits, credits can be accrued, which can be used later to burst CPU utilization above the baseline. If consumed credits exceed earned credits, CPU utilization gradually decreases to the baseline level, and bursting above the baseline is not possible until sufficient credits are accrued.
Terminology and definitions
CPU utilization
It refers to the percentage of allocated computing units currently in use on the instance. This metric measures the proportion of allocated CPU cycles being utilized on the instance.
CPU credit
It represents a unit of vCPU time. For example, one CPU credit is calculated as follows:
One CPU credit = 10 vCPUs × 10% utilization × 1 minute = 5 vCPUs × 20% utilization × 1 minute = 1 vCPU × 50% utilization × 2 minutes
Baseline utilization
It refers to the CPU utilization level at which the earned credit amount matches the used credit amount, resulting in a credit acquisition rate of 0. It's also known as the Baseline
. Baseline utilization is calculated as follows:
Baseline Utilization (%) = (Earned credits / vCPU count) / 60 minutes
Example
For instance size t1i.large
, with 2 vCPUs and earning 36 credits per hour:
Baseline Utilization (%) = (36 credits / 2) / 60 minutes
Thus, the baseline utilization is 30%.
The following graph illustrates an example where the average CPU utilization is lower than the baseline.
Example of average CPU utilization lower than the baseline
Credit acquisition
Refers to the credits continuously acquired and accrued while the instance is running. Credit acquisition is calculated as follows:
Number of credits acquired per hour = Baseline utilization (%) × Number of vCPUs × 60 minutes
Credit consumption
Refers to the credits consumed continuously while the instance is running. It is calculated as follows:
Number of CPU credits consumed per minute = Number of vCPUs × CPU utilization × 1 minute
Credit accrual
If the instance maintains a CPU utilization lower than the baseline and accrues more credits than consumed, the unused CPU credits become accrued credits. It is calculated as follows:
Number of accrued credits = (Acquired credits - Credits consumed below the baseline)
Credit accrual limit
It varies depending on the instance size and is typically equal to the maximum credits accrued in 24 hours. It is calculated as follows:
Credit accrual limit = CPU credits per hour × 24 hours
Use cases
Burstable instances are designed to meet the requirements of the following workloads:
- Large-scale microservices
- Web servers
- Small to medium-sized databases
- Data logging
- Development and testing environments
They are suitable for applications with low to moderate CPU usage, particularly for instance sizes of medium
or smaller, which require moderate amounts of memory and CPU usage.
CPU credit accrual
The process of measuring CPU credit accrual is performed with very high time precision, ensuring that only a small amount of CPU credit is consumed in case of short bursts of CPU usage. When using burstable instances, if the CPU usage is lower than the baseline, remaining CPU credits are accrued. These accrued credits are then utilized when bursts beyond the baseline are required. Therefore, having more accrued credits can increase the duration of maintaining burst performance beyond the baseline when needed. For more detailed information on burstable instances, refer to Instance types.
CPU credit accrual limit and life span
The credits acquired by the running instance do not expire, but there is a limit to the maximum credits that can be accrued. Additionally, if the instance is stopped, the remaining CPU credits are valid for 7 days. After 7 days, these CPU credits expire. However, if the instance is started within this period, the credits are retained. The accrued credit limit varies depending on the instance type and size, and detailed information can be found in Instance types.
How it works
Burstable instance is suitable for workloads where the average CPU utilization is consistently lower than the instance's baseline CPU utilization but requires occasional bursts of CPU utilization. When the instance bursts beyond the baseline, the accrued CPU credits are used. If the consumed credits exceed the acquired credits, the CPU utilization gradually decreases to the baseline level, and burst performance cannot exceed the baseline until sufficient credits are accrued. These instances continuously acquire a certain proportion of credits per hour while running. When the instance is stopped, the accrued CPU credits are retained for a certain period and then disappear. However, if the instance is started within this period, the credits are retained.
Credit usage example
The following example illustrates how a burstable instance starting with t1i.nano
acquires, accrues, and consumes credits. This example helps to understand the accrual or consumption of actual credits.
Workflow of credit acquisition, accrual, and consumption
The t1i.nano
instance can acquire a total of 144 credits every 24 hours. In other words, the credit accrual limit for this instance is 144.
-
Period 1: During the running time of the instance, credits are continuously acquired up to the accrual limit. When the CPU utilization is 0%, the maximum number of credits that can be acquired per hour is obtained, resulting in reaching the accrual limit of 144 after 24 hours.
-
Period 2: During the next 24 to 30 hours after the instance is created and running, the CPU utilization is recorded at 2.5%. This figure is lower than the 5% baseline utilization of the
t1i.nano
instance. Therefore, although more credits are acquired than consumed, the accrued credits reach the limit of 144 reached during Period 1, so any credits acquired beyond this limit are discarded. -
Period 3: Over the next 30 to 42 hours, the CPU utilization of the instance increases to 7%, which is higher than the 5% baseline utilization. Therefore, credits are consumed during this period, with a total consumption of 28.8 credits. By the end of 42 hours, the remaining credit balance is 115.2 credits.
-
Period 4: From 42 to 54 hours, the CPU utilization drops back to the baseline level of 5%. During this period, no credits are accrued as the consumed credits equal the acquired credits. Therefore, the accrued credit balance remains the same as at the end of Period 3, which is 115.2 credits.
-
Period 5: Bursting occurs for the next 6 hours with a CPU utilization of 21%. During this time, all remaining credits are consumed. If bursting had continued beyond this time or the CPU utilization had been higher, the CPU utilization would have been forced to drop back to the baseline level when all credits were exhausted, and bursting beyond the baseline would not have been possible until sufficient credits were accrued again.
-
Period 6: Over the next few hours after the burst in Period 5, the CPU utilization of the instance records 1%. As this is lower than the baseline CPU utilization, credits are acquired and accrued. A total of 57.6 credits is accrued during the period from 60 to 72 hours.
Monitoring
You can collect and view key metrics in the KakaoCloud Monitoring service. The main metrics for burstable instances are cpu_credit_usage
and cpu_credit_balance
, which represent the number of CPU credits consumed and the remaining CPU credits generated by this instance, respectively. These credit metrics can be found under the Basic monitoring
of the Monitoring
tab. For details, please refer to View instance details.
To monitor actual CPU usage along with these metrics, a separate monitoring agent installation is required. For details on monitoring setup and more, refer to Management > Monitoring > How-to Guides.