
I've run websites ranging from very cheap to genuinely expensive, and the full cost is almost always higher than the headline hosting figure once you add up everything involved in keeping it running properly.
Website hosting costs vary by several orders of magnitude depending on traffic volume, application architecture, and infrastructure provider. A static website costs pennies per month. A high-traffic SaaS application with video streaming and real-time features costs thousands. Understanding the components that drive hosting cost — and what you are actually paying for at each layer — helps make better infrastructure decisions and avoid overpaying for resources that are not being used.
Hosting Breakdown
Web application hosting typically involves several infrastructure layers, each with its own cost:
Web server / application hosting: The compute resource running your application code. Options range from shared hosting (£3 to £15/month, appropriate for simple sites), to virtual private servers (£10 to £80/month for small to mid-scale applications), to managed containers or PaaS (Heroku, Render, Railway: £20 to £200/month depending on resources), to dedicated cloud instances (AWS EC2, Google Cloud, Azure: variable, typically £50 to £500/month for production applications).
Database hosting: A managed database separate from the application server. AWS RDS, Google Cloud SQL, Supabase, PlanetScale — pricing varies by instance size, storage, and read/write volume. A small production database (db.t3.small on RDS): approximately £30 to £50/month. A medium production database with read replica: £150 to £300/month. Database costs often represent 30% to 50% of total infrastructure spend for data-intensive applications.
CDN and static asset delivery: A Content Delivery Network caches and serves static files (images, CSS, JavaScript) from edge locations close to users, reducing load on the origin server and improving page load times. Cloudflare's free tier handles most small to medium traffic. AWS CloudFront costs approximately $0.0085 per GB of data delivered. For media-heavy sites, CDN costs can be significant; for typical web applications, they are modest.
Object storage: S3-compatible storage for user uploads, backups, and static assets. AWS S3 costs approximately $0.023 per GB stored per month and $0.0004 per GET request. At 100GB of stored assets: $2.30/month storage. Egress from S3 is the more variable cost — $0.09 per GB transferred out. A site serving 500GB of images per month pays approximately $45 in S3 egress charges alongside storage costs.
Traffic Impact
Traffic volume affects infrastructure cost primarily through three mechanisms: request handling load on the application server, database query volume, and egress bandwidth. Traffic spikes — from a press mention, a viral social post, or a marketing campaign — can produce temporary cost spikes and, if infrastructure is not auto-scaling, outages.
Auto-scaling — the ability to automatically provision additional compute resources when traffic increases and de-provision them when it falls — is available on all major cloud platforms. It is also meaningfully more complex to configure and more expensive to operate than fixed-capacity infrastructure. For applications with predictable traffic patterns, right-sized fixed capacity is often more economical than auto-scaling. For applications with unpredictable spikes, auto-scaling protects against both outages and the cost of over-provisioning for peak load permanently.
The Server Cost vs User Growth Calculator models how hosting costs scale with traffic growth. Enter your current infrastructure cost, current monthly active user count, and projected growth rate to see the cost trajectory. The calculator also shows the cost per user — the infrastructure unit economics metric that reveals whether your architecture is getting more or less efficient as you scale.
Infrastructure
The infrastructure decision that most affects long-term hosting cost is the choice between managed services and self-managed infrastructure. Managed services (RDS rather than self-hosted Postgres, ElastiCache rather than self-managed Redis, managed Kubernetes rather than bare EC2 instances) cost more per unit of resource than self-managed equivalents, but reduce engineering time spent on infrastructure management. For most product companies, the engineering time saving justifies the cost premium until very high scale where the absolute cost difference becomes material.
Serverless architecture — where compute is billed per execution rather than per hour of instance time — can significantly reduce costs for applications with low or intermittent traffic, where a traditional server would be idle most of the time. AWS Lambda costs approximately $0.0000002 per request and $0.0000166 per GB-second of execution. For an application handling 1 million requests per month averaging 200ms execution time at 512MB: approximately $5/month. The same traffic on a continuously running small server instance would cost $15 to $30/month.
