Bare metal and cloud instances are priced in different units: a monthly server with a fixed number of physical cores, against an hourly instance sold in vCPUs. This page gives a formula that puts both on the same basis, monthly cost per usable thread including egress and redundancy, and works through one example using list prices published on 5 November 2026. The example workload is hypothetical. Swap in your own numbers, and benchmark your own application, because a thread on one platform does not do the same work as a thread on another.
Normalise the unit first
DigitalOcean’s documentation defines a vCPU as a single hyper-thread on a processor core. On dedicated-CPU Droplets that hyper-thread is guaranteed; on shared-CPU Droplets it may be shared with other Droplets. A bare-metal server such as an AMD EPYC 9354P exposes 32 cores and 64 threads, according to Cherry Servers’ plan data. So the fair comparison unit is the thread: one bare-metal thread against one dedicated vCPU. Shared vCPUs are not equivalent and should not be counted one-for-one.
Inputs
Th: threads the workload needs at peak.M: RAM in GB;S: local storage.E: monthly outbound transfer in GiB.H: hours per month the capacity is actually needed (730 for always-on).Red: redundancy model. None, N+1 (one spare server) or 2N.FX: exchange rate if providers bill in different currencies.L: licence add-ons per server, such as Windows.Ops: monthly hours of extra operations work for self-managed hardware, multiplied by your internal rate.
The formula
Instances needed for each option:
n = max( ceil(Th / threads_per_unit), ceil(M / RAM_per_unit) ), then add spares for Red.
Bare metal monthly TCO:
TCO_bm = n x price_month x FX + max(0, E - included_E) x overage + n x L + Ops
Bare metal on a monthly term costs the same whether it runs 50 hours or 730. If the provider also offers hourly bare metal, compare n x price_hour x H as well.
Cloud monthly TCO:
TCO_cloud = n x min(price_hour x H, price_month) + max(0, E - pooled_included_E) x overage + n x L
DigitalOcean bills Droplets per second up to 28 days per billing cycle, which is why the monthly price acts as a cap. Its transfer allowance is pooled across all Droplets on a team and accrues for each second a Droplet exists. Outbound overage is $0.01 per GiB.
Per-thread cost: divide each TCO by the usable threads, excluding spares.
Break-even hours, where an hourly cloud option equals a monthly bare-metal server: H* = TCO_bm / (n_cloud x price_hour).
Break-even ops budget: TCO_cloud - TCO_bm (both without Ops). This is how much extra monthly operations effort bare metal can absorb before it stops being cheaper.
Pricing bare metal for a steady workload?
Dedicated servers with current AMD EPYC and Ryzen CPUs, local NVMe, large traffic allowances and hourly or monthly billing.
See bare metal configurations →Worked example (hypothetical workload)
A service needs 64 threads, at least 128 GB RAM, and 20,000 GiB of egress per month, running around the clock (730 hours). Prices are list prices excluding VAT, read on 5 November 2026. Euro prices are converted at the ECB reference rate for that day, 1 EUR = 1.1224 USD.
- Cherry Servers bare metal, AMD EPYC 9354P: 32 cores / 64 threads, 192 GB RAM, 2 x 1 TB NVMe, 10 Gbps port, 100 TB traffic. €549/month or €0.94/hour.
- DigitalOcean CPU-Optimized c-32: 32 dedicated vCPU, 64 GiB RAM, 400 GiB SSD, 9,000 GiB transfer. $672/month or $1.00/hour.
- DigitalOcean General Purpose g-32vcpu-128gb: 32 dedicated vCPU, 128 GiB RAM, 400 GiB SSD, 8,000 GiB transfer. $1,008/month or $1.50/hour.
| Option | Units | Threads / RAM | Compute $/mo | Egress overage | TCO $/mo | $ per usable thread |
|---|---|---|---|---|---|---|
| Bare metal, monthly | 1 | 64 / 192 GB | $616.20 | $0 (within 100 TB) | $616.20 | $9.63 |
| Bare metal, hourly x 730 h | 1 | 64 / 192 GB | $770.19 | $0 | $770.19 | $12.03 |
| Bare metal, monthly, N+1 | 2 | 64 usable / 192 GB | $1,232.40 | $0 | $1,232.40 | $19.26 |
| Cloud, 2 x c-32 | 2 | 64 / 128 GiB | $1,344.00 | $20.00 (2,000 GiB over 18,000) | $1,364.00 | $21.31 |
| Cloud, 2 x g-32vcpu-128gb | 2 | 64 / 256 GiB | $2,016.00 | $40.00 (4,000 GiB over 16,000) | $2,056.00 | $32.13 |
Reading the example:
- Always-on, no spare: the monthly bare-metal server costs about 45% of the cheaper cloud option ($616.20 against $1,364.00). The break-even ops budget is $747.80 a month.
- With N+1 redundancy: the gap shrinks to $131.60 a month. If a spare server and the work of running two machines cost you more than that, the cloud option is cheaper.
- Part-time use: two c-32 Droplets cost $2.00 an hour together, so they break even with the monthly bare-metal server at about 308 hours a month. Below that, hourly cloud wins on compute cost alone.
- RAM-bound workloads: if the service needed 192 GB or more, the c-32 option would need a third Droplet, and the comparison moves further toward bare metal.
What the formula leaves out
- Per-thread performance. An EPYC 9354P thread (listed at 3.25 GHz) is not automatically equal to a cloud vCPU on a different CPU generation. Run your own workload benchmark and adjust
Thper platform. - Provisioning time. Cherry’s docs say instant servers deploy in about 12 minutes on average, while custom builds take 24 to 72 hours. Cloud instances are created on demand from the API or console, which matters for burst capacity.
- Managed services. Load balancers, managed databases and snapshots are extra line items on either side.
- Licences. Cherry documents Windows as an extra monthly fee that varies by server; include it in
Lif you run Windows. - Tax. Cherry prices in the API exclude VAT. Add your applicable rate if you cannot reclaim it.
Pros and cons
Dedicated bare metal
- Pro: lowest cost per thread for steady, always-on load in this example; large included traffic; no noisy neighbours on local NVMe.
- Pro: hourly bare metal is available at Cherry Servers for short projects.
- Con: redundancy means buying whole spare servers; hardware failures and OS maintenance fall to you.
- Con: custom configurations can take days to deliver.
Cloud dedicated vCPU
- Pro: billed by the second with a monthly cap, so capacity can follow demand; fast provisioning.
- Pro: pooled transfer allowance across Droplets.
- Con: roughly double or more the per-thread cost for always-on use in this example; egress overage beyond the pool.
FAQ
Is one vCPU equal to one physical core?
No. DigitalOcean defines a vCPU as one hyper-thread. Compare vCPUs with bare-metal threads, not cores.
Why include an N+1 row?
A single bare-metal server is a single point of failure. Cloud instances can be replaced quickly. Adding a spare server is the simplest way to compare like with like on availability.
At what usage does cloud become cheaper?
In this example, below about 308 hours a month on compute alone. Recalculate with H* = TCO_bm / (n_cloud x price_hour) for your own plans.
Which exchange rate should I use?
The rate your bank or card applies at billing. The example uses the ECB reference rate for 5 November 2026 (1.1224 USD per EUR) for illustration only.
Do these numbers include VAT?
No. Cherry Servers API prices are marked as untaxed. Check how sales tax or VAT applies to your DigitalOcean account in your jurisdiction.
Run the numbers on real hardware
Pick a configuration, deploy it by the hour, benchmark your workload, and then decide whether a monthly term pays off.
Start with an hourly server →