Skip to main content

Why Migrate from Hosting Platforms?

Streamlined hosting platforms (Heroku, Render, Fly.io, Railway, etc.) are great for getting started, but as you scale, you hit limitations:

Common Pain Points

Cost escalation:
  • Expensive as you grow
  • Limited control over resource allocation
  • Forced into higher tiers for features
Vendor lock-in:
  • Can’t switch providers easily
  • Locked into proprietary services
  • No multi-cloud options
Limited flexibility:
  • Restricted configuration options
  • Can’t optimize for your specific needs
  • Limited infrastructure control
Platform constraints:
  • Specific buildpack requirements
  • Limited customization
  • Regional availability restrictions

What Monk Offers Instead

  • Multi-cloud freedom — Deploy to AWS, GCP, Azure, DigitalOcean, or any cloud
  • Cost control — 30-60% savings typical, you control resources directly
  • Full flexibility — Configure everything, no platform limitations
  • No vendor lock-in — Switch clouds anytime
  • Your infrastructure — Everything on accounts you control (BYOI)

What Monk Reads from Your Existing Setup

Monk analyzes your codebase to understand what your platform hosting currently provides:

Configuration Files Monk Uses

Heroku:
  • Procfile — Process types and commands
  • app.json — App configuration
  • Buildpack configurations
  • Add-on requirements (databases, caches, etc.)
Render:
  • render.yaml — Service definitions
  • Environment variables
  • Build commands
  • Start commands
Fly.io:
  • fly.toml — App configuration
  • Dockerfile (if present)
  • Service configurations
Railway:
  • Railway service configurations
  • Environment variables
  • Build settings
Netlify/Vercel (for frontends):
  • netlify.toml / vercel.json
  • Build commands
  • Redirect rules
  • Environment variables
Even without platform-specific config files, Monk can deploy your application by analyzing your source code directly!

Migration Steps

1

Install Monk

Install Monk in VS Code, Cursor, or Windsurf.Installation Guide
2

Clone Your Repository

Clone your application repository locally and open it in your IDE.
3

Review Environment Variables

Export your environment variables from your current platform. You can provide these to Monk during deployment. Most platforms let you export via CLI or dashboard.
4

Tell Monk to Deploy

Open Monk chat (Cmd+Shift+M) and tell it to deploy: deploy this application to AWS Or choose your preferred cloud provider.
5

Monk Analyzes Your App

Monk reads your code and detects: - Languages and frameworks - Services needed (web, worker, cron jobs) - Dependencies (databases, caches, queues) - Build and start commands - Environment variable requirements
6

Provide Environment Variables

When Monk asks, provide the environment variables you exported earlier. Monk securely stores them.
7

Provide Cloud Credentials

Give Monk credentials to provision resources on your chosen cloud. These stay on your machine. → Security
8

Monk Builds & Deploys

Monk autonomously: - Containerizes your application - Provisions cloud infrastructure - Deploys databases, caches, queues - Configures networking and SSL - Wires everything together
9

Test New Deployment

Monk provides URLs to access your application. Test thoroughly while your old platform continues running.
10

Migrate Data

For databases, export data from your platform add-on and import to your new Monk-deployed database. → Working with Databases
11

Switch DNS

When ready, update your DNS to point to the new deployment. Your old platform remains untouched until you’re ready.
12

Decommission Old Platform

After confirming everything works, shut down resources on your old platform.

Platform-Specific Migration Examples

From Heroku

What Monk replicates:
Heroku FeatureMonk Equivalent
Dynos (web/worker)Containerized services
Add-ons (Postgres, Redis)Databases & Essential Services
BuildpacksAutomatic code analysis & containerization
Config varsEnvironment variables
Heroku PostgresPostgreSQL (managed or self-hosted)
Heroku RedisRedis (managed or self-hosted)
Review appsMultiple environment deployments
Example migration:
You: deploy this Heroku app to AWS

Monk: I see this is a Heroku application. Let me analyze it...
      Found: Procfile with web and worker processes
      Detected: Node.js with Express
      Add-ons: Heroku Postgres, Heroku Redis

      I'll deploy:
      - Web dyno → Containerized Express API
      - Worker dyno → Containerized background worker
      - Postgres add-on → RDS PostgreSQL (or self-hosted if preferred)
      - Redis add-on → ElastiCache (or self-hosted if preferred)

      Proceed?

From Render

What Monk replicates:
Render FeatureMonk Equivalent
Web ServicesContainerized web apps
Background WorkersContainerized worker processes
Cron JobsScheduled tasks
Managed PostgreSQLPostgreSQL (managed or self-hosted)
Managed RedisRedis (managed or self-hosted)
Static SitesNetlify or Vercel deployment

From Fly.io

What Monk replicates:
Fly.io FeatureMonk Equivalent
MachinesContainerized services
Fly PostgresPostgreSQL deployment
Fly RedisRedis deployment
fly.toml configAutomatic configuration from code
Multi-regionMulti-cloud deployment

From Railway

What Monk replicates:
Railway FeatureMonk Equivalent
ServicesContainerized services
DatabasesDatabase deployment
Auto-deployCI/CD integration
Environment variablesConfiguration management

What Gets Better with Monk

Cost Savings

Typical scenario:
  • Heroku: $250-500/month for medium app
  • Monk on AWS/DO: $75-150/month for same resources
  • Savings: 50-70% typical
Cost Tracking to monitor spending

More Control

  • Choose exact instance types
  • Configure networking precisely
  • Optimize for your workload
  • Use any cloud service
  • No platform limitations

Easier Operations

With platform hosting:
heroku logs --tail
heroku ps:scale web=3
heroku config:set KEY=value
heroku addons:create postgres
With Monk:
show me the logs
scale to 3 instances
set environment variable KEY=value
add a PostgreSQL database
Natural language. No CLI memorization. Monk handles everything.

Common Migration Questions

Do I need to rewrite my application?

No. Monk deploys your application as-is. No code changes required.

Can I test before fully migrating?

Yes. Run both deployments in parallel. Test the Monk deployment thoroughly before switching traffic.

What about my database data?

Export from your platform add-on, import to your new database. Manual for now, automated migration coming soon.

Can I migrate gradually?

Yes. Migrate services one at a time:
  1. Start with a non-critical service
  2. Test and validate
  3. Migrate more services
  4. Complete migration when confident

What if something goes wrong?

Your platform hosting stays running until you shut it down. Simply switch DNS back if needed.

After Migration

What You Get

  • Autonomous operations — Manage everything via chat
  • Multi-cloud flexibility — Deploy anywhere
  • Cost transparency — Real-time cost tracking
  • Better scalingAutomatic scaling as needed
  • Advanced features — Full cloud capabilities, not limited by platform
  • CI/CD automation — Auto-deploy on push

Next Steps

Need Help?

Ask Monk directly:
how do I migrate from Heroku?
Monk understands your specific setup and guides you through migration. Support:

Start Migrating

Ready to leave platform hosting behind?
  1. Install Monk
  2. Open your project in your IDE
  3. Tell Monk: deploy this application
That’s it. Monk handles the rest.