How We Cut Our AWS Bill to Survive ₹99 Pricing
SnapDeploy sells a container for ₹99 (about $1) for 24 hours. That price only works because the infrastructure underneath is ruthlessly efficient. Here is exactly what we did — and what you can copy on your own AWS account.
Most AWS bills aren't expensive because of the workload. They're expensive because of a handful of defaults nobody revisits after launch. We know, because we run a platform where a single wasteful default would turn a profitable ₹99 product into a loss. Here are the levers that mattered most, in the order we'd check them on any account.
1. Kill public IPv4 charges — the silent tax
In 2024 AWS began charging for every public IPv4 address, about $3.60 per address per month. On a fleet of containers each with a public IP, that adds up fast — and it buys you nothing if traffic already flows through a load balancer. We moved every container into private subnets and reached AWS services through VPC endpoints (Gateway endpoints for S3 and DynamoDB are free; Interface endpoints for ECR, CloudWatch, etc. cost far less than the NAT + IPv4 alternative at scale). Public ingress terminates once, at the load balancer. Our per-container public-IPv4 line went to zero.
2. Right-size Fargate — you're probably paying for idle vCPU
Fargate bills per vCPU-second and GB-second, so oversizing is pure waste. Teams routinely run 1 vCPU / 2 GB tasks for apps that idle at 3% CPU. We measured real usage per workload and dropped most tasks to the smallest viable size (0.25 vCPU / 0.5 GB for lightweight web apps), reserving larger sizes only for genuinely heavy containers. Also worth knowing: Fargate on ARM64 (Graviton) is roughly 20% cheaper than x86 for the same size and runs the vast majority of app code unchanged. We build our images multi-arch and default to ARM.
3. Scale to zero — stop paying for idle
The biggest structural saving: containers that no one is using should cost nothing. We built auto-sleep scheduling — idle containers are stopped and woken on the next request. For a platform full of hobby projects and demos, this cuts idle compute by the large majority. On your own account the equivalents are scheduled scaling, ECS service auto-scaling to zero for non-critical services, and Lambda for spiky/event-driven work instead of an always-on task.
4. Mind the NAT gateway and egress
A NAT gateway costs an hourly fee plus a per-GB data-processing charge, and data transfer out of AWS is billed on top. Two traps: routing S3/DynamoDB/ECR traffic through NAT when a free or cheap VPC endpoint would avoid it entirely; and cross-AZ chatter that quietly racks up inter-AZ transfer. Audit your route tables — a lot of "compute cost" is actually data-transfer cost wearing a disguise.
5. Tier your storage and clean up the debris
S3 with no lifecycle policy accumulates cost forever. Move infrequently-accessed objects to cheaper tiers (or turn on S3 Intelligent-Tiering), expire old versions, and put a lifecycle policy on your ECR repositories so you keep the last few images per repo instead of every build ever pushed. Unattached EBS volumes, old snapshots, idle load balancers, and forgotten Elastic IPs are the usual suspects in a cost audit — individually small, collectively material.
6. Commit only what you can predict
Once you have a steady baseline, a 1-year, no-upfront Compute Savings Plan shaves roughly 20% off your baseline Fargate/EC2 spend with no change to how anything runs and no lock-in to instance types. The key word is baseline — commit to the floor of your usage, keep the spiky top on on-demand.
What this adds up to
None of these are exotic. They're defaults nobody circled back to. Done together, they took our infrastructure from "cloud-expensive" to "profitable at ₹99" — and on a typical SME account we routinely find 20–40% of the bill is recoverable the same way. The hard part isn't the tactics; it's having someone actually go line by line through the bill and the architecture.
Want us to do this on your account?
Our Cloud Cost Optimization Audit is a fixed ₹50,000 for two weeks — or 20% of the first year's savings, so if we find nothing you pay nothing. We implement the quick wins during the audit, not just list them.