I'm looking for open source alternative for Azure IoT Hub. Thinking to run Nifi on Hortonworks VM on Azure.
Is Nifi able to handle role of IoT Ingestion?
Nifi is able to handle 2 way communication?
Nifi is able to handle secure authentication?
Any pros or cons between Nifi and Azure IoT stack?
Is Nifi able to handle role of IoT Ingestion? Yes, NIFi was built around the needs of IoT. NiFi was built to be data agnostic so it has no dependency on a specific data format. It accomplishes this by wrapping data in to NiFi FlowFiles. A FlowFile consists of the original data (in its native format) and a bunch of FlowFile attributes (metadata) about that data. NiFi then has well over 150 different components that can be used to interact with either portion of that FlowFile. Different components are designed to interact with different data formats. The nice thing about NiFi is the ability for users to create their own custom components, this allow users to expand what they can do with NiFi and work with user specific data formats when needed.
Nifi is able to handle 2 way communication? Yes, NiFi has variety of existing components that supports to way communications using most standard protocols.
Nifi is able to handle secure authentication? Yes, NiFi has robust support for Authentication. By default NiFi uses TLS certificates for user authentication, but can also be configured to support either LDAP or Kerberos for user authentication. Beyond authentication, NiFi also has a very granular authorization model. This allows NiFi admins to very granularly control what authenticated users have access to within the NiFi UI.
Apache NiFi is open source and runs on everything from Raspberry Pis to Servers on-rem to Google Cloud to AWS to Azure to any platform you can find that has a JVM.
Apache NiFi is free to use and join the community to build and enhance.
Azure IoT Hub is proprietary, closed source, pay per use and only runs on Azure.
They can also interface together if you need them to.
NiFi can consume and publish MQTT.
Yes Nifi can consume and publish MQTT, but there is an unresolved issue for sending data over MQTT into the IoT Hub. IoT Hub communicates only over SSL/TSL, which is still not a problem (nifi supports these protocols), but it supports only x509 PKI nowadays. On the other hand Nifi works strictly with JKS and PCKS12 formats and here it comes to the conflict. (Since these certificates are mutually convertible, it would be a nice to have in the Nifi environment)