By the end of 2023, after working with Docker and Kubernetes, I was curious about serverless architectures. I had seen AWS Lambda, Vercel, and Netlify growing in popularity, and clients started asking about “serverless” apps.
At first, I thought serverless was just a buzzword. But after experimenting, I realized it’s a different way of thinking about deployments — one that made sense for certain kinds of projects.
Serverless doesn’t mean “no servers” — it means you don’t manage the servers yourself.
Instead of provisioning EC2 instances or Kubernetes pods, you write small functions that cloud providers run on demand.
Examples:
AWS Lambda
Google Cloud Functions
Vercel (serverless functions + hosting)
Netlify Functions
// hello.js (AWS Lambda / Netlify style)
exports.handler = async (event) => {
return {
statusCode: 200,
body: JSON.stringify({ message: "Hello from Serverless!" }),
};
};
Deploy this function → it runs only when triggered. No server running 24/7.
Lightweight APIs → Instead of running a whole Node/Rails server, I could spin up a few Lambda functions.
Scheduled Jobs → Cron-like tasks without a dedicated server.
Prototypes & MVPs → Super fast to deploy with low cost.
Event-driven Workflows → E.g., when a file uploads to S3, trigger a function to process it.
Serverless is not a replacement for everything.
Great for APIs, triggers, and small services.
Not great for monolithic apps with persistent connections.
Best used alongside traditional backends, not as a replacement.
By late 2023, I didn’t abandon Rails or Node servers for serverless. Instead, I started mixing them:
Rails/Node for core apps
Serverless for functions like file processing, email triggers, and light APIs
It was a big shift in my mindset: serverless wasn’t just about cost — it was about choosing the right tool for the right workload.