8 min read
DownloadCite
Research paper
TELOSIS-RP-2026-009Institutional ThinkingJuly 202610 sections8 min read

The Economics of Self-Hosting


The decision to self-host or use cloud services is often framed as a technical choice. It is not. It is an economic choice with technical consequences. This paper provides a framework for comparing the total cost of ownership of cloud-managed services versus self-hosted infrastructure over one, three, and five-year horizons. We account for visible costs (compute, storage, bandwidth) and hidden costs (operational labor, downtime risk, migration friction, and the cost of lock-in). We conclude that self-hosting is economically favorable for stable, predictable workloads at moderate to large scale, while cloud services are favorable for variable, unpredictable, or very small workloads. We also find that the economic advantage of self-hosting increases over time, while the cost of leaving a cloud provider increases with duration of use.

self-hostingtotal cost of ownershipcloud economicsinfrastructure costlock-in

Total cost of ownership analysis. Cloud vs self-hosted over 1, 3, and 5-year horizons. Hidden costs of cloud dependency. When self-hosting saves money and when it doesn’t.

1. Introduction

“Cloud is cheaper at small scale. Self-hosting is cheaper at large scale.”

This conventional wisdom is directionally correct but insufficient for decision-making. It ignores the shape of the cost curves, the hidden costs on both sides, and the temporal dimension - how costs change over years of operation.

This paper provides a structured framework for comparing the total cost of ownership of cloud and self-hosted infrastructure. It is based on real infrastructure costs and operational data from CODECX products (Covenant, Foundry, Relay) running in both managed and self-hosted configurations.

2. The Visible Costs

2.1 Cloud Costs

Resource Unit Cost (Monthly) Notes
Compute (2 vCPU, 8GB RAM) $40-80 AWS EC2 / equivalent
Managed Database (100GB) $50-150 RDS / equivalent
Bandwidth (1TB egress) $50-90 Varies by provider
Object Storage (1TB) $20-25 S3 / equivalent
Load Balancer $20-30 Per instance
Total (Small Production) $180-375/month

2.2 Self-Hosted Costs

Resource Unit Cost (Monthly) Notes
Dedicated Server (8 vCPU, 32GB RAM, 1TB SSD) $50-120 Hetzner / OVH / equivalent
Backup Storage (1TB) $5-10 Object storage or secondary server
Bandwidth (included) $0 Most dedicated servers include 10-20TB
Total (Small Production) $55-130/month

2.3 The Visible Gap

At small production scale, self-hosting is 50-70% cheaper on visible infrastructure costs. The gap widens at scale because cloud costs scale linearly with usage while self-hosted costs are step functions (add a server when the current one is full).

3. The Hidden Costs

Visible costs are the easy part. Hidden costs determine the real comparison.

pie title Hidden Costs of Self-Hosting
    "Operational labor (DevOps, on-call)" : 55
    "Downtime risk and recovery" : 20
    "Migration friction and lock-in" : 15
    "Backup infrastructure and monitoring" : 10

3.1 Operational Labor

Cloud: The provider manages the database, the load balancer, the object store. The user manages the application.

Self-Hosted: The user manages everything. Database backups. OS updates. Security patches. Monitoring. Alerting. Capacity planning.

Task Cloud (Hours/Month) Self-Hosted (Hours/Month)
Database maintenance 0-2 4-8
OS updates and security 0-1 3-6
Monitoring and alerting setup 1-2 3-6
Backup verification 0-1 2-4
Capacity planning 0-1 1-3
Total 1-7 hours 13-27 hours

At $50-100/hour for skilled DevOps time, self-hosting adds $650-2,700/month in labor costs - more than the visible infrastructure savings for small deployments.

The crossover point: Self-hosting becomes economically favorable when the visible infrastructure savings exceed the operational labor cost. For most deployments, this occurs around 5-10 servers, where the infrastructure savings of self-hosting ($300-600/month per server) exceed the incremental labor cost of managing additional machines (which grows sublinearly).

3.2 Downtime Risk

Cloud Self-Hosted
Expected uptime 99.9-99.99% (provider SLA) 99-99.9% (depends on operator skill)
Recovery time Minutes (automated failover) Minutes to hours (manual or scripted)
Cost of 1 hour downtime Revenue loss + trust erosion Revenue loss + trust erosion
Probability of extended outage Low (provider has redundancy) Moderate (single server failure)

Self-hosting carries higher downtime risk unless the operator invests in redundancy (multiple servers, automated failover, offsite backups). That redundancy narrows the cost gap with cloud.

3.3 Migration Friction

Migrating to cloud: Upload data. Change DNS. Done.

Migrating from cloud: Extract data (pay egress fees). Reconfigure application. Test. Change DNS. Handle unexpected dependencies on cloud-specific services (IAM, SQS, Lambda). The longer you have been on a cloud provider, the more cloud-specific services you have adopted, and the more expensive migration becomes.

This is the lock-in cost. It is not visible on the monthly bill. It is visible only when you try to leave.

3.4 The Lock-In Tax

Cloud providers discount initial adoption and profit from sustained usage. The cost of leaving increases with:

  • Duration of usage (more data to migrate)
  • Adoption of proprietary services (SQS, DynamoDB, Lambda - no self-hosted equivalents)
  • Organizational dependency (teams trained on cloud-specific tools)

A rational economic analysis must include the cost of future migration, discounted by the probability of needing to migrate. For a company planning to exist for 50 years, the probability of needing to migrate from any given cloud provider approaches 1.0.

block-beta
    columns 3
    block:Small["Small (1-2 servers)"]
        columns 1
        S1["Cloud: $2-4K/yr"]
        S2["Self: $1-4K/yr"]
        S3["Break even"]
    end
    block:Medium["Medium (5-10 servers)"]
        columns 1
        M1["Cloud: $18-37K/yr"]
        M2["Self: $8-18K/yr"]
        M3["30-60% savings"]
    end
    block:Large["Large (20+ servers)"]
        columns 1
        L1["Cloud: Scales linearly"]
        L2["Self: Scales sublinearly"]
        L3["Dominant"]
    end

4. Cost Comparison Over Time

4.1 Small Deployment (1-2 servers, 1TB data)

Year Cloud (Cumulative) Self-Hosted (Cumulative) Savings
1 $2,160 - $4,500 $1,500 - $4,200 (incl. labor) -$200 to +$2,400
3 $6,480 - $13,500 $4,500 - $12,600 -$1,200 to +$7,200
5 $10,800 - $22,500 $7,500 - $21,000 -$2,000 to +$12,000

Conclusion: At small scale, the cost difference is within the margin of error. Labor cost assumptions dominate. Choose based on team capability, not cost.

4.2 Medium Deployment (5-10 servers, 10TB data)

Year Cloud (Cumulative) Self-Hosted (Cumulative) Savings
1 $18,000 - $37,000 $8,000 - $18,000 $10,000 - $19,000
3 $54,000 - $111,000 $24,000 - $54,000 $30,000 - $57,000
5 $90,000 - $185,000 $40,000 - $90,000 $50,000 - $95,000

Conclusion: Self-hosting is clearly favorable. Even with generous labor cost assumptions, the infrastructure savings exceed operational costs by year 2.

4.3 Large Deployment (20+ servers, 50TB+ data)

Self-hosting is dominant. Cloud costs scale linearly. Self-hosted costs scale sublinearly (bulk server discounts, operational automation, existing expertise).

5. The Hybrid Model

Most TELOSIS products support a hybrid model:

  • Managed (Cloud): For users who want zero operational overhead. Covenant.app. Foundry Cloud.
  • Self-Hosted: For users who want cost control, data sovereignty, or have existing infrastructure.

The managed version is the same codebase as the self-hosted version. Users can migrate between them without data loss or workflow disruption.

This is not a technical convenience. It is an economic guarantee. The user’s decision to self-host or use the managed service is reversible at any time. The provider cannot extract monopoly rents from the managed service because the self-hosted alternative is always available.

6. When Self-Hosting Saves Money

block-beta
    columns 1
    block:SWINS["Self-Hosting Wins When"]
        columns 1
        S1["Stable, predictable workloads"]
        S2["5+ servers (crossover point)"]
        S3["5+ year time horizon"]
        S4["Existing ops expertise"]
        S5["Data sovereignty required"]
    end

Self-hosting is economically favorable when:

  1. Stable, predictable workloads. If you know how many servers you need and that number changes slowly, self-host.
  2. Moderate to large scale. 5+ servers is the rough crossover point where infrastructure savings exceed labor costs.
  3. Long time horizon. Self-hosting savings compound. Cloud costs compound. Over 5+ years, self-hosting is almost always cheaper.
  4. Existing operational expertise. If your team can manage servers, the labor cost of self-hosting is near-zero marginal cost.
  5. Data sovereignty requirements. Regulatory requirements may mandate self-hosting regardless of cost.

7. When Cloud Saves Money

block-beta
    columns 1
    block:CWINS["Cloud Wins When"]
        columns 1
        C1["Variable, spikey workloads"]
        C2["1-2 servers (small scale)"]
        C3["Short time horizon (< 12 mo)"]
        C4["No ops expertise"]
        C5["Early-stage startup"]
    end

Cloud is economically favorable when:

  1. Variable, unpredictable workloads. If traffic spikes 10x on certain days, cloud elasticity prevents over-provisioning.
  2. Very small scale. 1-2 servers. The labor cost of self-hosting exceeds the infrastructure savings.
  3. Short time horizon. If the project may not exist in 12 months, cloud avoids upfront investment.
  4. No operational expertise. If no one on the team can manage servers, cloud is cheaper than hiring a DevOps engineer for a small deployment.
  5. Early-stage startups. Focus on product, not infrastructure. Migrate later when scale justifies it.

8. The Temporal Dimension

The economic advantage of self-hosting increases over time. The economic advantage of cloud decreases over time.

Why self-hosting improves with time:

  • Operational automation matures. Labor cost decreases.
  • Hardware costs decrease (Moore’s Law).
  • Migration away from cloud becomes harder (lock-in deepens).

Why cloud worsens with time:

  • Data gravity increases. Egress becomes more expensive.
  • Adoption of proprietary services increases switching cost.
  • Cloud pricing inflates (rarely decreases).

A company planning to exist for 5 years should compare costs at year 5, not year 1. A company planning to exist for 50 years - as TELOSIS does - should compare costs at year 50.

At year 50, self-hosting is not just cheaper. It is the only option that does not depend on a third party’s continued existence, pricing stability, and policy consistency.

9. Conclusion

The choice between cloud and self-hosting is not a technical decision. It is an economic decision with technical consequences. It must be made with full awareness of visible costs, hidden costs, and temporal dynamics.

For small, short-lived, or highly variable workloads, cloud is the correct economic choice.

For stable, moderate-to-large, long-lived workloads, self-hosting is the correct economic choice.

For TELOSIS and its brands, the long time horizon dictates the answer. We design products that can run on user-owned infrastructure because our users’ economic interests align with self-hosting over the decades they will use our software.

The managed service exists for those who prefer to pay for operational convenience. It is priced fairly. It is the same software. It is always possible to leave.

That is not just good engineering. It is honest economics.

References

  1. TELOSIS Research. Self-Hosting Is Not a Feature - It Is Infrastructure. TELOSIS-RP-2026-001, 2026.
  2. TELOSIS Research. Exportability as a Structural Property. TELOSIS-RP-2026-007, 2026.
  3. Armbrust, M. et al. A View of Cloud Computing. Communications of the ACM, 2010.
  4. CODECX Engineering. Self-Hosting Is Not a Feature - It’s Infrastructure. CODECX Journal, 2026.

Citation

TELOSIS Research. (2026). The Economics of Self-Hosting. TELOSIS-RP-2026-009.
PDF