Why IoT Trends Make Pandio (Powered by Apache Pulsar) the Right Choice
IoT (Internet of things) is the future of technology automation. The IoT use case requires a different type of processing due to the following characteristics:
- The high volume of streaming data from multiple sources
- Requires support for time-series data
- The need to provide storage capability for time series data
- Complex analytic techniques for processing the data
- Requires distributed analytics
- Integration with real-time systems
- Multi-direction communication
Apache Pulsar supports a serverless architecture and helps us to execute user-defined functions. These functions take the input data and transform it into output data with every event that is published to the input topic. They also write the output data to the output topic, easily enable filtering, and support routing while executing the analytics. Apache Pulsar supports the concurrent execution of the analytics that make it possible to have support with IoT.
For example, let’s say you want to implement home automation. You want your television to play the latest movie, the room temperature to be automatically controlled, and you want to ensure the lights are dimmed during the moving. This, along with your entire home automation, can easily be implemented with Apache Pulsar.
All of the home equipment used in your home automation are IoT enabled devices that are streaming data using the gateway systems. The data collection agents are running and collecting data from multiple sources.
Apache Pulsar messaging system plays a critical role in this, as it needs to run the analytics as real-time processing and generate output. This output is then redirected to the home devices, where it then handles the command based on the given input.
Apache Pulsar Functionality vs Other Messaging Tools
Compared to other messaging tools, the key difference with Apache Pulsar is the ability to perform distributed analytics on the edge and reduce the amount of data that is transferred back to the cloud or on-premise data center. The distributed analytics generates the results that only need to be transferred back to the data center. This feature also helps us calculate the IoT results with higher accuracy.
As an example, let’s look at energy companies, who often use IoT techniques to demand energy generation. Energy companies can install smart meters acting as IoT devices, or input data collectors. These IoT devices collect data and send it to the Apache Pulsar messaging system. The system sends the output to the real-time application or analytics processors, which generates the output to either alert the power generation station if more or less demand is needed.
The key support for an IoT use case is the requirement of a streaming system with durable log storage. Apache Pulsa supports both of these requirements, unlike other solutions currently available on the market. Apache Pulsar supports:
- Apache Pulsar Cloud
- Apache Pulsar Edge
- Apache Pulsar Device
The Advantage of Apache Pulsar
Perhaps the biggest advantage of Apache Pulsar is the separation of storage from the actual processing. This means the processing can scale without impacting storage, and the storage size can scale without impacting processing power.
Apache Pulsar also supports multi-tenancy features that make it ideal for running the IoT use cases. This allows it to easily scale up and down, based on the IoT use case requirement. Apache Pulsar also supports the application written in Java, C, C#, and many other languages.
Let’s take a look at a smart security system as an example using Apache Pulsar. Smart security systems often require having machine learning with IoT. If you have multiple cameras installed in your home, and the cameras are all certified IoT devices, the security cameras can track movement or motion and send the images to a machine learning application. IoT devices produce events that are written to the input topic, and the Pulsar function reads the input topics and processes the output. The output is then written to the output topic, and the logs are written to the log topic. This is the perfect example of an IoT use case with machine learning capabilities.