Back to Blog

Why we chose Cloud Run over Vercel for our backend

May 2, 2026 David (CTO) 12 min read

When architecting Rinnode, we faced a common dilemma: where do we host our API routes?

As a platform that processes thousands of form submissions per second during viral launches, we needed something incredibly resilient, fast, and cost-effective.

The Limits of Serverless Functions

While Vercel's Edge and Serverless functions are fantastic for standard frontend-heavy apps, our ingestion engine required heavy asynchronous processing. We do AI spam classification, webhook dispatching, and multi-channel notifications on every submission.

Serverless functions have strict execution time limits and can suffer from cold starts that hurt the end-user's form submission experience.

Enter Google Cloud Run

By moving our core ingestion engine to Google Cloud Run, we gained several massive advantages:

  • Containerization: Total control over the runtime environment.
  • Background Processing: We can return a 200 OK instantly to the user, while processing the AI spam checks in the background of the same container instance.
  • Cost Scaling: Cloud Run scales to zero, but when under heavy load, it handles concurrency much more efficiently than traditional per-request serverless models.

Ultimately, this architecture allows Rinnode to offer generous free tiers without breaking the bank.