Cloud pricing is easy to compare badly. Two providers list a similar monthly figure for similar specifications, and the invoices end up nowhere near each other. The gap is almost never in the compute line.
Compute: the number on the pricing page
This is the predictable part — vCPU count, RAM and included disk, billed monthly. It is also where the shared versus dedicated CPU decision shows up, typically as roughly double the price for reserved processor capacity.
Because it is predictable, it is the part worth spending the least time optimising. Halving the server size saves a few euros a month; the items below can cost multiples of it.
Traffic: the line that surprises people
Egress — data leaving the server — is the classic source of unexpected invoices. Ingress is usually free; sending data out is what gets metered.
This matters enormously for anything serving large files, images, video or backups. A site with modest visitor numbers but heavy assets can generate more traffic cost than compute cost.
The important question when comparing providers is not the price per terabyte but how much is included and what happens when you exceed it. A generous included allowance with a moderate overage rate is a very different product from a small allowance with an aggressive one, even at identical headline prices.
Storage: additive and easy to forget
Volumes, snapshots and backups are each billed for what they occupy, and unlike the server, they do not stop costing money when they stop being used.
Snapshots are the usual culprit. They are quick to take, easy to forget, and accumulate. A quarterly review of what exists and why is normally enough to keep this line honest.
The extras
Public IPv4 addresses now carry a small monthly charge at most providers, because the global supply ran out. It is minor for one server and noticeable across a fleet — and it is a reason to prefer IPv6 plus a private network for internal components that do not need a public address.
Load balancers, managed databases and similar services are billed independently of the servers behind them. Floating IPs are typically charged whether or not they are currently attached to anything.
Domains follow different rules
Domains are billed annually, per name, and the renewal price is frequently higher than the first-year price. Some extensions are dramatically more expensive to renew than to register.
Transfers between registrars usually add a year to the registration, which makes them close to cost-neutral. The genuine risk is not price but lapse: a forgotten renewal can take a site off the internet completely, which is why automatic renewal is worth having on every domain you actually use.
How to keep the bill boring
Size compute from measurement rather than estimate, and start below your guess. Serve heavy static assets through a CDN so egress does not all come from the server. Delete snapshots you are not relying on. Give internal machines private addresses rather than public ones. And put domain renewals on automatic.
None of these are clever. Together they are usually the difference between an infrastructure bill you can predict and one you have to investigate.