# Provider Comparison Matrix

This document provides a comprehensive comparison of supported cloud providers: Hetzner, UpCloud, AWS, and DigitalOcean. Use this matrix to make informed decisions about which provider is best suited for your workloads.

## Feature Comparison

### Compute

| Feature | Hetzner | UpCloud | AWS | DigitalOcean |
|---------|---------|---------|-----|--------------|
| Product Name | Cloud Servers | Servers | EC2 | Droplets |
| Instance Sizing | Standard, dedicated cores | 2-32 vCPUs | Extensive (t2, t3, m5, c5, etc) | 1-48 vCPUs |
| Custom CPU/RAM | ✓ | ✓ | Limited | ✗ |
| Hourly Billing | ✓ | ✓ | ✓ | ✓ |
| Monthly Discount | 30% | 25% | ~30% (RI) | ~25% |
| GPU Instances | ✓ | ✗ | ✓ | ✗ |
| Auto-scaling | Via API | Via API | Native (ASG) | Via API |
| Bare Metal | ✓ | ✗ | ✓ (EC2) | ✗ |

### Block Storage

| Feature | Hetzner | UpCloud | AWS | DigitalOcean |
|---------|---------|---------|-----|--------------|
| Product Name | Volumes | Storage | EBS | Volumes |
| SSD Volumes | ✓ | ✓ | ✓ (gp3, io1) | ✓ |
| HDD Volumes | ✗ | ✓ | ✓ (st1, sc1) | ✗ |
| Max Volume Size | 10 TB | Unlimited | 16 TB | 100 TB |
| IOPS Provisioning | Limited | ✓ | ✓ | ✗ |
| Snapshots | ✓ | ✓ | ✓ | ✓ |
| Encryption | ✓ | ✓ | ✓ | ✓ |
| Backup Service | ✗ | ✗ | ✓ (AWS Backup) | ✓ |

### Object Storage

| Feature | Hetzner | UpCloud | AWS | DigitalOcean |
|---------|---------|---------|-----|--------------|
| Product Name | Object Storage | — | S3 | Spaces |
| API Compatibility | S3-compatible | — | S3 (native) | S3-compatible |
| Pricing (per GB) | €0.025 | N/A | $0.023 | $0.015 |
| Regions | 2 | N/A | 30+ | 4 |
| Versioning | ✓ | N/A | ✓ | ✓ |
| Lifecycle Rules | ✓ | N/A | ✓ | ✓ |
| CDN Integration | ✗ | N/A | ✓ (CloudFront) | ✓ (CDN add-on) |
| Access Control | Bucket policies | N/A | IAM + bucket policies | Token-based |

### Load Balancing

| Feature | Hetzner | UpCloud | AWS | DigitalOcean |
|---------|---------|---------|-----|--------------|
| Product Name | Load Balancer | Load Balancer | ELB/ALB/NLB | Load Balancer |
| Type | Layer 4/7 | Layer 4 | Layer 4/7 | Layer 4/7 |
| Health Checks | ✓ | ✓ | ✓ | ✓ |
| SSL/TLS Termination | ✓ | Limited | ✓ | ✓ |
| Path-based Routing | ✓ | ✗ | ✓ (ALB) | ✗ |
| Host-based Routing | ✓ | ✗ | ✓ (ALB) | ✗ |
| Sticky Sessions | ✓ | ✓ | ✓ | ✓ |
| Geographic Distribution | ✗ | ✗ | ✓ (multi-region) | ✗ |
| DDoS Protection | Basic | ✓ | ✓ (Shield) | ✓ |

### Managed Databases

| Feature | Hetzner | UpCloud | AWS | DigitalOcean |
|---------|---------|---------|-----|--------------|
| PostgreSQL | ✗ | ✗ | ✓ (RDS) | ✓ |
| MySQL | ✗ | ✗ | ✓ (RDS) | ✓ |
| Redis | ✗ | ✗ | ✓ (ElastiCache) | ✓ |
| MongoDB | ✗ | ✗ | ✓ (DocumentDB) | ✗ |
| Multi-AZ | N/A | N/A | ✓ | ✓ |
| Automatic Backups | N/A | N/A | ✓ | ✓ |
| Read Replicas | N/A | N/A | ✓ | ✓ |
| Param Groups | N/A | N/A | ✓ | ✗ |

### Kubernetes

| Feature | Hetzner | UpCloud | AWS | DigitalOcean |
|---------|---------|---------|-----|--------------|
| Service | Manual K8s | Manual K8s | EKS | DOKS |
| Managed Service | ✗ | ✗ | ✓ | ✓ |
| Control Plane Managed | ✗ | ✗ | ✓ | ✓ |
| Node Management | ✗ | ✗ | ✓ (node groups) | ✓ (node pools) |
| Multi-AZ | ✗ | ✗ | ✓ | ✓ |
| Ingress Support | Via add-on | Via add-on | ✓ (ALB) | ✓ |
| Storage Classes | Via add-on | Via add-on | ✓ (EBS) | ✓ |

### CDN/Edge

| Feature | Hetzner | UpCloud | AWS | DigitalOcean |
|---------|---------|---------|-----|--------------|
| CDN Service | ✗ | ✗ | ✓ (CloudFront) | ✓ |
| Edge Locations | — | — | 600+ | 12+ |
| Geographic Routing | — | — | ✓ | ✗ |
| Cache Invalidation | — | — | ✓ | ✓ |
| Origins | — | — | Any | HTTP/S, Object Storage |
| SSL/TLS | — | — | ✓ | ✓ |
| DDoS Protection | — | — | ✓ (Shield) | ✓ |

### DNS

| Feature | Hetzner | UpCloud | AWS | DigitalOcean |
|---------|---------|---------|-----|--------------|
| DNS Service | ✓ (Basic) | ✗ | ✓ (Route53) | ✓ |
| Zones | ✓ | N/A | ✓ | ✓ |
| Failover | Manual | N/A | ✓ (health checks) | ✓ (health checks) |
| Geolocation | ✗ | N/A | ✓ | ✗ |
| DNSSEC | ✓ | N/A | ✓ | ✗ |
| API Management | Limited | N/A | Full | Full |

## Pricing Comparison

### Compute Pricing (Monthly)

Comparison for 1-year term where applicable:

| Configuration | Hetzner | UpCloud | AWS* | DigitalOcean |
|---------------|---------|---------|------|--------------|
| 1 vCPU, 1 GB RAM | €3.29 | $5 | $18 (t3.micro) | $6 |
| 2 vCPU, 4 GB RAM | €6.90 | $15 | $36 (t3.small) | $24 |
| 4 vCPU, 8 GB RAM | €13.80 | $30 | $73 (t3.medium) | $48 |
| 8 vCPU, 16 GB RAM | €27.60 | $60 | $146 (t3.large) | $96 |
| 16 vCPU, 32 GB RAM | €55.20 | $120 | $291 (t3.xlarge) | $192 |

*AWS pricing: on-demand; reserved instances 25-30% discount

### Storage Pricing (Monthly)

Per GB for block storage:

| Provider | Price/GB | Monthly Cost (100 GB) |
|----------|----------|----------------------|
| Hetzner | €0.026 | €2.60 |
| UpCloud | $0.025 | $2.50 |
| AWS EBS | $0.10 | $10.00 |
| DigitalOcean | $0.10 | $10.00 |

### Data Transfer Pricing

Outbound data transfer (per GB):

| Provider | First 1 TB | Beyond 1 TB |
|----------|-----------|-----------|
| Hetzner | Included | €0.12/GB |
| UpCloud | $0.02/GB | $0.01/GB |
| AWS | $0.09/GB | $0.085/GB |
| DigitalOcean | $0.01/GB | $0.01/GB |

### Total Cost of Ownership (TCO) Examples

#### Small Application (2 servers, 100 GB storage)

| Provider | Compute | Storage | Data Transfer | Monthly |
|----------|---------|---------|----------------|---------|
| Hetzner | €13.80 | €2.60 | Included | **€16.40** |
| UpCloud | $30 | $2.50 | $20 | **$52.50** |
| AWS | $72 | $10 | $45 | **$127** |
| DigitalOcean | $48 | $10 | Included | **$58** |

#### Medium Application (5 servers, 500 GB storage, 10 TB data transfer)

| Provider | Compute | Storage | Data Transfer | Monthly |
|----------|---------|---------|----------------|---------|
| Hetzner | €69 | €13 | €1,200 | **€1,282** |
| UpCloud | $150 | $12.50 | $200 | **$362.50** |
| AWS | $360 | $50 | $900 | **$1,310** |
| DigitalOcean | $240 | $50 | Included | **$290** |

## Regional Availability

### Hetzner Regions

| Region | Location | Data Center | Highlights |
|--------|----------|-------------|------------|
| nbg1 | Nuremberg, Germany | 3 | EU hub, good performance |
| fsn1 | Falkenstein, Germany | 1 | Lower latency, German regulations |
| hel1 | Helsinki, Finland | 1 | Nordic region option |
| ash | Ashburn, USA | 1 | North American presence |

### UpCloud Regions

| Region | Location | Highlights |
|--------|----------|------------|
| fi-hel1 | Helsinki, Finland | Primary EU location |
| de-fra1 | Frankfurt, Germany | EU alternative |
| gb-lon1 | London, UK | European coverage |
| us-nyc1 | New York, USA | North America |
| sg-sin1 | Singapore | Asia Pacific |
| jp-tok1 | Tokyo, Japan | APAC alternative |

### AWS Regions (Selection)

| Region | Location | Availability Zones | Highlights |
|--------|----------|-------------------|------------|
| us-east-1 | N. Virginia, USA | 6 | Largest, most services |
| eu-west-1 | Ireland | 3 | EU primary, GDPR compliant |
| eu-central-1 | Frankfurt, Germany | 3 | German data residency |
| ap-southeast-1 | Singapore | 3 | APAC primary |
| ap-northeast-1 | Tokyo, Japan | 4 | Asia alternative |

### DigitalOcean Regions

| Region | Location | Highlights |
|--------|----------|------------|
| nyc3 | New York, USA | Primary US location |
| sfo3 | San Francisco, USA | US West Coast |
| lon1 | London, UK | European hub |
| fra1 | Frankfurt, Germany | German regulations |
| sgp1 | Singapore | APAC coverage |
| blr1 | Bangalore, India | India region |

### Regional Coverage Summary

**Best Global Coverage**: AWS (30+ regions, most services)
**Best EU Coverage**: All providers have good EU options
**Best APAC Coverage**: AWS (most regions), DigitalOcean (Singapore)
**Best North America**: All providers have coverage
**Emerging Markets**: DigitalOcean (India via Bangalore)

## Compliance and Certifications

### Security Standards

| Standard | Hetzner | UpCloud | AWS | DigitalOcean |
|----------|---------|---------|-----|--------------|
| GDPR | ✓ | ✓ | ✓ | ✓ |
| CCPA | ✓ | ✓ | ✓ | ✓ |
| SOC 2 Type II | ✓ | ✓ | ✓ | ✓ |
| ISO 27001 | ✓ | ✓ | ✓ | ✓ |
| ISO 9001 | ✗ | ✗ | ✓ | ✓ |
| FedRAMP | ✗ | ✗ | ✓ | ✗ |

### Industry-Specific Compliance

| Standard | Hetzner | UpCloud | AWS | DigitalOcean |
|----------|---------|---------|-----|--------------|
| HIPAA | ✗ | ✗ | ✓ | ✓** |
| PCI-DSS | ✓ | ✓ | ✓ | ✓ |
| HITRUST | ✗ | ✗ | ✓ | ✗ |
| FIPS 140-2 | ✗ | ✗ | ✓ | ✗ |
| SOX (Sarbanes-Oxley) | Limited | Limited | ✓ | Limited |

**DigitalOcean: Requires BAA for HIPAA compliance

### Data Residency Support

| Region | Hetzner | UpCloud | AWS | DigitalOcean |
|--------|---------|---------|-----|--------------|
| EU (GDPR) | ✓ DE,FI | ✓ FI,DE,GB | ✓ (multiple) | ✓ (multiple) |
| Germany (NIS2) | ✓ | ✓ | ✓ | ✓ |
| UK (Post-Brexit) | ✗ | ✓ GB | ✓ | ✓ |
| USA (CCPA) | ✗ | ✓ | ✓ | ✓ |
| Canada | ✗ | ✗ | ✓ | ✗ |
| Australia | ✗ | ✗ | ✓ | ✗ |
| India | ✗ | ✗ | ✓ | ✓ |

## Use Case Recommendations

### 1. Cost-Sensitive Startups

**Recommended**: Hetzner primary + DigitalOcean backup

**Rationale**:
- Hetzner has best price/performance ratio
- DigitalOcean for geographic diversification
- Both have simple interfaces and good documentation
- Monthly cost: $30-80 for basic HA setup

**Example Setup**:
- Primary: Hetzner cx31 (2 vCPU, 4 GB)
- Backup: DigitalOcean $24/month droplet
- Database: Self-managed PostgreSQL or Hetzner volume
- Total: ~$35/month

### 2. Enterprise Production

**Recommended**: AWS primary + UpCloud backup

**Rationale**:
- AWS for managed services and compliance
- UpCloud for cost-effective disaster recovery
- AWS compliance certifications (HIPAA, FIPS, SOC2)
- Multiple regions within AWS
- Mature enterprise support

**Example Setup**:
- Primary: AWS RDS (managed DB)
- Secondary: UpCloud for compute burst
- Compliance: Full audit trail and encryption

### 3. High-Performance Computing

**Recommended**: Hetzner + AWS spot instances

**Rationale**:
- Hetzner for sustained compute (good price)
- AWS spot for burst workloads (70-90% discount)
- Hetzner bare metal for specialized workloads
- Cost-effective scaling

### 4. Multi-Region Global Application

**Recommended**: AWS + DigitalOcean + Hetzner

**Rationale**:
- AWS for primary regions and managed services
- DigitalOcean for edge locations and simpler regions
- Hetzner for EU cost optimization
- Geographic redundancy across 3 providers

**Example Setup**:
- US: AWS (primary region)
- EU: Hetzner (cost-optimized)
- APAC: DigitalOcean (Singapore)
- Global: CloudFront CDN

### 5. Database-Heavy Applications

**Recommended**: AWS RDS/ElastiCache + DigitalOcean Spaces

**Rationale**:
- AWS managed databases are feature-rich
- DigitalOcean managed DB for simpler needs
- Both support replicas and backups
- Cost: $60-200/month for medium database

### 6. Web Applications

**Recommended**: DigitalOcean + AWS

**Rationale**:
- DigitalOcean for simplicity and speed
- Droplets easy to manage and scale
- AWS for advanced features and multi-region
- Good community and documentation

## Provider Strength Matrix

### Performance ⚡

| Category | Winner | Notes |
|----------|--------|-------|
| CPU Performance | Hetzner | Dedicated cores, good specs per price |
| Network Bandwidth | AWS | 1Gbps+ guaranteed in multiple regions |
| Storage IOPS | AWS | gp3 with 16K IOPS provisioning |
| Latency (Global) | AWS | Most regions, best infrastructure |

### Cost 💰

| Category | Winner | Notes |
|----------|--------|-------|
| Compute | Hetzner | 50% cheaper than AWS on-demand |
| Managed Services | AWS | Only provider with full managed stack |
| Data Transfer | DigitalOcean | Included with many services |
| Storage | Hetzner Object Storage | €0.025/GB vs AWS S3 $0.023/GB |

### Ease of Use 🎯

| Category | Winner | Notes |
|----------|--------|-------|
| UI/Dashboard | DigitalOcean | Simple, intuitive, clear pricing |
| CLI Tools | AWS | Comprehensive aws-cli (but steep) |
| API Documentation | DigitalOcean | Clear examples, community-driven |
| Getting Started | DigitalOcean | Fastest path to first deployment |

### Enterprise Features 🏢

| Category | Winner | Notes |
|----------|--------|-------|
| Managed Services | AWS | RDS, ElastiCache, SQS, SNS, etc |
| Compliance | AWS | Most certifications (HIPAA, FIPS, etc) |
| Support | AWS | 24/7 support with paid plans |
| Scale | AWS | Best for 1000+ servers |

## Decision Matrix

Use this matrix to quickly select a provider:

```text
If you need:                           Then use:
─────────────────────────────────────────────────────────────
Lowest cost compute                    Hetzner
Simplest interface                     DigitalOcean
Managed databases                      AWS or DigitalOcean
Global multi-region                    AWS
Compliance (HIPAA/FIPS)                AWS
European data residency                Hetzner or DigitalOcean
High performance compute               Hetzner or AWS (bare metal)
Disaster recovery setup                UpCloud or Hetzner
Quick startup                          DigitalOcean
Enterprise SLA                         AWS or UpCloud
```

## Conclusion

- **Hetzner**: Best for cost-conscious teams, European focus, good performance
- **UpCloud**: Mid-market option, Nordic/EU focus, reliable alternative
- **AWS**: Enterprise standard, global coverage, most services, highest cost
- **DigitalOcean**: Developer-friendly, simplicity-focused, good value

For most organizations, a **multi-provider strategy** combining Hetzner (compute), AWS (managed services), and DigitalOcean (edge) provides the best balance of cost, capability, and resilience.
