Site icon Bridgera

Tips on Building a Complete IoT Solution for your Business

Tips on Building a Complete IoT Solution for your Business - IoT Stack

Building an Enterprise IoT Solution

Building an enterprise IoT solution, is far more challenging than building yet another business application. And since the IoT tsunami is still in its formative stage, it is no less challenging to put together a business case driven by a clear ROI.

Download our free eBook to learn more about the IoT stack and the components needed for a complete IoT solution.

For a start, an IoT solution is not just software, it is a combination of:

I like to compare an IoT solution to the human body. The IoT software application is the heart and brain of the system, pumping blood (data) and control commands through the  communication channels (blood vessels and nerves). And the things, or devices, are our hands, legs, fingers, and toes.

So how do we build a great IoT solution from these ingredients? Here are a few key factors to consider during your selection process.

Device Selection

Device selection can be overwhelming. There are many options in the market to choose from. There are several key device characteristics that should drive your decision-making; for instance, your device should:

One of the challenges involved with device selection/validation is that you will need access to the IoT software application before you can complete an end-to-end proof of concept (POC).

Communication Channels

Often called the transport layer, this complex part of the IoT solution requires a general understanding of the wireless communication options supported by your device. Example options include Bluetooth and Wi-Fi (NFC) to LAN and WAN, using cellular and satellite communication. 

Key characteristics to consider when evaluating communication channels include:

IoT Software

IoT software application is sometimes referred to commercially as an IoT platform. There are many IoT platforms to choose from along with the option to build your own.  It is important to understand the capabilities and limits when evaluating a platform (see What is a Software Platform). Some IoT platforms, for example, will only enable communication between devices that are certified for the platform. This limits your device selection. Other IoT platforms may limit capabilities to data ingestion with the expectation that you will consume data through an API. Bridgera’s built-to-spec IoT software is tailored to your needs, offering custom user interfaces, custom device integration, and more.

It is also important to understand the skills you need if you plan to customize the IoT platform to meet the requirements of your use case.  Below is a description of a comprehensive IoT software application:

Listener Service for Data Ingestion

This is generally a network program that is connected to the internet. The listener should “always be on” and capable of substantial scaling. It should guarantee secure messaging between the device and the rest of the application software services. High availability requires complex distributed processing logic that ensures backup mechanisms are in place when servers fail or overload.

A good listener service as architecture is a highly configurable solution, so that it may be configured to talk to various devices quickly. It should also support multiple communication channels and protocols.

The data ingestion service must be compatible with the communication protocol used by the device. Apache NiFi coupled with a message broker like Kafka or RabbitMQ can work well as an effective IoT data ingestion engine.

Business Logic Layer for Data Processing

This is where the business functions occur. Account setup, user registration, access control, payment processing, device interactions, data validation, error handling, and logging are all part of this layer. The design should facilitate multi-threading to support large user volumes.

Integration Service

This layer is responsible for communication with existing business applications. Just because you have a new IoT solution does not mean you can do away with the rest of your application portfolio! This is often underestimated and overlooked when deciding on a new IoT solution. A strong integration service allows two-way communication: Expose RESTful APIs to provide IoT data to external systems and consuming external APIs to bring relevant data into the IoT solution. External interfaces may be SOAP or RESTful.

User Interface (UI)

The level of personalization and usability of the user interface is highly dependent on the IoT use case. IoT UI’s can range from very unique user experiences to dashboard graphs and widgets. User interfaces should provide easy access to deployed devices. All device commands are formatted based on user actions that are permitted through the UI. In general, a good UI will provide:

Data Storage

Considering the proliferation of IoT devices, it is highly recommended that your data storage mechanism is architected using big data technologies. NoSQL databases (MongoDB, Cloudant, DynamoDB, etc.) are excellent choices and allow clustering and unlimited horizontal scaling. They are also flexible because they are typically ‘schema-less’ and designed for high performance.

Analytics and Visualization

Finally, to realize the full potential of an IoT solution, it is important to drive business value through insights gained from the mass amount of data collected from your devices. There are several powerful proprietary and open source technologies that can be plugged into your IoT solution to derive business insights through analytics and visualization.

Ideally, analytics is custom-built within the IoT solution using technologies within the Hadoop stack. HortonWorks, Cloudera, and MapR are the most popular Hadoop distributions in the market that have leveraged Spark’s analytics capabilities. Splunk is a proprietary solution option for log analytics. While Tableau, Qlikview, and PowerBI are popular for visualization; however, D3 is a powerful, open source alternative.

Look for subsequent blog posts on how to optimize the operations of an IoT solution using a DevOps team to ensure your solution scales cost-effectively and reliably, to meet your growing business needs.

About the Author: Kamalesh Nayudu is CEO and co-founder of Bridgera LLC. He has three decades of global IT delivery experience working with companies of all sizes from Fortune 500s to startups. He is now leading the effort to establish Bridgera as a leader in Big Data and IoT services.



Exit mobile version