IoT App Development
IoT is an area that already has significant application events, and has great potential on the horizon. Things to consider when creating solutions in IoT extend to the usual large-scale enterprise applications. This multi-part blog tries to cover specific considerations for creating solutions in the IoT environment.
Top 5 Most Important Considerations for IoT
Consideration 1: Proven architecture
IoT solutions are generally aligned with some of the well-proven forms. These formats are aligned with the following features of IoT solutions:
- Forms on the fringe: communication, management, security, intelligence
- Patterns for intake: size, loose attachment
- Patterns for processing: extension, loose attachment
- Forms of action: communication, coordination
The first consideration is to upgrade an existing reference structure and convert it to the desired domain and solution. One such approach to IoT architecture is the work done by the IoT-A consortium. The reference model version released by this group is D1.5.
At MindTree, we have developed a solution that uses the best practices from the reference model, and we have married it into the real-world concept of our areas of focus. The reference framework acts as an accelerator for our IoT work. A subsequent blog series explores the various forms and architectural concepts for IoT solutions.
Consideration 2: The Right Topology and Protocol
“Things” are central to IoT (not really central, but marginal …); So choosing the right way to combine them is the most important part of any solution in this space.
These factors help identify the layout of the nodes and how they are connected. For deployments covering large areas, options include meshes and, most recently, LPWAN-based systems.
A common topography is to connect nodes through gateways, rather than directly to cloud middleware. Since the nodes are controlled devices, it works to enable intelligence at the gateway. An alternative is the look of IPv6 and 6LoWPAN, which provide address capability at the node level.
Consideration 3: Middleware Platform Choices
Today, there are many choices on the middleware page, where all the intake, processing, storage, and integration are included. There are open-source options such as Kaa, and on-cloud providers such as Microsoft (Azure IoT), Amazon (AWS IoT), and IBM (Watson IoT).
There are also players who expand key infrastructure capabilities with specific accelerators such as ThinkWorks, And SAP (IoT Foundation) can be used in the cloud and on-premises. Each of these has strengths and weaknesses.
Consideration 4: Building for Scale
Inactive requirements are, as always, the formation or breakdown of any one system. In IoT, the number of potential devices and the number of telemetry instances they transmit are important to the model because they must establish scaling for input, processing, and storage.
Typically, injection occurs using sequence brokers, so these should be used for scaling. Cloud middleware providers usually provide these as managed services, so scaling is observed when using such cloud sorting. For on-premise deployments, this should be done transparently.
Consideration 5: Security
Unlike enterprise solutions that can reasonably box security up to the firewall, in IoT, the security edge extends to the tip. So the threat terrain is large and has many vectors to take into account.
Testing and Deployment
The key to any solution is to make sure it works – and not just in the developer workstation, but in the field. In IoT, this is further complicated by the fact that the “field” may actually be the actual “field” of paddy or corn. To ensure that the IoT solution works as expected, testing (a) must be done at different stages of maturity and (b) cover various aspects.
For example, to test at different stages of maturity, if the number of unknowns is high, the test should be started at the breadboard and lab table level before mass production of rough edges. Similarly, if the business case is not done yet, it is important to create reasonable quality prototype boards and gather insights before fabricating.
In Summary
IoT is an exciting field that can solve many interesting challenges and has many open opportunities. Therefore, IoT solutions, in conjunction with the business needs they serve, need to evolve and scale properly.