Migrate from Azure

Move from Azure App Service, AKS, or Container Apps to RaidFrame.

Overview

Azure offers App Service, Container Apps, AKS, and Azure Functions. Each has its own pricing model, deployment pipeline, and configuration surface. RaidFrame replaces all of them with Docker containers, one config file, and rf deploy.

What Replaces What

Azure ServiceRaidFrame Equivalent
App Servicerf deploy (web service)
Container Appsrf deploy (auto-scaled containers)
AKSrf deploy (no k8s management)
Azure FunctionsCron or worker services
Azure Database for PostgreSQLrf add postgres
Azure Cache for Redisrf add redis
Blob Storagerf add storage
Service Busrf add queue
Application InsightsBuilt-in (rf metrics, rf traces)
Azure Front Door / CDNBuilt-in CDN
Azure DevOps PipelinesBuilt-in CI/CD
Key Vaultrf secrets set
Azure MonitorBuilt-in (rf logs, rf alerts)
Azure Container RegistryBuilt-in (push and deploy)
Cognitive Searchrf add search
SendGrid (Azure)rf add email

Migrate from App Service

Export Configuration

# Get App Service settings
az webapp config show --name my-app --resource-group my-rg --output json > app-config.json
az webapp config appsettings list --name my-app --resource-group my-rg --output json > app-settings.json

Convert to raidframe.yaml

# raidframe.yaml
services:
  web:
    type: web
    build:
      dockerfile: Dockerfile
    port: 8080
    resources:
      cpu: 2
      memory: 4GB
    scaling:
      min: 2
      max: 10
    health_check:
      path: /health

Import Environment Variables

# Convert Azure app settings to .env format
cat app-settings.json | jq -r '.[] | "\(.name)=\(.value)"' > .env

# Push to RaidFrame
rf env push

Database

# Export from Azure Database for PostgreSQL
pg_dump -h my-server.postgres.database.azure.com -U adminuser -d mydb > backup.sql

# Import
rf add postgres --plan pro
rf db import main backup.sql

Migrate from Container Apps

Azure Container Apps is architecturally similar to RaidFrame. Your Dockerfiles work as-is.

# Azure Container Apps (simplified)
properties:
  template:
    containers:
      - name: api
        image: myregistry.azurecr.io/api:latest
        resources:
          cpu: 1.0
          memory: 2Gi
    scale:
      minReplicas: 1
      maxReplicas: 10
      rules:
        - name: http-scaling
          http:
            metadata:
              concurrentRequests: "100"

Becomes:

# raidframe.yaml
services:
  api:
    type: web
    build:
      dockerfile: Dockerfile
    port: 8080
    resources:
      cpu: 1
      memory: 2GB
    scaling:
      min: 1
      max: 10
      target_rps: 100

Migrate from AKS

Same as GKE migration — bring your Dockerfiles, leave the Kubernetes configuration behind:

rf init --from kubernetes ./k8s/

What you stop managing:

  • AKS cluster version upgrades
  • Node pool VM sizes and autoscaling
  • Helm releases and chart versions
  • Ingress controller (nginx/AGIC) configuration
  • Azure CNI and network policies
  • Persistent volume claims
  • Azure AD pod identity / workload identity
  • Cluster monitoring and diagnostics

Migrate from Azure Functions

Function TypeRaidFrame
HTTP triggerWeb service
Timer triggerCron job
Queue triggerWorker with queue
Blob triggerWorker with storage events
services:
  # HTTP trigger → web service
  api:
    type: web
    port: 3000

  # Timer trigger → cron
  nightly-job:
    type: cron
    schedule: "0 2 * * *"
    command: node functions/nightly.js

  # Queue trigger → worker
  processor:
    type: worker
    command: node functions/process-queue.js

Key advantage: no cold starts, no 10-minute execution limit, no consumption plan billing surprises.

Storage Migration

# Export from Azure Blob Storage
az storage blob download-batch -d ./local-copy -s my-container --account-name mystorageaccount

# Upload to RaidFrame
rf add storage
rf storage sync ./local-copy/ s3://my-app-uploads/

Cost Comparison

Typical small SaaS on Azure vs RaidFrame:

ComponentAzure MonthlyRaidFrame
App Service (B2: 2 core, 3.5GB)$55
Azure Database for PostgreSQL$50
Azure Cache for Redis (C0)$16
Blob Storage (50GB)$1
Azure Front Door$35
Application Insights (5GB)$12
Azure DevOps (5 users)$30
Key Vault$1
Total$200/mo$57/mo

Plus: no per-seat charges for Azure DevOps or Azure AD Premium.

Deploy

rf deploy
rf domains add myapp.com