Price Comparison of IoT Platform Vendors
I thought it would be interesting to understand how the difference IoT platform vendors price their solutions. Luckily AWS, Microsoft, Google, HiveMQ Cloud and IBM publish their IoT platform prices online so it is possible to research the different pricing models and compare total costs.
UPDATE [August 2021]: I have added HiveMQ Cloud pricing to the spreadsheet and blog post. IBM numbers are still out of date, similar to my May 2020 update.
UPDATE: Some people have asked for access to the spreadsheet I used for the calculations. Here is a link to a view only Google spreadsheet. I believe someone can download it to experiment.
Update [May 2020]: It appears IBM has changed the pricing of their IoT platform to a scheme based on number of devices and events. However, it is not clear what is the definition of an ‘analytic event’ so I have not been able to update the IBM analysis. I have left the IBM analysis but please take note the numbers are out of date.
Key Findings
- IBM and Google have a simple pricing model that is based on data exchanged. IBM adds extra costs for data analyzed. UPDATE: HiveMQ Cloud pricing is based on session connections and data so it is pretty easy to calculate.
- Microsoft’s seems to have the most straightforward model based on number of messages sent/received to IoT Hub.
- AWS has the most complicated pricing model based on connection time, number of messages, device shadow requests and rules engine actions.
- Overall, AWS appears to be the low cost provider of the vendors compared. Based on three scenarios ranging from 200–1000 devices, message size 4kb-50kb and message rate 2–60/minute, AWS cost per month range $173-$2284. UPDATE: HiveMQ Cloud is cheaper that AWS for scenerio #2 and #3. HiveMQ Cloud cost per month range from $203-$1655
- IBM and Google tends to be significantly more expensive than Microsoft and AWS. One exception was in a scenario with a very large message size (50KB) that required Microsoft’s top pricing tier.
Research Approach
- I only looked at the IoT platform pricing. I did not look at the cost to store data, compute time or higher level services like machine learning.
- I tried to select the pricing option that would include standard functionality of an IoT platform, ex. message routing, device management, digital twin.
- I made no attempt to compare the functionality of each vendor’s platform. I know this is not an apples to apples comparison based on functionality. The intention is to compare pricing models and a comparison of cost based on different scenarios.
- I used the public list prices provided by the vendor. My guess is vendors will discount based on volume.
Pricing Summary for each Vendor
Microsoft
Microsoft IoT Hub pricing is based on the total number of messages per day. A message is defined as 4KB in size, so if you have an 7KB message it counts as 2 messages. There are two tiers of pricing based on functionality: Basic and Standard. Within each tier there are edition types that are based number of message per day, sustained throughput and sustained send rate.
For the purpose of comparison, I selected the Standard Tier for functionality.
AWS
AWS IoT Core pricing is based on four components: connectivity, messaging, device shadow usages, and rules engine. It is definitely a more complex model than Microsoft. The metered message size for AWS is 5KB so it is more generous than MS for messaging.
AWS has pricing for different regions. For this comparison I used the US pricing.
Google IoT Core pricing is based on data volume. The first 250MB per month is free but then there is a tiered pricing table based on total monthly data. Google does have a set of quotas and limits for each IoT project hosted on IoT Core.
HiveMQ Cloud
HiveMQ Cloud pricing is based on the number of sesssions and data. There is a monthly limit of 1000 sessions and 100GB of data per month. If you need more you need to contact HiveMQ.
IBM
IBM IoT Platform pricing is also based on data but it is segment into data exchanged, data analyzed and data analyzed at the edge. For each data rate, there is a discounted pricing based on data volume.
Interestingly, IBM provides an Advanced Security pricing option that I am not sure how it compares with the other vendors. For the purpose of this comparison, I did not include the Advanced Security option
Pricing Comparisons
For the purpose of comparing different pricing approaches I create three different scenarios based on number of devices, message size and message rate.
Scenerio 1
Devices: 1000; Message Size: 8KB; Message Rate: 2 messages/minute
Total Monthly Messages: 86,400,00; Total Data (MB): 691,200
AWS
Connection Cost: $3.46;
Message Cost: $173;
Device Shadow (100 request/day/unit) 1K size: $3.75;
Rules Engine (400 rules&actions/day/device) 8KB message: $3.6
Total Cost: $183.60/month
691,200 MB data volume per month. Price per MB is $0.0020.
Total Cost: $1382.40/month
HiveMQ Cloud
1,000 devices: $100
691,200MB data: $103.68
Total Cost: $203.68
IBM
Data Exchanged (691,200MB); Rate tier: $0.0007; Total: $483.84
Data Analyzed (assume 10% message analyzed); Rate tier: $0.003; Total: $207.36
Analyzed at Edge (assume half message analyzed): Rate tier: $0.0005; $172.80
Total Cost: $864/month
Microsoft
Total Daily Messages: 5,760,000; Each message count as 2 due to 4KB metered size; Require S2 pricing with limit of 6,000,000 messages/day
Total Cost: $250/month
Scenerio 2— Large message size; Limited number of devices
Devices: 200; Message Size: 50KB; Message Rate: 2 messages/minute
Total Monthly Messages: 17,280,00; Total Data (MB): 864,000
AWS
Connection Cost: $0.69;
Message Cost: $173;
Device Shadow (100 request/day/unit) 1K size: $0.75;
Rules Engine (400 rules&actions/day/device) 8KB message: $0.72
Total Cost: $174.96/month
UPDATE: I had an incorrect cost for the rules engine but it is now correct.
HiveMQ Cloud
200 devices: $20
865000MB: $129.60
Total Cost: $149.60
864000 MB data volume per month. Price per MB is $0.0020.
Total Cost: $1728/month
IBM
Data Exchanged (864000MB); Rate tier: $0.0007; Total: $604.80
Data Analyzed (assume 10% message analyzed); Rate tier: $0.003; Total: $259.2
Analyzed at Edge (assume half message analyzed): Rate tier: $0.0005; Total: $216
Total Cost: $1080/month
Microsoft
Total Daily Messages: 7,488,000; Each message count as 13 due to 4KB metered size;
Total Cost: $2500/month
UPDATE: According to a comment from a Microsoft rep, for Scenario 2 someone can buy two units of S2 so the total cost would be $500, not $2500.
Scenerio 3— More frequent messages; smaller message size
Devices: 1000; Message Size: 4KB; Message Rate: 60 messages/minute
Total Monthly Messages: 2,592,000,000; Total Data (MB): 10368000
AWS
Connection Cost: $3.46;
Message Cost (rate $1/million on first billion; $0.80/million after first billion): $2274
Device Shadow (100 request/day/unit) 1K size: $3.75;
Rules Engine (400 rules&actions/day/device) 8KB message: $3.6
Total Cost: $2084.41/month
HiveMQ Cloud
1000 devices: $100
10.368TB data: $1555.20
Total Cost: $1655.20
10.368TB data volume per month. Price per MB is $0.00045.
Total Cost: $4665.60/month
IBM
Data Exchanged (10.368TB); Rate tier: $0.00014; Total: $1451.52
Data Analyzed (assume 10% message analyzed); Rate tier: $0.0021; Total: $2177.28
Analyzed at Edge (assume half message analyzed): Rate tier: $0.00035; Total: $1814.40
Total Cost: $5443.20
Microsoft
Total Daily Messages: 86,400,000; Each message count as 1 due to 4KB metered size;
Total Cost: $2500