Skip to main content

Overview

deployERP supports multiple cloud providers, giving you the flexibility to deploy Odoo servers on your preferred infrastructure. This guide covers provider setup, configuration, and management.

Supported Providers

Amazon Web Services

Enterprise-grade infrastructure with global reach
  • 25+ regions worldwide
  • Comprehensive services
  • Reserved instance support

DigitalOcean

Developer-friendly with simple pricing
  • 14 data centers
  • Predictable billing
  • Easy management

Microsoft Azure

Enterprise integration and hybrid cloud
  • 60+ regions
  • Active Directory integration
  • Compliance certifications

Vultr

High-performance compute instances
  • 25+ locations
  • NVMe SSD storage
  • DDoS protection

Hetzner Cloud

Cost-effective European hosting
  • GDPR compliant
  • German data centers
  • Competitive pricing

Google Cloud

Advanced analytics and machine learning
  • Global network
  • Sustained use discounts
  • Kubernetes integration

Provider Setup

Adding a Provider

1

Navigate to Providers

Go to Settings → Cloud Providers in your dashboard
2

Select Provider Type

Choose your cloud provider from the list
3

Enter Credentials

Provide API keys or access credentials
4

Configure Settings

Set default regions and preferences
5

Test Connection

Verify the integration is working

Provider-Specific Setup

AWS Configuration

  • IAM User Method
  • IAM Role Method
Recommended approach using IAM user:
  1. Create IAM user in AWS Console
  2. Attach required policies:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:*",
        "iam:ListInstanceProfiles",
        "iam:PassRole"
      ],
      "Resource": "*"
    }
  ]
}
  1. Generate access keys
  2. Enter in deployERP:
access_key_id
string
required
AWS Access Key ID
secret_access_key
string
required
AWS Secret Access Key
default_region
string
default:"us-east-1"
Default AWS region for deployments

DigitalOcean Configuration

Setup process:
  1. Generate API token in DigitalOcean dashboard
  2. Configure in deployERP:
api_token
string
required
DigitalOcean personal access token with read/write scope
spaces_access_key
string
Optional: For backup storage integration
spaces_secret_key
string
Optional: For backup storage integration

Azure Configuration

Setup process:
  1. Register application in Azure AD
  2. Create service principal
  3. Assign contributor role
  4. Configure in deployERP:
tenant_id
string
required
Azure Active Directory tenant ID
client_id
string
required
Application (client) ID
client_secret
string
required
Client secret value
subscription_id
string
required
Azure subscription ID

Provider Features Comparison

FeatureAWSDigitalOceanAzureVultrHetznerGCP
Regions25+1460+25+335+
Instance Types400+20+200+30+10+100+
Block Storage
Load Balancers
Private Networks
Backups
IPv6
Custom Images

Managing Multiple Providers

Provider Strategy

Use multiple providers for:

Geographic Coverage

Deploy closer to users worldwide

Cost Optimization

Leverage regional pricing differences

Redundancy

Avoid single provider dependency

Compliance

Meet data residency requirements

Provider Selection Logic

deployERP can automatically select providers based on:
provider_selection:
  strategy: "least_cost"  # or "lowest_latency", "round_robin"
  rules:
    - region: "europe"
      preferred_provider: "hetzner"
    - region: "asia"
      preferred_provider: "vultr"
    - region: "americas"
      preferred_provider: "digitalocean"
  fallback: "aws"

Provider Permissions

Minimum Required Permissions

  • AWS
  • Azure
  • GCP
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:RunInstances",
        "ec2:TerminateInstances",
        "ec2:DescribeInstances",
        "ec2:DescribeImages",
        "ec2:DescribeKeyPairs",
        "ec2:DescribeSecurityGroups",
        "ec2:AuthorizeSecurityGroupIngress",
        "ec2:CreateTags",
        "ec2:DescribeVolumes",
        "ec2:AttachVolume",
        "ec2:CreateVolume"
      ],
      "Resource": "*"
    }
  ]
}

Provider Limits and Quotas

Understanding Limits

Each provider has resource limits:
ProviderDefault vCPU LimitDefault Instance LimitIncrease Method
AWS32 per region20 per regionSupport ticket
DigitalOcean100 total25 totalAccount settings
Azure20 per region25 per regionPortal request
Vultr50 total100 totalSupport ticket
Hetzner10 per project50 per projectSupport ticket
GCP24 per region50 per regionQuota page

Monitoring Quotas

View current usage:
# Via API
curl -X GET https://api.deployerp.com/v1/providers/{provider_id}/quotas \
  -H "Authorization: Bearer YOUR_API_KEY"

# Response
{
  "provider": "aws",
  "region": "us-east-1",
  "quotas": {
    "vcpu": {
      "used": 24,
      "limit": 32,
      "percentage": 75
    },
    "instances": {
      "used": 8,
      "limit": 20,
      "percentage": 40
    }
  }
}

Cost Management

Provider Pricing Comparison

Estimated monthly costs for common configurations:
ConfigurationAWSDigitalOceanAzureVultrHetzner
2 vCPU, 4GB RAM$35$24$40$20$8
4 vCPU, 8GB RAM$70$48$80$40$16
8 vCPU, 16GB RAM$140$96$160$80$32
16 vCPU, 32GB RAM$280$192$320$160$64
Prices are estimates and vary by region. Additional costs may apply for storage, bandwidth, and other services.

Cost Optimization Tips

Use Spot Instances

Save up to 90% for non-critical workloads

Reserved Capacity

Commit to 1-3 years for significant discounts

Auto-scaling

Scale down during off-peak hours

Regional Pricing

Deploy in lower-cost regions when possible

Provider Security

Security Best Practices

  1. Credential Management
    • Use least-privilege access
    • Rotate credentials regularly
    • Never share API keys
    • Use provider IAM when possible
  2. Network Security
    • Configure security groups
    • Use private networks
    • Enable DDoS protection
    • Implement IP whitelisting
  3. Compliance
    • Verify provider certifications
    • Understand data residency
    • Review SLAs and guarantees
    • Maintain audit logs

Troubleshooting

Common Provider Issues

IssuePossible CauseSolution
Authentication failsInvalid credentialsRegenerate and update API keys
Quota exceededResource limitsRequest quota increase
Region unavailableService limitationsUse alternative region
Slow provisioningProvider congestionTry different availability zone
Network errorsFirewall rulesCheck security group settings

Provider Status Monitoring

Check provider health:
# Check all providers
deployerp providers status

# Check specific provider
deployerp providers status --provider=aws --region=us-east-1

Provider Migration

Migrating Between Providers

1

Plan Migration

Assess resources and dependencies
2

Create Backup

Full backup of instances and data
3

Provision New Server

Create server on target provider
4

Restore Data

Restore instances from backup
5

Update DNS

Point domains to new server
6

Verify Operation

Test all functionality
7

Decommission Old

Remove old server after verification

Advanced Provider Features

Multi-Cloud Architecture

Deploy across multiple providers:
architecture:
  load_balancer:
    provider: cloudflare
    type: geographic
  
  regions:
    us:
      primary: aws
      secondary: digitalocean
    eu:
      primary: hetzner
      secondary: azure
    asia:
      primary: vultr
      secondary: gcp

Provider Webhooks

Configure webhooks for provider events:
{
  "event": "provider.quota_warning",
  "webhook_url": "https://your-app.com/webhooks/provider",
  "threshold": 80,
  "providers": ["aws", "digitalocean"]
}