There is so much variety, customizability, and potential with IoT projects today. Many platforms are available for integrating your IoT projects onto the cloud -- Atmosphere IoT and the Digi-Key IoT Studio can be leveraged in countless exciting ways if you know how to work them. Over the coming months, we will cover the basics of what you need to know to get your IoT projects up and running, so let’s start today with some basic information about cloud storage and some of the advantages and disadvantages
The internet itself is nothing more than computers forming a serial connection for data to be sent to and from devices. While, initially, the internet was something reserved for larger computer systems, the reduction of silicon has seen even the simplest devices having internet capabilities.
As any designer knows, reducing the number of parts on a product can help increase profits and reduce design complexity. While somewhat unorthodox, cloud storage can be used to potentially reduce the number of parts needed on a product by shifting data storage off-device and placing this data on some cloud-system. So what advantages and disadvantages could designers expect if they chose to do this?
While the most obvious advantage of cloud storage is the lack of a need for on-device memory (which reduces costs), there are other less obvious advantages.
First, devices that download files or content used for image, audio, or even run-time reasons are accessing dynamic content that can be updated by designers on the fly. Instead of needing to configure a device to perform an update the update essentially happens on each power cycle, the device will always be running the latest configuration. Devices that use the cloud for storage have access to large amounts of memory at a very cheap price.
Cloud storage isn’t just cheap, however; the server automatically handles file systems so the Internet-capable device only needs to make a request for a file at some location. Data stored locally may require organizing via the use of a file system, which can take up valuable resources.
This brings us to the next point which is that data stored on a cloud server can be highly organized and logical. A device that stores information locally would need to have a method for organizing, which comes back to the file system issue (requiring far too many resources to organize data). The cloud itself does not need to be in some remote location, but could just as easily be a local server that would help to protect the system from external threats and mitigate against internet downtime, which is something that can happen to even the most secure systems.
While cloud storage can provide many advantages to a design, it is not without its drawbacks. The first, and the most obvious, issue is that it requires a reliable internet connection. Storing data such as sensor readings and simple audio files might not be entirely critical, but the storage of more important information such as preferences could potentially break a product. For example, a home automation sensor that cannot access the cloud to retrieve the desired temperature may default to a very undesirable temperature that would most likely irritate the user who has to reset the setting.
The second major issue of using the cloud as memory storage is the bandwidth required by a device every time it performs a power cycle. Simple information such as preferences and tasks may only require several hundred bytes of data, but large files such as audio files require significant bandwidth usage. While this may not be an issue for devices with high-speed internet connections, it could potentially be problematic for users with limited data plans.
Just because data can be moved off-device does not mean it should. While a larger profit margin may be tempting to an engineer, the risks need to be considered when using the internet for storing data (especially if that data is sensitive in nature).
More information related to cloud storage and IoT connectivity can be found at these related blog links on Maker.io: