← Writing

What hosting actually costs, itemized

You get two quotes for hosting the same site. One is $4.99 a month. One is $50. Nothing in either quote explains the difference, so it reads like markup.

It usually isn't. The gap is real, it's just that neither party itemizes. So here is the whole bill, piece by piece, priced off a cloud provider's public price list rather than a package page. Some of these line items are genuinely cents. One of them is the entire cost.

The parts you rent

  • The domain. $10 to $20 a year for a .com at any honest registrar, renewed annually. This one is yours no matter who hosts you, and it should be registered in your account.
  • DNS. A hosted zone on Route 53 is $0.50 a month, plus $0.40 per million queries. A small business site will never see a million queries in a month. Call it fifty cents.
  • The TLS certificate. Zero. Let's Encrypt issues free 90-day certificates, and AWS Certificate Manager issues free public certs for use with CloudFront and its load balancers. Nobody should be billing a line item for HTTPS in 2026.
  • Compute. The server itself. A small ARM instance — a t4g.small class — runs about $12 a month on demand in a US region, and less on a one-year commitment. That is a real machine, not a slice of a box shared with four hundred other sites.
  • Storage. A 30 GB gp3 volume at $0.08 per GB-month is $2.40. Site files, database, and logs for a normal brochure or catalog site fit in that with room to spare.
  • Bandwidth. Metered, and the line people fear most. AWS gives the first 100 GB per month of internet egress free. A well-built marketing site is a couple of megabytes per visit, so you need tens of thousands of visits to leave that allowance — and then it's $0.09 per GB.
  • Email. Sending through SES costs $0.10 per thousand messages — a shop sending 500 order confirmations a month pays five cents. Mailboxes are separate, and they are the part that actually costs. Budget per mailbox, not per message.
  • Backups. Snapshots run around $0.05 per GB-month, and anything aged into Glacier Deep Archive lands near $1 per terabyte per month. Backing up a small site properly costs less than a coffee.
  • Monitoring. A CloudWatch alarm is $0.10 a month. Half a dozen alarms and an external uptime check: about a dollar.

Add it up and the infrastructure under a normal small-business site is roughly $20 to $30 a month. Not $4.99, and not $50.

You pay for existing, not for traffic

Notice which of those numbers move with traffic. Almost none. The hosted zone costs fifty cents whether it answers ten queries or ten million. A public IPv4 address bills at $0.005 an hour — about $3.60 a month — whether or not a single visitor touches it. The instance costs the same at 3 a.m. as at noon.

Small-site hosting is dominated by fixed floors, not by meters, which makes the usual worry ("what if we get busy and the bill explodes?") backwards. You are paying for the site to exist. Traffic is nearly free until you are much larger than you think.

The line item nobody prints

Here's the part the price-comparison pages skip. Everything above is a rounding error. The real cost of hosting is an hour of somebody's attention, and that hour is not spent while the site is healthy.

It gets spent when a certificate renewal silently stops working and you have four days to notice. When a language runtime goes end-of-life and the site has to move. When a vulnerability lands in something your site depends on and someone decides, tonight, whether it's exploitable in your configuration. When you need last Tuesday's version of a page back, or a DNS record changed without email going dark.

At any realistic rate, one hour a month costs more than every line item above combined. That is the honest answer to the two quotes: the cheap one is not worse infrastructure, it's no hour. Four hundred sites per server, support by ticket queue, and you are the monitoring.

Both are legitimate products. If your site is a business card and you would not notice it being down for a weekend, take the ticket queue. If the site takes bookings, orders, or payments, you are buying the hour whether you plan for it or not — either monthly, or all at once on the worst day.

What to do with a quote

  1. Ask what the recurring number covers. Updates and patching? Backups, and have they ever been restored? Certificate renewal? Content changes, and how many?
  2. Ask who owns the accounts. The domain and the DNS zone should be in your name. If leaving means losing your domain, that isn't hosting.
  3. Ask what the response looks like at 6 p.m. Friday. "Submit a ticket" is an answer — just know it's the answer before you need it.
  4. Compare the renewal price, not the first year. The $4.99 is usually a 36-month prepay that renews at three times that.

Then judge the number against the hour, not the hardware. The hardware was never the expensive part.

Our hosting plans are itemized the same way this post is — see what each tier includes.


Need this kind of thinking applied to your own setup? Get in touch →