Why we chose Cloud Run over Vercel for our backend
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.