Moving from cloud to bare metal
Cloud is excellent at starting and expensive at staying. The crossover arrives sooner for some workloads than others.
Where the money actually goes
Compare the full bill, not the instance price:
- Egress. Frequently the largest line, and it scales with success. On an unmetered port it is a fixed monthly number no matter how busy the month is. For anything delivering media or serving an API at volume, this one item often decides the comparison on its own.
- Storage IOPS. Provisioned IOPS are billed separately and add up fast. Local NVMe on bare metal has no meter.
- Always-on instances. Cloud pricing rewards bursty, idle-heavy workloads. A machine that runs at 60% around the clock is the worst case for per-hour billing and the best case for a dedicated server.
- Load balancers, NAT gateways, snapshots, inter-zone traffic. Individually small, collectively a third of the invoice.
What you give up, honestly
Elasticity in minutes, and the managed services. You will be running your own:
- Database, instead of a managed one — database basics and backups
- Object storage — see S3-compatible storage on your own server
- Load balancing and failover — load balancing and high availability
- Monitoring and log aggregation — Prometheus and Grafana and central logging
That is real work. It is also work you can do once and keep, with configuration management, instead of renting it monthly.
A staged migration that does not frighten anyone
- Move the thing with the biggest egress first — usually static assets or media delivery. Immediate, measurable saving, low risk.
- Then the workers. Batch jobs, encoders, build runners. They have no inbound traffic and failures are invisible to customers.
- Then the application servers, with the database still in the cloud and reached over an encrypted link — see WireGuard. Watch the latency.
- The database last, with replication running for days before you promote. See moving to another server.
Keep the cloud account open for a month afterwards. One extra invoice is the cheapest insurance available.
The hybrid answer is respectable
Steady baseline load on bare metal, burst capacity in the cloud for the fortnight a year when you need it. You are not obliged to choose a religion.
Before you move
Measure what you actually use for a week — CPU, memory, IOPS, peak bandwidth — as how much server do you actually need describes. Then describe the workload to us rather than asking for an equivalent instance type. We build to order, and the right machine is rarely a translation of a cloud SKU.
Still stuck? Mail support@novogara.com — an engineer answers, at any hour. Back to the knowledge base