Most conversations about the cost of a web application end on launch day. Development, design, QA, deployment — all carefully calculated. Then the next month arrives and the bills nobody flagged start coming in: hosting, paid services, security updates, small changes that pile up.
The honest reality is that maintaining a web application typically costs 15 to 25 % of the initial development price every year. A €35,000 build means €5,000 to €9,000 of annual post-launch costs. If a budget doesn’t account for that at all, the project is half-planned.
This post breaks down what maintenance actually consists of, how much it really costs, and how to recognise honest quotes from those that hide the numbers.
Quick overview: realistic monthly maintenance ranges
| Application size | Monthly maintenance | Annual |
|---|---|---|
| Small MVP / internal tool | €120 – €500 | €1,500 – €6,000 |
| Standard web application | €500 – €1,200 | €6,000 – €14,500 |
| Mid-size platform / SaaS | €1,000 – €3,000 | €12,000 – €36,000 |
| Complex / enterprise application | €2,500 – €7,500+ | €30,000 – €90,000+ |
These numbers are an orientation for standard maintenance — proactive monitoring, minor updates, security patches, support. They don’t include large new features or restructuring.
What “maintenance” actually consists of
The term “application maintenance” covers seven distinct cost categories. Most companies see only two or three of them and are surprised when the others appear.
1. Infrastructure costs (hosting, database, CDN)
The server the application runs on, the database, CDN for static assets, email service, monitoring. Typical monthly ranges:
- Small project: €35 – €120 (e.g. Hetzner, DigitalOcean with managed database)
- Standard: €120 – €500 (scalable setup, backup, redundancy)
- Mid-size to large: €500 – €2,500+ (multi-region, complex databases, real-time services)
AWS/Azure/GCP get dramatically more expensive than European providers (Hetzner, Scaleway) if you don’t specifically need what they offer. Many companies pay €1,000/month on AWS for something that would run on Hetzner for €180.
2. External services and APIs
Applications rarely stand alone — they depend on dozens of external services, each with its own monthly subscription:
- Email provider (SendGrid, Postmark, Mailgun): €25 – €250/mo
- Payment processing (Stripe, Adyen): 1.4 – 2.9 % per transaction
- SMS / push notifications (Twilio, Firebase): depends on volume
- Error tracking (Sentry): €0 – €120/mo
- Analytics (Plausible, Mixpanel): €12 – €250/mo
- Customer support tooling (Intercom, Crisp): €35 – €600/mo
- Backup services: €25 – €120/mo
Typical setup for a standard application: €120 – €500/month just on external services.
3. Security and technical updates
Frameworks, libraries, languages, and operating systems release updates regularly — some are security patches, some are major versions with breaking changes. An application that doesn’t get updated turns into a time bomb within 12 to 18 months.
The real cost: 2 to 8 hours per month for standard dependency updates, more in any quarter that includes a major version bump. At €60 – €100 per hour, that’s €120 – €800 per month just on the updates that protect you from attacks.
4. Minor changes and optimisations
Types of changes that happen every month in a live application:
- Fixing bugs that users report
- Small text and content changes
- Optimising slow pages
- Adding small features (e.g. a new field on a form)
- Adjustments based on user feedback
Typical scope: 4 to 20 hours per month for a standard application. Cost: €250 – €2,000 per month.
5. Monitoring and incident response
Someone has to watch the application stay up. Uptime monitoring, alerting, fast response to outages, escalation of critical issues. If you set up monitoring yourself — 1 to 2 hours per month of proactive review is enough. If something goes down at 3am Sunday — those aren’t budgeted costs, but they’re real.
Larger applications that can’t go down (e-commerce, B2B platforms with enterprise clients) reasonably pay €400 – €1,000/mo for an on-call SLA.
6. Backups and data security
Backups happen, but someone has to configure them and periodically test them. A backup that hasn’t been tested isn’t a backup — it’s hope. Standard work: set up automated backups, test restore quarterly, document the procedure.
Cost: €60 – €250/mo for the backup infrastructure, plus a few hours for testing.
7. Documentation and onboarding
The application evolves. Documentation (technical and user-facing) has to keep up. Without current documentation, new team members ramp slowly, and you’re dependent on the one person who “knows how everything works.”
Cost: 1 to 4 hours per month for documentation upkeep.
How payment is typically structured
Three common models:
Model 1: Monthly retainer
A fixed monthly amount for a defined package. The most common and most predictable.
Example package for a standard application:
- 8 hours per month of development work
- Security updates
- Monitoring and alerting
- Response to critical issues within 4 business hours
- Monthly status report
- Cost: €700 – €1,500/month
Example package for a mid-size SaaS:
- 20 to 30 hours per month
- Quarterly proactive performance review
- 24/7 monitoring with alerts
- Response to critical issues within 1 hour
- Monthly roadmap planning call
- Cost: €2,200 – €4,500/month
Model 2: Time and materials
You pay for what actually gets done, at an agreed hourly rate (€60 – €120/hr typically). No fixed monthly commitment.
Pros: you only pay for what’s needed, flexibility. Cons: unpredictable costs, no availability guarantee, weaker proactivity.
Best for small projects where changes are infrequent.
Model 3: Hybrid
A small fixed retainer for the baseline (monitoring, security, minor updates) plus additional hours billed when larger changes are needed.
Example: €500/mo fixed + €85/hr for additional work.
This model is common because it combines predictability with flexibility.
The biggest hidden costs to budget for
A few costs that aren’t obvious until they happen:
Major technology upgrades. After 2 to 3 years, your framework releases a major version (e.g. Next.js 14 → 16, Laravel 11 → 13). Migration usually isn’t an hour or two — it’s 20 to 80 hours of work depending on application size. Cost: €1,800 – €7,500 one-off.
Infrastructure scaling. An application that worked with 200 users starts struggling under 5,000. Database optimisation, adding caching, restructuring queries — could be 30 to 150 hours of work. Cost: €2,500 – €15,000 one-off.
New regulatory compliance. GDPR audit, new digital services regulations, regulatory changes in your industry. All of that means work: 10 to 60 hours. Cost: €1,000 – €6,000.
Security incidents. If your application is ever breached or hit by DDoS, costs are unpredictable: forensic analysis, repair, communication with users, potential legal consequences. An application with regular security maintenance rarely has incidents. An application without it — it’s a question of when.
Larger feature additions. Not really “maintenance,” but often confused with it. New features are projects, not maintenance, and are typically billed separately.
A realistic annual budget — example
To put numbers in context, here’s an example of a realistic annual budget for a mid-size B2B SaaS application (initial development cost €60,000):
| Category | Monthly | Annual |
|---|---|---|
| Hosting and infrastructure | €300 | €3,600 |
| External services | €400 | €4,800 |
| Security and technical updates | €360 | €4,320 |
| Minor changes and optimisations | €950 | €11,400 |
| Monitoring and support | €250 | €3,000 |
| Backups | €100 | €1,200 |
| Documentation | €120 | €1,440 |
| Total monthly | €2,480 | €29,760 |
Plus a 10 % buffer for the unexpected: €3,000/year.
Total annual figure: ~ €33,000, which is around 55 % of the initial build cost in year one, settling to 25 – 30 % in stable years.
What separates expensive from cheap maintenance
The difference between maintenance that “just keeps things alive” and maintenance that actually protects the product isn’t measured in hours — it’s measured in proactivity vs. reactivity.
Reactive maintenance (cheaper): fixes things when they break. User reports a bug — gets fixed. Server goes down — gets restarted. Typical cost: 50 – 60 % of the “full” maintenance amount.
Proactive maintenance (more expensive, but more cost-effective overall): looks for issues before users feel them. Performance analysis before slowdown becomes visible. Updates applied on schedule, not after a security incident appears. Database optimisations before queries start to stall.
Companies that pay only for reactive maintenance tend to also pay much more for emergency interventions — when things are already on fire. Proactive maintenance is more expensive on paper, but cheaper overall.
The most common cost-planning mistakes
Assuming hosting is “a small cost.” “It’s €30/month, no big deal.” It’s a big deal when you realise hosting is only 5 % of total maintenance cost. The real annual number is 5 to 10 times what the subscription aggregator shows.
Accepting “maintenance included” without details. If an agency says “maintenance included,” ask: included how? How many hours? What’s billed separately? Without specific numbers, “included” usually means “nothing specific.”
Assuming new features go into maintenance. They don’t. New features are new projects. Maintenance is keeping existing functionality healthy.
Skimping on security updates. The most expensive form of saving. €100 saved on an update can cost you €50,000 in rebuild after a breach, plus reputational damage.
Not budgeting for growth. An application that cost €4,500/year in maintenance in year 1 might cost €18,000/year in year 3 — because users have been added, data has grown, integrations have multiplied, regulatory requirements have expanded.
How to recognise a real maintenance quote
A genuine maintenance quote contains:
- A specific number of hours per month (not just “as needed”)
- A defined SLA for response to critical issues
- A list of what’s included and what isn’t (new features are separate)
- Monthly reporting on what was done
- An escalation path for incidents
- Documentation of standard procedures
If the quote contains none of this — it isn’t a maintenance quote. It’s a promise that “we’ll help if needed.”
The bottom line
Web application maintenance isn’t a side cost — it’s 15 to 25 % of the initial development price, every year, in stable conditions. It consists of seven distinct categories: infrastructure, external services, updates, minor changes, monitoring, backups, and documentation.
Companies that don’t plan for this cost typically pay disproportionately more later — through incidents, emergency interventions, and bigger migration projects that could have been avoided with regular maintenance.
The smartest approach: plan maintenance from the first day of development. Talk about a retainer before launch. Treat the application as a tool that needs care — not a finished product that’s been “delivered and that’s that.”
Thinking about a maintenance plan for your application? We can walk through your situation and propose a realistic package that fits your size and complexity — without hidden costs and without blanket promises. Get in touch. More about our approach on the web application development page.
Bojan Zlatanović
Founder at Norvaris. Building digital products and writing about what actually works in product, engineering, and growth.
More from this author