Why I moved away from Serverless for a growing SaaS product

Moving Beyond Serverless
Moving Beyond Serverless

When we kicked off a client’s SaaS platform, cost and scalability were top priorities. So we chose:

🛠 AWS Lambda + API Gateway + Serverless Framework

It was perfect… at first.

💡 The problem we were solving:

Build a scalable, low-cost backend fast, without overcommitting infrastructure. Serverless seemed ideal:

– Pay-per-use

– Easy to get individual endpoints live

– Auto-scaled out of the box

✅ What worked well:

– Lightning-fast deployments of single functions

– Easy to prototype and go live quickly

– Initial cost savings for a bootstrapped product

🚫 But what didn’t scale:

– Managing dozens of individual Lambda functions became a headache

– Debugging & testing end-to-end flows was painful

– No shared context, every function was isolated

– It became harder to reason about the system’s behavior

– Developer experience suffered as the complexity grew

🧱 The shift: NestJS Microservices on Kubernetes (Amazon EKS)

As the product matured, we transitioned to a NestJS microservices architecture, all codebase in one monorepo, better structure, cleaner DI, and shared modules.

🟢 Developer experience improved significantly

🟢 Easier testing, better observability

🟢 More predictable deployment pipeline

🟢 Scalable with multiple deployment targets (EKS, App Runner, ECS/Fargate)

📌 My takeaway:

Serverless can be great for early-stage products or low-complexity APIs.

But once your system grows in complexity (workflows, team size, observability ) consider switching to a structured framework like NestJS and a container-based deployment.

If you’re exploring serverless vs containers for your product, happy to share what worked (and didn’t). DM or drop a comment!

Similar Posts