Small teams can run code in three main ways: serverless functions, managed containers or virtual machines. Each bills differently. AWS Lambda in Mumbai charges $0.20 per million requests and includes 1 million free requests a month, while a small EC2 server bills every hour it is on. This guide compares the three using prices published on 7 November 2026.
Three models in plain terms
A virtual machine is a server you rent by the hour. You install the operating system updates, the runtime and your app, and you pay whether it is busy or idle. Containers package your app with its dependencies; a managed service such as AWS Fargate or Azure Container Apps runs them without you managing servers.
Serverless functions such as AWS Lambda or Azure Functions run your code only when an event arrives, billed by request and by memory multiplied by duration. You manage the least, but you accept limits on run time, cold starts and how you structure the app.
Price comparison
The table lists on-demand unit prices from the AWS Price List for Mumbai and the Azure Retail Prices API for Central India, both checked on 7 November 2026. The units differ, which is why simple comparisons mislead: functions bill per GB-second, containers per vCPU-hour and memory-hour, and VMs per hour.
| Service | Model | Unit prices | Free allowance |
|---|---|---|---|
| AWS Lambda (x86) | Serverless | $0.20 per million requests, $0.0000166667 per GB-second | 1M requests, 400,000 GB-s a month |
| AWS Lambda (Arm) | Serverless | $0.20 per million requests, $0.0000133334 per GB-second | Shared free tier |
| Azure Functions Consumption | Serverless | $0.20 per million executions, $0.000016 per GB-second | Free tier meter listed |
| AWS Fargate (x86) | Containers | $0.04256 per vCPU-hour, $0.004655 per GB-hour | None |
| AWS Fargate (Arm) | Containers | $0.02383 per vCPU-hour, $0.00261 per GB-hour | None |
| Azure Container Apps | Containers | $0.000024 per vCPU-second, $0.000003 per GiB-second, $0.40 per million requests | Check Azure pricing page |
| AWS EC2 t4g.small | VM | $0.0112 per hour | None |
| Azure B1s | VM | $0.0112 per hour | None |
What a small workload actually costs
Take an API that handles 3 million requests a month, each running 300 ms at 1 GB of memory. That is 900,000 GB-seconds. On Lambda x86 in Mumbai, after the free 400,000 GB-seconds and 1 million requests, the bill is about $8.33 for compute and $0.40 for requests, roughly $8.73 a month.
The same API on one always-on Fargate task with 1 vCPU and 2 GB costs about $37.87 a month on x86 or $21.21 on Arm. An EC2 t4g.small costs about $8.18 a month, but you patch and monitor it yourself, and one server means no redundancy.
When serverless fits
Serverless suits spiky or low traffic, event-driven jobs such as webhooks, file processing and scheduled tasks, and teams with no one to look after servers. You pay close to nothing when idle, which is why many MVPs run within the free tier.
It fits less well for long-running work, steady high traffic, or apps that hold many open connections, such as websockets or heavy database connection pools. At steady high load, per-request billing usually costs more than a container that is busy all day.
- Good for: webhooks, cron jobs, image and file processing, light APIs
- Watch for: cold starts, time limits, database connection limits
- Cost risk: runaway loops that invoke functions repeatedly
When containers fit
Managed containers are the sensible default for most small SaaS products. You package the app once, run it the same way on a laptop and in production, and scale by adding tasks. Fargate on Arm costs 44% less per vCPU-hour than x86 in Mumbai ($0.02383 against $0.04256).
Container platforms also make it easier to move between clouds later, since a container image runs on AWS, Azure or Google Cloud with modest changes. The trade-off is a little more setup than functions: an image registry, a CI pipeline and health checks.
When VMs still make sense
Virtual machines remain the cheapest per hour of capacity and give full control, which suits legacy software, licensed products tied to a server, or workloads with special operating system needs. In Mumbai, an Arm t4g.medium with 2 vCPU and 4 GiB costs $0.0224 an hour, half the $0.0448 of an x86 t3.medium.
The cost is your time. Someone must apply security patches, manage disk space, rotate logs and handle failures. For a team of two or three engineers that work often outweighs the savings. If you do choose VMs, automate patching, use images built by a pipeline and run at least two servers for anything customer-facing.
A simple decision rule
Start with managed containers for the main app and serverless functions for background jobs and integrations. Use VMs only where a specific tool demands one. If you do need a single simple server, Amazon Lightsail in Mumbai starts at $0.00672 an hour, and each public IPv4 address on EC2 adds $0.005 an hour.
Startup credits help here too: AWS Activate Founders starts at $1,000, enough to cover months of a small container setup. XDQ Labs usually builds new SaaS products this way: a containerised core service, functions for webhooks and scheduled tasks, and no self-managed servers unless a client requirement calls for one.
Frequently asked questions
Is serverless cheaper than containers?
At low or spiky traffic, usually yes. A 3-million-request API costs about $8.73 a month on AWS Lambda in Mumbai, against about $37.87 for an always-on 1 vCPU Fargate task. At steady high load, containers that stay busy tend to be cheaper per request.
What is the AWS Lambda free tier?
AWS Lambda includes 1 million requests and 400,000 GB-seconds of compute free each month. Beyond that, Mumbai prices are $0.20 per million requests and $0.0000166667 per GB-second on x86, or $0.0000133334 on Arm, as of November 2026.
Should a startup use Kubernetes?
Most small teams do not need it at first. Managed container services such as AWS Fargate or Azure Container Apps run containers without managing a cluster. Kubernetes becomes worth considering when you run many services and have someone to operate it.
Are Arm instances cheaper on AWS?
Yes. In AWS Mumbai, an Arm t4g.medium costs $0.0224 an hour against $0.0448 for an x86 t3.medium, and Fargate Arm costs $0.02383 per vCPU-hour against $0.04256 for x86, based on the November 2026 price list.
Sources
- AWS Price List: AWS Lambda, Asia Pacific (Mumbai), Amazon Web Services, 2026
- AWS Price List: Amazon ECS and AWS Fargate, Asia Pacific (Mumbai), Amazon Web Services, 2026
- AWS Price List: Amazon EC2, Asia Pacific (Mumbai), Amazon Web Services, 2026
- Azure Retail Prices API (Central India meters), Microsoft Azure, 2026
- AWS Price List: Amazon Lightsail, Asia Pacific (Mumbai), Amazon Web Services, 2026
- AWS Price List: Amazon VPC (public IPv4), Asia Pacific (Mumbai), Amazon Web Services, 2026
- AWS Activate: startup credits, Amazon Web Services, 2026



