When deciding on what service to use, many factors will need to be reviewed. I will discuss a few of the most important aspects and key features of these aspects below. It can be helpful to make a list of what items are most important to your application and then find a service that provides those aspects.
Storing and Processing Data
This is the piece that will store and process the data instead of storing the data on this device. This is important when you have multiple devices in a large area, or if you have boards that can store small amounts of data.
Communication with other devices
You can use a bridge, which is a device that allows you to use a cell phone or other similar item to communicate with other devices, when you are a long distance from the devices. This allows you to only need to provide internet to the bridge, and the other devices can communicate with the bridge via bluetooth or other similar transport. This saves space and money.
Talking to the Internet
This is the piece that allows you to post to the internet from a device. There are event listeners, custom functions, and webhooks (restcalls).
Configurations and Updates
They allow customers to register a device on your website, as well as allows you to remotely push updates to customers. For this category, security and feasibility are the main things to watch for when choosing a service.
Dealing with Humans
Some services allow you to create an app that allows the customer to interact with their device. This is very common in home automation.
Finally, when determining which service provider to use, there are 4 main categories that they typically fall under.
- Analytics and data utilization
- Prototype friendly infastructure
- Hardware specific end to end solutions
- Large scale infrastructure
To get more indepth information on this topic, please watch Adafruits IoT episode 3 found here: https://www.digikey.com/en/resources/iot-resource-center/videos