Skip to the build
Cost lab

Notification service

CoreBudget $2,250 a month
  1. Step 1 of 3: Fit the load, done
  2. Step 2 of 3: 2Hit the budget
  3. Step 3 of 3: 3Defend your bill

Catalogue

Compute

$3,834 a month

What runs your code.

Kind
Server size
How you pay

Reserved: a 1-year commitment, cheaper, paid all month. Spot: spare capacity, can be taken back with 2 minutes notice.

How many servers you run
Scaling

Fixed: the same number all month. Autoscale: follows the load, billed on the average (plus slack).

Database

$1,827 a month

Where the data lives.

Kind
Capacity mode

On-demand: pay per request. Provisioned: pay for capacity sized to the peak, all month, at a lower price per request.

Logs and monitoring

$910.52 a month

Needs to be kept at least 30 days.

Retention (days)

Queue

$2,920 a month

Messages wait here for the workers.

Monthly bill
$9,718
₹9,23,230 at ₹95 per $
Budget
$2,250
₹2,13,750

Monthly bill $9,718 (budget $2,250) · meets peak ✓ · availability ✓

$7,468 over budget, requirements met.

Checks

Handles the peakpassed
At peak 9,259 requests/s reach your servers (6 ms of CPU each, run at 60% load) = 92.6 vCPU. That is 24 x m6i.xlarge; you allow 26. DynamoDB takes the load either way (on-demand scales itself; provisioned is sized to the peak here).
Availability: 99.5% (a few hours of downtime a month is fine)passed
The brief allows a single zone; the money is better spent elsewhere.
Latency: p99 under 5000 mspassed
No cold starts on the request path, and reads come from memory where it matters.
Logs kept at least 30 dayspassed
Retention is 90 days.
The choices fit the workloadpassed
Nothing in the design contradicts the workload.
Within budget ($2,250 a month)failed
$7,468 over budget.

The bill, line by line

Compute

$3,834
  • m6i.xlarge servers, on-demand$3,834
    26 x m6i.xlarge x $0.202/h x 730 h = $3,834

Database

$1,827
  • DynamoDB, provisioned for peak$1,663
    926 read units x $0.000148/h x 730 h + 2,894 write units x $0.00074/h x 730 h = $1,663
    Capacity is sized for the peak and paid for all month.
  • DynamoDB storage$163.88
    (600 - 25 free) GB x $0.285 = $163.88

Messaging

$2,920
  • Queue requests$2,920
    2.4B messages x 3 calls = 7.3B requests x $0.0000004 = $2,920
    Send, receive and delete each count as a request.

Monitoring

$910.52
  • Logs ingested$804.00
    1,200 GB x $0.67 = $804.00
  • Logs stored (90 days)$106.52
    1,200 GB x 90 / 30.4 days = 3,551 GB x $0.03 = $106.52

Network

$226.47
  • Load balancer$60.71
    730 h x ($0.0239 + 7.41 LCU x $0.008) = $60.71
    LCU: the larger of new connections (25 a second) or 1 GB an hour.
  • NAT gateways (one per zone)$165.76
    2 x $0.056/h x 730 h + 1,500 GB x $0.056 = $165.76
    Private servers reach the internet through it. It charges per hour and per GB.

Mumbai (ap-south-1), 730 hours a month. List prices checked 2026-10-19: the price table below has the sources and what is left out.

Where the prices come from