DEV Community

Cover image for Exodus: move an app to Google Cloud Run with the coding agent you already use
ELIM
ELIM

Posted on

Exodus: move an app to Google Cloud Run with the coding agent you already use

Exodus is on Product Hunt today: Exodus by elim.io.

Exodus is a free web cabinet and an open-source CLI. Together with the coding agent you already use, such as Claude Code, Codex, Cursor or Gemini CLI, it audits an app on your machine. It shows what the app costs today and on Google Cloud Run, lists every change the move needs with its file and line, and gives the agent a plan to work through. It can also design a new product for Cloud Run from an idea.

Why we built it

Cloud Run suits most web apps: it scales to zero, bills only for the time your code runs, and includes 2 million requests a month in its free tier. Moving an app there from a platform such as Heroku, Railway or Render is rarely about the container. It is about four habits a platform with long-running processes lets you keep and Cloud Run does not.

  1. Timers inside the process. An instance has CPU only while it answers a request, and there may be several instances, so a cron in your server fires late, twice or never. Each schedule moves to Cloud Scheduler: short work calls an endpoint, long work starts a Cloud Run job.
  2. A worker waiting on a queue. For the same reason the jobs stall between requests. Each job becomes an HTTP task in Cloud Tasks that posts to a handler, and the queue keeps the retries and the rate limits.
  3. Files on local disk. The disk lives in the instance's memory and disappears when the instance stops; other instances never see it. Uploads go to a Cloud Storage bucket through a signed URL, and the app keeps only the key.
  4. Sessions in memory. The next request lands on another instance and the user is signed out. The session goes into a signed cookie or a table of the database the app already has.

We met all four while moving our own apps and wrote 59 guides about them along the way. Exodus is those guides turned into a tool.

How it works

  1. Sign up at app.exodus.elim.io and install the CLI once: curl -fsSL exodus.elim.io/install | sh
  2. Give your agent the one line from the cabinet. It runs exodus init and exodus audit in your repository, answers the questions it can from the code and asks you the rest.
  3. exodus send uploads the findings and the answers, and the cabinet builds the report: today's bill against Cloud Run at Google's list prices, the changes, and a plan. Exodus never receives your source code.
  4. The agent works through the plan task by task, and each new send updates the report.

A sample report

exodus.elim.io/demo opens the report of a sample project, lumen-api: a Rust API with a worker, timers and uploads on Railway, $48.00 a month today against $10.83 on Cloud Run after 4 changes, with 4 of 9 plan tasks done.

Links

We would like to hear where the audit gets your app wrong. Comments here or on Product Hunt both reach us.

Top comments (0)