title: "Azure vs Self-Hosted: Where I Deploy Enterprise ERP in 2026"
date: 2026-04-21
readingTime: 7 min read
tags: ["Azure", "Cloud", "Infrastructure"]
After running enterprise ERP systems both on Azure and self-hosted infrastructure for clients across the Middle East, I've learned that the "cloud is always better" narrative doesn't hold up for every scenario.
This post breaks down the real costs, tradeoffs, and decision framework I use when choosing deployment infrastructure.
Our ERP systems serve:
The deployment decision isn't theoretical—it directly impacts cost, compliance, and operational burden.
Requirements:
| Resource | SKU | Monthly Cost | |----------|-----|--------------| | App Servers | D8s v5 (4x) | $1,460 | | DB Servers | E16s v5 (2x) | $1,850 | | Load Balancer | Standard | $25 | | Storage | 2TB Premium SSD | $350 | | Backup | 2TB + operations | $180 | | Network Egress | ~500GB/month | $45 | | Monitoring | Azure Monitor | $100 | | Total | | ~$4,010/month |
Annual: ~$48,000
| Resource | Cost | Monthly | |----------|------|---------| | Hardware (amortized 3 years) | $35,000 capex | $970 | | Colocation (rack space, power) | $800/month | $800 | | Network (1Gbps dedicated) | $500/month | $500 | | Backup (on-prem NAS) | $5,000 capex | $140 | | Maintenance contract | $300/month | $300 | | Total | | ~$2,710/month |
Annual: ~$32,500
Cost difference: Self-hosted is ~33% cheaper for this workload.
But wait—this doesn't include operational overhead. Let's factor that in.
Pros:
Cons:
Time investment: ~5 hours/week for monitoring and optimization
Pros:
Cons:
Time investment: ~15 hours/week for maintenance, monitoring, backups, patches
Add operational time at $75/hour (sysadmin salary + benefits):
Azure: $4,010 + (5 hrs × $75 × 4 weeks) = $5,510/month
Self-Hosted: $2,710 + (15 hrs × $75 × 4 weeks) = $7,210/month
Reversed: Azure is actually 23% cheaper when you include operational overhead.
Bahrain:
UAE:
Saudi Arabia:
| Country | Azure Region | Compliance Certifications | |---------|--------------|---------------------------| | Bahrain | ❌ None | N/A | | UAE | ✅ UAE North (Dubai) | ISO 27001, SOC 1/2/3 | | Saudi Arabia | ✅ Saudi Arabia Central (Riyadh) | ISO 27001, SOC 1/2/3 |
Problem: No Azure region in Bahrain.
Solution options:
┌─────────────────────────────────────────────────┐
│ Bahrain (On-Premises) │
│ ┌─────────────────────────────────────────┐ │
│ │ Sensitive Data: Payroll, HR, Finance │ │
│ │ - Full control │ │
│ │ - Data residency guaranteed │ │
│ └─────────────────────────────────────────┘ │
└─────────────────────────────────────────────────┘
│
│ Sync (encrypted)
↓
┌─────────────────────────────────────────────────┐
│ Azure UAE North (Dubai) │
│ ┌─────────────────────────────────────────┐ │
│ │ Non-Sensitive: Reporting, Analytics │ │
│ │ - Auto-scaling │ │
│ │ - Global access │ │
│ └─────────────────────────────────────────┘ │
└─────────────────────────────────────────────────┘
| Scenario | Azure (UAE) | Self-Hosted (Bahrain) | |----------|-------------|----------------------| | Local users (Bahrain) | 45ms | 8ms | | Regional users (GCC) | 35ms | 25ms | | Global users (Europe) | 85ms | 150ms | | Global users (Asia) | 120ms | 180ms |
Insight: Self-hosted wins for local users. Azure wins for global access.
Azure:
Self-Hosted:
# Azure Site Recovery configuration
Primary: Azure UAE North
Secondary: Azure Saudi Arabia Central
RPO (Recovery Point Objective): 5 minutes
RTO (Recovery Time Objective): 15 minutes
Cost: ~$800/month for replication
# Our on-prem DR setup
Primary: Bahrain datacenter
Secondary: UAE colocation facility
RPO: 1 hour (backup frequency)
RTO: 4 hours (manual failover)
Cost: ~$1,200/month (secondary site + replication)
Azure advantage: Faster recovery, lower cost for DR
Estimated value: ~$500/month if implemented separately
Total: ~$200/month + significant configuration time
Winner: Azure for out-of-the-box security. Self-hosted for full control.
✅ Choose Azure when:
❌ Avoid Azure when:
✅ Choose Self-Hosted when:
❌ Avoid Self-Hosted when:
For most enterprise clients, we recommend hybrid:
Sensitive Workloads → On-Premises
├── Payroll processing
├── Core financial transactions
├── HR data
└── Compliance-mandated data
Non-Sensitive Workloads → Azure
├── Reporting and analytics
├── Public-facing portals
├── Development/test environments
└── Disaster recovery
- Inventory all applications and data
- Classify by sensitivity and compliance requirements
- Map dependencies
- Estimate costs for both options
- Migrate non-critical workload to Azure
- Test performance, connectivity, DR
- Validate cost projections
- Train team on Azure operations
- Migrate workload by workload
- Maintain parallel environments during transition
- Validate each migration before proceeding
- Decommission on-prem resources gradually
- 4 physical servers in Bahrain datacenter
- Manual backups
- 4-hour RTO
- $3,200/month fully loaded
- 20 hours/week ops time
- Payroll processing: On-prem (data residency)
- Reporting portal: Azure UAE North
- DR: Azure Saudi Arabia Central
- $4,100/month fully loaded
- 8 hours/week ops time
- 15-minute RTO for reporting
Trade-off: Slightly higher cost for dramatically better DR and reduced ops burden.
Deploying enterprise systems in the Middle East? Happy to share more specific insights. Find me on LinkedIn.