Price Comparison of IoT Platform Vendors
I thought it would be interesting to understand how the different IoT platform vendors price their solutions. Luckily, AWS, Microsoft, Google, and IBM publish their IoT platform prices online, so it is possible to research the different pricing models and compare total costs.
Key Findings
- IBM and Google have a simple pricing model that is based on data exchanged. IBM adds extra costs for data analyzed.
- Microsoft’s seems to have the most straightforward model based on the 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-$2084.
- IBM and Google tend 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.
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.
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 the standard functionality of an IoT platform, for example, 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 a 7KB message, it counts as two 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.
IBM
IBM IoT Platform pricing is also based on data but it is segmented 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 about 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 the 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
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.
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 $0.80): $2074
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
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