How estimates are calculated

Prices last refreshed 27 Oct 2026.

CloudCostCompare compares what the same workload would cost on Microsoft Azure, Amazon Web Services and Google Cloud. This page explains every step, so you can check any number on the site yourself.

1. Where prices come from

Only each vendor's own public price list, fetched automatically:

Prices are on-demand list prices in US dollars for the region you pick. They don't include discounts, reserved capacity, savings plans, enterprise agreements, credits or taxes, which can lower or raise what you actually pay.

2. Matching services across clouds

The clouds don't sell identical products, so each building block of a workload (a capability, such as “time-series database”) is mapped to the closest managed service on each cloud. Each mapping names the exact price lines used and the unit each vendor charges in.

Building blockMicrosoft AzureAmazon Web ServicesGoogle Cloud
IoT device gatewayAzure IoT Hub (Standard tier)AWS IoT CoreNot offeredGoogle retired Cloud IoT Core on 16 Aug 2023. The usual path now is a partner MQTT broker in front of Pub/Sub.
Edge runtimeAzure IoT EdgeAWS IoT GreengrassNot offeredGoogle has no managed IoT edge runtime since IoT Core was retired. Google Distributed Cloud is a hardware offering for larger sites.
Event streamingAzure Event Hubs (Standard tier)Amazon Kinesis Data Streams (on-demand)Google Cloud Pub/Sub
Stream processingAzure Stream Analytics (Standard V2)Amazon Managed Service for Apache FlinkGoogle Cloud Dataflow (streaming)
Time-series databaseAzure Data ExplorerAmazon Timestream for InfluxDBGoogle Cloud Bigtable
Object storageAzure Blob Storage (Hot, LRS)Amazon S3 StandardGoogle Cloud Storage (Standard, regional)
General-purpose VMAzure Virtual Machines (Dsv5)Amazon EC2 (M6i)Google Compute Engine (N2)

When a cloud has no managed service for a building block, we say so instead of forcing a weak match. That cloud's estimate is marked incomplete and its total leaves the missing piece out. It is never counted as free.

3. Checking every price, every refresh

Each refresh checks every price line against the mapping and flags it when:

  • nothing matches, usually because the vendor renamed or retired it;
  • more than one product matches, so the match is ambiguous;
  • the vendor changed the unit it charges in, which would break the conversion.

Flagged prices are not used. The estimate shows “price unavailable” until the mapping is fixed.

RegionMicrosoft AzureAmazon Web ServicesGoogle Cloud
India (Mumbai / Pune)14 of 14 prices usablecentralindia17 of 17 prices usableap-south-111 of 11 prices usableasia-south1
US East (Virginia / S. Carolina)14 of 14 prices usableeastus17 of 17 prices usableus-east-111 of 11 prices usableus-east1

4. Sizing a workload

Your answers become one set of monthly usage figures: messages, gigabytes ingested, data stored and so on. Each cloud then sizes that same usage by its own billing rules. For example, Azure IoT Hub is sold in units with a daily message quota and counts messages in 4 KB blocks, while AWS IoT Core charges per message in 5 KB blocks. Where a service has tiers or volume discounts, the estimate applies them.

These assumptions apply to every cloud equally:

  • Running 24/7: 730 hours per month. On-demand list prices, no discounts, commitments or free tiers beyond what the vendor price list includes.
  • Every device message passes through the IoT gateway service into the event stream. On AWS, one IoT rule with one action routes each message.
  • The event stream is read by the time-series database and the archive writer, plus stream processing when it is switched on.
  • Stored data (time-series and archive) is compressed 5:1 on every cloud.
  • Stream processing is sized at one processing unit per 1 MB/s of input (minimum one).
  • Archive data is written as 4 MB files, each read once later.
  • Network egress, monitoring, support plans and taxes are not included.

5. Ranking

Clouds are ranked by estimated monthly cost. An estimate that is incomplete (a missing service or an unavailable price) always ranks below complete ones, however low its total looks, and it is never labelled the lowest cost. Cost is the only ranking factor today. Features, support, compliance and your team's skills matter too, so treat the ranking as a starting point.

6. Currency

All prices are fetched in US dollars and converted with one exchange rate for every cloud, so conversion can't favour any vendor. The current rupee rate is ₹95.18 per US dollar (as of 26 Oct 2026), from the European Central Bank reference rate, updated daily.

7. Links and independence

CloudCostCompare is independent and is not affiliated with or endorsed by Microsoft, Amazon or Google. If we add affiliate or sponsored links in future, they will be clearly labelled. Those links are stored separately from the pricing data, and the code that calculates and ranks estimates never reads them, so a link cannot change a result.

8. What estimates leave out

  • Data transfer out of the cloud (egress), which depends heavily on your architecture.
  • Monitoring, logging, backups, security services, support plans and taxes.
  • Free tiers, unless the vendor's price list includes them as a zero-price tier.
  • Engineering time and the cost of migrating between clouds.

Spotted a wrong price or a better service match? Email evilsk3leton@gmail.com.