Hire Software Developers 7
Back to blogs

The Cost of Running a SaaS: Hosting Is the Small Bill

Iceberg with a small server above the water and a larger mass of maintenance tools below, showing the hidden cost of running a SaaS

The Cost of Running a SaaS: Hosting Is the Small Bill

In the next four weeks, .NET 8, .NET 9 and PostgreSQL 14 all reach end of support [O24, O26]. Nobody sends you an invoice for that. But someone on your team has to stop what they're doing and run the upgrade, and that's what running a SaaS product actually costs.

If you've just paid to get your product built, the cost of running a SaaS is the part of the budget nobody put in the proposal. We covered the first bill in what it costs to build a SaaS startup. This post is about the second one. It arrives every month after launch, and you mostly pay it in people's time.

The cost of running a SaaS is what you spend every month to keep a live software product working, secure and supported after launch: hosting, plus the people's hours for monitoring, bug fixes, patching, upgrades, backup tests, access reviews and support.

Key takeaways

  • The median private B2B SaaS company spends 5% of ARR on hosting, 9% on customer support and success, and 22% on R&D [O14].
  • Collecting logs is cheap: AWS CloudWatch Logs and Google Cloud Logging list $0.50 per GB, with free monthly tiers [O3, O4]. The cost is the person reading them.
  • .NET 8 and .NET 9 reach end of support on 10 Nov 2026, and PostgreSQL 14 on 12 Nov 2026 [O24, O26].
  • Developers spent 17.3 of an average 41.1-hour week, about 42%, on maintenance [O9].
  • In our illustrative model (our calculation), cost per tenant falls from about $1,930 a month at 10 tenants to about $17 at 10,000 tenants, while total run cost grows about 9 times.

What is the biggest cost of running a SaaS? (It isn't hosting)

People's hours. The median private B2B SaaS company spends 5% of its annual recurring revenue (ARR) on hosting, 9% on customer support and success, and 22% on R&D [O14].

That's from SaaS Capital's 2026 survey of more than 1,000 companies [O14]. In the $3–5M ARR band, support and success rises to 10% while hosting stays at 5% [O43]. Put another way: for every dollar a typical SaaS company sends its cloud provider, it spends nearly two on the people who answer customers, and more than four on the people who build and fix the product.

Most founders still judge SaaS operating costs by the cloud invoice, because it's the one that arrives with a number on it. Public companies show why that misleads. The median public enterprise SaaS company ran a gross margin of nearly 77% in 2025 [O16]. One public software company's annual filing describes its cost of revenue as "allocated cloud-hosting costs" plus customer support staff, contractors, payment processing and overhead [O17]. Hosting and people sit in the same line, and the line isn't mostly servers.

The people cost doesn't wait for customers, either. A lot of it lands on day one.

What "running it" actually means

Here's the list nobody hands you at launch. Every item on it is a job someone does by hand:

  • Checking logs and alerts, and deciding which ones matter
  • Writing the uptime and incident report your customers (or your board) expect
  • Triaging and fixing bugs
  • Making the small improvements customers ask for, so they keep paying
  • Applying security patches to the operating system, the framework and every library
  • Upgrading the framework and database before their support ends
  • Testing that your backups actually restore
  • Reviewing who still has access to what
  • Answering support tickets

None of these is a project with an end date. They come back every week, every month, every quarter.

Monitoring is cheap; looking at it isn't

Collecting logs costs almost nothing. Azure Log Analytics charges $2.30 per GB ingested after the first 5 GB [O1]. AWS CloudWatch Logs charges $0.50 per GB for standard ingestion, with 5 GB a month free [O3]. Google Cloud Logging lists $0.50 per GiB, and the first 50 GiB per project each month are free [O4]. For a young product, that bill is often zero.

The expensive part is the person reading them. Google's SRE book has a name for this kind of work, "toil", and defines it as work that is "manual, repetitive, automatable, tactical, devoid of enduring value, and that scales linearly as a service grows" [O7]. Google's own goal is to keep toil "below 50% of each SRE's time" [O7]. Think about that for a second. One of the most automated companies in the world is aiming for half.

And it isn't shrinking. A vendor-published SRE survey found the median share of time spent on operations work rose from 25% to 30% in its 2025 report [O8]. That was the first rise in five years [O8]. The report notes the general expectation had been that AI would reduce toil, and says: "The jury is still out" [O8]. Another vendor-published survey of on-call engineers found respondents were paged an average of 6 times a week [O49]. That's six times a week someone drops what they're doing to go and look.

Bugs and small improvements: the SaaS maintenance cost that never stops

Software doesn't stop needing work once it ships. It just stops being called "the build".

Robert Glass, in Facts and Fallacies of Software Engineering, put maintenance at 40 to 80% of software costs, with an average of 60% [O10]. The US Government Accountability Office reports that federal agencies spend about 80% of their IT budgets on operations and maintenance of existing systems [O11]. That's government IT, not SaaS, but it points the same way.

Stripe's 2018 Developer Coefficient report gets closer to a normal week. Developers spent 17.3 hours of an average 41.1-hour week on maintenance: debugging, dealing with bad code, refactoring and modifying [O9]. That's about 42% of their week.

Not all of it is waste. An older study found that roughly 60% of maintenance effort went on improvements, and only about 17% on fixing bugs [O12]. So a lot of "maintenance" is really the work of keeping the product worth paying for. Someone still has to pay for it.

Security work never finishes

There were 48,185 published software vulnerabilities (CVEs) in 2025, up 20.6% on 2024 [O18]. That works out at about 132 new ones every day [O18]. Most won't touch your product. Someone still has to check which ones do.

And the clock on the ones that matter is getting shorter. In June 2026, the US Cybersecurity and Infrastructure Security Agency (CISA) replaced its two-week patching deadline for federal agencies [O19] with a risk-based model. Under it, a vulnerability that is internet-facing, known to be exploited, automatable and gives an attacker control must be fixed "within three days" [O20]. That rule binds federal agencies, not you. But a law-firm analysis expects it to show up in government contracts and in cloud providers' own patching rules [O20], so a version of that clock can reach you through your bigger customers.

The hours add up. A vendor-commissioned study of 500 organisations with more than 250 staff found seven in ten spend more than 6 hours a week on patching [O51]. Another vendor-published report found 80% of application dependencies go un-upgraded for over a year, even though more than 99% have newer versions available [O52]. Nobody decides to fall behind. It's just a backlog nobody got to.

Then there are the annual checks bigger customers ask for. Vendor-published pricing puts a web app or SaaS penetration test at $5,000 to $30,000 [O21]. Vendor-published auditor fees for a SOC 2 Type II audit run from $5,000–20,000 for a small company to $40,000–60,000 for a large one, and that's before your own team's preparation time [O22].

Upgrades have deadlines

Everything you build on has an expiry date. .NET long-term support releases get three years of patches, and short-term releases get two [O24]. PostgreSQL gives each major version five years [O26]. Node.js long-term support releases get critical fixes for about 30 months [O25]. Kubernetes is the restless one: roughly 14 months of support per version [O29], with about three new versions a year [O29].

The Oct–Nov 2026 upgrade cluster

SoftwareEnd of support
Python 3.101 Oct 2026 (already passed) [O28]
Kubernetes 1.3427 Oct 2026 [O29]
.NET 8 (LTS) and .NET 9 (STS)10 Nov 2026 [O24]
PostgreSQL 1412 Nov 2026 [O26]

If your product runs on any of these, the upgrade work is already due.

Missing the date costs money too. On Amazon RDS, running a database engine past its standard support adds an Extended Support charge per vCPU per hour, starting "the day after the end of standard support" [O6]. AWS's US East example is $0.100 per vCPU-hour in year one, rising by year three [O6]. Standby copies are charged too [O6]. On a 4-vCPU database that's about $290 a month (our calculation: 4 × 730 hours × $0.10). Upgrading stops the charge [O6]. In other words, somebody's hours stop it.

Backups only count if you've restored one

Almost every product has backups. Far fewer have proof they work. CISA's ransomware guidance, co-authored with the FBI and NSA, tells organisations to "regularly test the availability and integrity of backups in a disaster recovery scenario" [O32].

The cloud makes the test itself cheap. AWS Backup charges $1.50 per recovery point evaluated in a restore test [O5]. What costs money is the engineer who schedules it, checks the restored data is complete, writes it up, and fixes whatever didn't come back. That's an afternoon, not $1.50.

Cost per tenant: 10 tenants vs 10,000 tenants

A tenant is one customer account on your product. To show how running costs move as you grow, we built a simple model. Where published data exists, we cite it. Where it doesn't, the figure is labelled as our assumption. We've left hosting out, because the 5%-of-ARR benchmark already covers it [O14].

Illustrative model (our calculation)

Per month (excl. hosting)10 tenants10,000 tenants
Fixed run work (40 h → 120 h at $93/h)~$3.7k~$11.2k
Pen test + SOC 2, annualised~$1.9k~$6.7k
Support tickets (0.25/tenant × $24.24)~$0.06k~$60.6k
Log ingestion (cloud-native)~$0~$0.45k (Azure ~$2.1k)
Bug fixes & small improvements (42% of dev spend)~$13.6k~$92.4k
Total~$19.3k (~$1,930 per tenant)~$171k (~$17 per tenant)

Inputs:

  • Engineer hour: ~$93 = $135,980 median developer salary [O58] ÷ 0.70 wage share of employer compensation [O59] ÷ 2,080 hours (our calculation).
  • Fixed run work: patching ~26 h/month, the 6 h a week that seven in ten organisations with 250+ staff exceed [O51] (vendor-commissioned; applying it to a small SaaS is our assumption) + ~14 h/month for upgrades, restore tests, access reviews and alert reporting (our assumption). Three times that at 10,000 tenants (our assumption): it scales with system size, not customer count.
  • Pen test + SOC 2 (if SOC 2 is in scope): $10,000 test [O21] + $12,500 small-company audit [O22] at 10 tenants; $30,000 complex multi-tenant test [O21] + $50,000 large-company audit [O22] at 10,000.
  • Support: 0.25 tickets per tenant per month (our assumption; no SaaS benchmark exists, and internal IT runs 0.38 per user [O39]). $24.24 per ticket is an IT service-desk figure, not a SaaS one [O38].
  • Logs: ~300 bytes per line [O56] × 10,000 lines per tenant per day (our assumption) ≈ 90 MB per tenant per month. Free tiers cover 10 tenants [O3, O4]; 10,000 tenants means ~900 GB at $0.50/GB [O3, O4] or $2.30/GB on Azure [O1].
  • Bugs & improvements: 42% maintenance share [O9] of two developers (our assumption) at 10 tenants, and of R&D at 22% of ARR [O14] at 10,000, assuming $100 per tenant per month, or $12M ARR (our assumption).

What the model shows:

  • Tenants grow 1,000 times, but total run cost grows only about 9 times. Cost per tenant falls about 110 times.
  • At 10 tenants, fixed work dominates. It lands whether or not anyone signs up.
  • At 10,000 tenants, support and maintenance take over. That's when self-service help, automation and better code quality start to pay for themselves.
  • As a sanity check, the support line at 10,000 tenants is about 6% of revenue, inside SaaS Capital's 9–10% figure for support and success combined [O14, O43].

Look at what barely shows up in either column: the logs themselves. Storing them is cheap. Reading them is the cost.

The fair counterpoint: managed services help, but they don't empty the list

The best argument against all this is that the cloud now does much of it for you. AWS's own guidance recommends managed services "to reduce your security maintenance tasks", and says Amazon RDS "automates administration tasks such as hardware provisioning, database setup, patching, and backups" [O35]. Small teams can run very large services, too. WhatsApp had about 50 engineers when it was serving roughly 900 million users [O36].

But look at what's left. The same guidance says managed services free you up to focus on "securing your application", and that even on serverless you still own "security at the code level" [O35]. RDS still makes you do the major-version upgrade, and charges you if you don't [O6]. And WhatsApp was a consumer messaging app, not a B2B product with tenant-level support and enterprise customers asking for audits. AI isn't clearing the list yet, either. Google's DORA 2025 research found AI is now linked to faster delivery, but "software delivery instability continues to rise" [O37].

Managed services shrink the list. They don't empty it.

Frequently asked questions

How much does it cost to run a SaaS product each month?

There's no single figure, but the median private B2B SaaS company spends 5% of ARR on hosting, 9% on customer support and success, and 22% on R&D [O14]. In our illustrative model (our calculation, excluding hosting), people's time and audits come to about $19,300 a month at 10 tenants and about $171,000 a month at 10,000 tenants.

What makes up SaaS maintenance cost?

Mostly engineering hours: bug fixes, small improvements, security patches, framework and database upgrades, restore tests and access reviews. Robert Glass put maintenance at 40 to 80% of software costs, averaging 60% [O10], and developers in Stripe's 2018 report spent about 42% of their week on maintenance [O9].

Do managed cloud services remove the maintenance work?

They reduce it. AWS says Amazon RDS automates patching and backups, but its own guidance says you still own security at the code level [O35]. RDS also charges an Extended Support fee if you run a database engine past its standard support [O6].

What happens if my database goes past its end-of-support date?

It stops getting standard support, and on Amazon RDS an Extended Support charge starts the day after standard support ends [O6]. AWS's US East example is $0.100 per vCPU-hour in year one [O6], which is about $290 a month for a 4-vCPU database (our calculation). Upgrading stops the charge [O6].

Do I really need to test my backups?

Yes. CISA, the FBI and the NSA advise organisations to "regularly test the availability and integrity of backups in a disaster recovery scenario" [O32]. The cloud makes the test cheap (AWS Backup charges $1.50 per recovery point evaluated [O5]). The real cost is the engineer's time to run, check and write up the restore.

Budget for the hours, not just the servers

Planning the year after launch? Budget the hours before the servers. Take the list above, put a name next to each job, and put a number of hours a month next to each name. Any line without a name is the one that turns into an outage, a failed audit or an unpatched database next November.

That's the kind of work we do at yousource: production hardening, code audits and ongoing maintenance of production software, so the upgrades, patches, restore tests and bug fixes get done by engineers who've done them before. See how yousource Dev works.

Still at the building stage? Start with what it costs to build a SaaS startup, then come back to this one. The build is the first bill. Running it is every bill after that.

Sources

back to top

Related Articles

Book 15 min with Albert
Smiling man with short dark hair and glasses wearing a black suit, white shirt, and black tie against blue background.
Tell Albert what you're shipping.
He'll read this before joining the call. Phone number comes next, on the calendar step.
↳ info@you-source.com
↳ 4-hour response
Please wait while we retrieve meeting schedules.
Oops! There's a problem with your request. We're working on fixing it. Please try again later.