Managed Platforms

Production without Kubernetes

Managed Platforms

Deploy to Railway, Render, or Heroku in minutes

Managed platforms handle infrastructure automatically: Push code, platform provisions resources, configures SSL, and manages scaling. No Kubernetes required.

Why agents work here: Agentfield agents run as persistent HTTP servers (not serverless functions), making managed platforms like Railway and Render ideal—persistent processes at predictable costs.

Quick Start by Platform

Fastest deployment. Auto-detects via RAILWAY_ENVIRONMENT.

railway init
railway add postgresql
railway up  # Deploy control plane

# Deploy agent (separate service)
cd agents/support
railway init
railway variable set AGENTFIELD_SERVER=https://your-cp.railway.app
railway up

Cost: ~$25-40/month for control plane + 3 agents

Simple pricing. Auto-detects via RENDER_SERVICE_NAME.

Create render.yaml:

services:
  - type: web
    name: control-plane
    envVars:
      - key: AGENTFIELD_POSTGRES_URL
        fromDatabase: {name: db, property: connectionString}
  - type: web
    name: support-agent
    envVars:
      - key: AGENTFIELD_SERVER
        value: https://control-plane.onrender.com
databases:
  - name: db
    plan: starter

Deploy: render create --config render.yaml

Cost: ~$35/month for control plane + 3 agents

Mature platform. Auto-detects via DYNO.

heroku create agentfield-cp
heroku addons:create heroku-postgresql:mini
git push heroku main

# Agent
heroku create support-agent
heroku config:set AGENTFIELD_SERVER=https://agentfield-cp.herokuapp.com
git push heroku main

Cost: ~$40/month for control plane + 3 agents

Global edge. Manual config (no auto-detect).

fly launch --name agentfield-cp
fly postgres create --name db
fly postgres attach db
fly deploy

# Agent
cd agents/support
fly launch --name support-agent
fly secrets set AGENTFIELD_SERVER=https://agentfield-cp.fly.dev
fly deploy

Cost: $0+ (free tier, scales with usage)


Scaling

Scale control plane and agents independently:

# Railway
railway scale support-agent --replicas 5

# Render (in render.yaml)
minInstances: 2
maxInstances: 10

# Heroku
heroku ps:scale web=5 --app support-agent

# Fly.io
fly scale count 5 --app support-agent

Each agent type scales based on its load.


Essential Configuration

Environment variables:

# Control plane
AGENTFIELD_POSTGRES_URL=postgres://...  # Auto-set by platforms
PORT=8080  # Platform assigns dynamically

# Agents
AGENTFIELD_SERVER=https://your-control-plane-url.com
OPENAI_API_KEY=sk-...  # Or other AI provider

Platforms auto-detect: Railway (RAILWAY_ENVIRONMENT), Render (RENDER_SERVICE_NAME), Heroku (DYNO)

For advanced patterns (multi-region, staging/prod, CI/CD), see the Advanced Deployment Patterns Guide.


Troubleshooting

Agent can't connect to control plane:

  • Verify AGENTFIELD_SERVER URL
  • Check control plane is reachable: curl https://your-cp.com/health
  • Check agent logs for errors

Control plane can't reach agent:

  • Ensure agent service is publicly accessible
  • Set AGENT_CALLBACK_URL explicitly if auto-detection fails
  • Verify agent /health endpoint responds

Database connection errors:

  • Upgrade Postgres plan for more connections
  • Reduce control plane replicas
  • Configure AGENTFIELD_POSTGRES_MAX_CONNS


Managed platforms eliminate operational complexity. Deploy in minutes. Scale agents independently. Focus on building, not infrastructure.