DEV Community

loading...

Using Apache NiFi in OpenShift and Anywhere Else to Act as Your Global Integration Gateway

tspannhw profile image Timothy Spann Originally published at datainmotion.dev on ・6 min read

Using Apache NiFi in OpenShift and Anywhere Else to Act as Your Global Integration Gateway

What does it look like?

Where Can I Run This Magic Engine:

Private Cloud, Public Cloud, Hybrid Cloud, VM, Bare Metal, Single Node, Laptop, Raspberry Pi or anywhere you have a 1GB of RAM and some CPU is a good place to run a powerful graphical integration and dataflow engine. You can also run MiNiFi C++ or Java agents if you want it even smaller.

Sounds Too Powerful and Expensive:

Apache NiFi is Open Source and can be run freely anywhere.

For What Use Cases:

Microservices, Images, Deep Learning and Machine Learning Models, Structured Data, Unstructured Data, NLP, Sentiment Analysis, Semistructured Data, Hive, Hadoop, MongoDB, ElasticSearch, SOLR, ETL/ELT, MySQL CDC, MySQL Insert/Update/Delete/Query, Hosting Unlimited REST Services, Interactive with Websockets, Ingesting Any REST API, Natively Converting JSON/XML/CSV/TSV/Logs/Avro/Parquet, Excel, PDF, Word Documents, Syslog, Kafka, JMS, MQTT, TCP/IP, UDP, FTP, sFTP, Files, Directories, Google Forms, Object Stores, NoSQL, Lookups, Hosting Web sites, Updates and live SQL on data streams.

MySQL/REST/MQTT/JMS/REST/Files/S3/Object Stores. You also have an expert available on NiFi here. https://www.datainmotion.dev/2019/10/migrating-apache-flume-flows-to-apache\_9.html.

This makes these tasks much easier to develop, deploy, manage and control. A single Data Engineer can now build, deploy and manage thousands of data streams in batch, microbatch and streams.

How about version control?

NiFi Registry provides easy to integrate version control with full REST API and can export your flows to a Git repository like Github.

DevOps?

How about deployment?

Apache NiFi can run anywhere!

You can run Apache NiFi on a single VM or localhost or laptop:

https://nifi.apache.org/download.html

On OpenShift

https://catalog.redhat.com/software/containers/cdt-common-rns/nifi/6026bb6c2937380b51711b73

https://github.com/rromannissen/nifi-openshift

Apache NiFi Stateless can run all in RAM, one event at a time like a Job or Function as a Service:

https://github.com/SamHjelmfelt/OpenWhisk-YarnDeployment

https://github.com/apache/nifi/blob/7d76bcd5202a8680c952d3a19072087a971d0b69/nifi-nar-bundles/nifi-framework-bundle/nifi-stateless-bundle/README.md

Docker

https://hub.docker.com/r/apache/nifi

What If I don't like easy to use Web UIs?

You can code everything with REST calls:

https://nifi.apache.org/docs/nifi-docs/rest-api/index.html

Okay, maybe not that low-level, what about a CLI?

You can run and install it here: https://nifi.apache.org/docs/nifi-docs/html/toolkit-guide.html#nifi_CLI.

Can I get more information:

- https://nifi.apache.org/docs/nifi-docs/html/walkthroughs.html

I need support:

A partner of Amazon, Google, Microsoft, Oracle, IBM and thousands more, you can trust Cloudera for enterprise cloud hosting, support and development. Cloudera has a majority of developers of Apache NiFi working on Open Source.

https://www.cloudera.com/products/cdf.html

Discussion (0)

pic
Editor guide