IoT sensors can produce seemingly endless streams of data, so users must beware how much to send back to the cloud to avoid jaw-dropping monthly bills.
The convergence of IoT and cloud computing can tantalize enterprises that want to delve into new technology, but it's potentially a very pricey proposition.
Public cloud providers have pushed heavily into IoT, positioning themselves as a hub for much of the storage and analysis of data collected by these connected devices. Managed services from AWS, Microsoft Azure and others make IoT easy to initiate, but users who don't properly configure their workloads quickly encounter runaway IoT costs.
Cost overruns on public cloud deployments are nothing new, despite lingering perceptions that these platforms are always a cheaper alternative to private data centers. But IoT architectures are particularly sensitive to metered billing because of the sheer volume of data they produce.
For example, a connected device in a factory setting could generate hundreds of unique streams of data every few milliseconds that record everything from temperatures to acoustics. That much data could add up to a terabyte of data being uploaded daily to cloud storage.
"The amount of data you transmit and store and analyze is potentially infinite," said Ezra Gottheil, an analyst at Technology Business Research Inc. in Hampton, N.H. "You can measure things however often you want. And if you measure it often, the amount of data grows without bounds."
Users must also consider networking costs. Most large cloud vendors charge based on communications between the device and their core services. And in typical public cloud fashion, each vendor charges differently for those services.
Cloud IoT cost decisions: AWS vs. Azure.
Proportion of scenarios for which cloud platform -- AWS or Microsoft Azure -- was cheapest based on stated criteria. (Source: 451 Research)
Predictive analytics reveals, compares IoT costs
To parse the complexity and scale of potential IoT cost considerations, analyst firm 451 Research built a Python simulation and applied predictive analytics to determine costs for 10 million IoT workload configurations.
It found Azure was largely the least-expensive option -- particularly if resources were purchased in advance -- though AWS could be cheaper on deployments with fewer than 20,000 connected devices. It also illuminated how vast pricing complexities hinder straightforward cost comparisons between providers.
For example, Google charges in terms of data transferred, while AWS and Azure charge against the number of messages sent. Yet, AWS and Azure treat messages differently, which can also affect IoT costs; Microsoft caps the size of a message, potentially requiring a customer to send multiple messages.
There are other unexpected charges, said Owen Rogers, a 451 analyst. Google, for example, charges for ping messages, which check that the connection is kept alive. That ping may only be 64 bytes, but Google rounds up to the kilobyte. So, customers essentially pay for unused capacity.
"Each of these models has nuances, and you only really discover them when you look through the terms and conditions," Rogers said.
Some of these nuances aim to protect the provider or hide complexity from the users, but users may scratch their heads. Charging discrepancies are endemic to the public cloud, but IoT costs present new challenges for those deciding which cloud to use -- especially those who start out with no past experience as a reference point.
"How are you going to say it's less or more than it was before? At least in a VM, you have a comparison with dedicated servers from before. But with IoT, it's a whole new world," Rogers said. "If you want to compare providers, it would be almost impossible to do manually."
There are many unknowns to building an IoT deployment compared to more traditional applications, some of which apply regardless of whether it's built on the public cloud or in a private data center. Software asset management can be a huge cost at scale. In the case of a connected factory or building, greater heterogeneity affects time and cost, too.
"Developers really need to understand the environment, and they have to be able to program for that environment," said Alfonso Velosa, a Gartner analyst. "You would set different protocols, logic rules and processes when you're in the factory for a robot versus a man[-operated] machine versus the air conditioners."
Data can also get stale rather quickly and, in some cases, become useless, if it's not used within seconds. Companies must put policies in place to make sure they understand how frequently to record data and transmit the appropriate amount of data back to the cloud. That includes when to move data from active storage to cold storage and if and when to completely purge those records.
"It's really sitting down and figuring out, 'What's the value of this data, and how much do I want to collect?'" Velosa said. "For a lot of folks, it's still not clear where that value is."