Updated: Jan 10, 2020
At the start of any IoT project is the idea of taking streaming data from some sensors and generating efficiency and performance or maintenance schedules with said data. As you get further into what is still a maturing sector here are a few things that you tend to forget:
1. IoT streams two ways, you not only receive data you need to think about sending data. This is for decisions you might make with Edge analytics (shut that leaking tap off etc) and also for the one area most forget which is patching software - if you have 5 million smartmeters that need a security patch you need to do it quickly and efficiently. So plan around this as well rather than looking at this as a receive data only project.
2. Protocols are also key - sometimes you need more than one if you are going to get data from a sensor. What if your sensor does not have an active power source nearby (under water and deep underground) this bleeds into the idea of if the data is being relayed through a mesh what happens if something goes down. The system needs to self heal and manage to get data to another node in the array.
3. Select an agile supporting cloud platform - while there are many streaming realtime solutions out there you need to think through it at a high level. How fast can I deploy this technology. For instance if you are using Kafka make sure you plan effectively, if you are using EventHubs you can likely deploy quickly since you are calling a service rather than setting up a Linux server and doing a full install of Zookeeper to manage everything. Thinking through how you will deploy through your IoT project to keep things simple really manages some of the unexpected complexity you are going to encounter.