# 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.