
Overview
Apache NiFi is a visually programmed software tool that automates the movement and transformation of data between systems. It enables you to easily capture, move, enrich and transform machine data, Internet of Things (IoT data) and streaming data between systems. Its drag and drop interface enables you to build data pipelines from commercial data feeds, manufacturing equipment, IoT sensors, web servers, and business reporting and moves the data into a variety of systems such as S3, EMR, SQL databases, DynamoDB, Couchbase, MongoDB, HBase, ElasticSearch, HIVE, Kinesis, Postgres MySQL, FTP Servers + even tools such as Snowflake or BigQuery.
Calculated Systems Apache NiFi in the Cloud is a one-click deployment that automatically launches NiFi in AWS quickly and securely without any coding or complex configuration. This out-of-the-box, optimized deployment of Apache NiFi helps protect you from common pitfalls associated with open source software such as Java virtual machine (JVM) issues and logging configuration by taking care of all initialization, configuration and perimeter security needed. No need to become an expert in big data cloud architecture to migrate or manage your data.
To learn more about Apache NiFi download our free ebook: Apache NiFI for Dummies: https://www.calculatedsystems.com/nifi-for-dummies authored by several members of the Calculated Systems Team.
Highlights
- A visually programmed software tool that moves machine data/IoT data into the cloud
- Drag and drop software to move your data into S3, EMR, SQL databases, DynamoDB, ElasticSearch, Kinesis, FTP Servers, Snowflake and more.
- Easy, one-click installation for a fully functional Apache NiFI instance in AWS in minutes.
Details
Introducing multi-product solutions
You can now purchase comprehensive solutions tailored to use cases and industries.
Features and programs
Buyer guide

Financing for AWS Marketplace purchases
Pricing
Dimension | Cost/hour |
|---|---|
m4.xlarge Recommended | $0.16 |
t2.2xlarge | $0.32 |
r4.xlarge | $0.16 |
t2.large | $0.08 |
r4.2xlarge | $0.32 |
m4.2xlarge | $0.32 |
m4.large | $0.08 |
t2.xlarge | $0.16 |
Vendor refund policy
For refund information please read the eula or contact Info@calculatedsystems.com
How can we make this page better?
Legal
Vendor terms and conditions
Content disclaimer
Delivery details
64-bit (x86) Amazon Machine Image (AMI)
Amazon Machine Image (AMI)
An AMI is a virtual image that provides the information required to launch an instance. Amazon EC2 (Elastic Compute Cloud) instances are virtual servers on which you can run your applications and workloads, offering varying combinations of CPU, memory, storage, and networking resources. You can launch as many instances from as many different AMIs as you need.
Version release notes
- Updated Nifi to 2.10.0
Additional details
Usage instructions
A detailed launch guide can be located here - https://www.calculatedsystems.com/getting-started-aws
For NiFi specific usage, outside of how to start the AMI please see our ebook Apache NiFi for Dummies - https://www.calculatedsystems.com/nifi-for-dummies
Support
Vendor support
Migration, Implementation, and Support Services Are Available. Info@calculatedsystems.com
AWS infrastructure support
AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.

Standard contract
Customer reviews
Data ingestion has become seamless for real-time use, while collaboration and privacy still need work
What is our primary use case?
Apache NiFi is mainly used for data ingestion only, functioning as an extraction tool to extract and load data. It is not particularly strong at the transformation part, but it excels at the ingestion part, so we use it as an ingestion tool only.
For real-time monitoring, we use it for ingestion in real-time. It can be used for either batch ingestion or real-time ingestion, and we use it for both types. It performs well in real-time ingestion scenarios.
How has it helped my organization?
The main improvement that Apache NiFi should make is the UI/UX of this product and also the organization of the project. For example, we are a big team and we need to work with Apache NiFi as an ingestion tool, so every member of the team wants to make a single project in Apache NiFi. There is no privacy in this tool; everyone can see what the other parts of the team or their colleagues are doing, so privacy and organization need improvement.
What is most valuable?
It is easy to integrate Apache NiFi with some data sources, which is a powerful feature in Apache NiFi and it has many connectors to various data sources.
The main benefit of Apache NiFi is that it is an open-source tool, so we don't pay a license for it. It saves time because we don't have to build connections from the beginning, as it comes with built-in connections.
In Apache NiFi, the ingestion function is what I really like the most. It is very good at the ingestion part.
What needs improvement?
Adding transformation capabilities is crucial. Apache NiFi is very powerful at ingestion but it needs to be powerful also at the transformation part. We don't use it for the transformation part and we have to go with other solutions. If Apache NiFi were powerful in transformation, it would be a unique tool.
For how long have I used the solution?
We have been working with Apache NiFi for almost two years.
What do I think about the stability of the solution?
For stability in Apache NiFi, I would rate it a ten.
What do I think about the scalability of the solution?
For scalability, I would rate it a five out of ten. As I mentioned, it lacks organization, so when we scale out, we want a tool that is organized better than Apache NiFi.
How are customer service and support?
We are using an open-source version, so we don't have support. There is no support for it, but there are versions supported by them that we don't use.
Which solution did I use previously and why did I switch?
The last time I used TIBCO was in my previous company, which was nearly two years ago.
How was the initial setup?
The setup process for Apache NiFi is simple.
Which other solutions did I evaluate?
There are many competitors of Apache NiFi in the market, including Apache Spark .
What other advice do I have?
We currently do not work with TIBCO Jaspersoft . I can talk about Apache NiFi and I have experience with the product. We use a reporting solution called SAP BusinessObjects . We use solutions like IBM DataStage, Apache NiFi, Apache Kafka , and Apache Spark . I am not working with SkyWalking from Apache. From other vendors, I don't know if there is a competitor of Apache in this specific role. I would rate this review a seven overall.
Unified data flows have simplified large-scale ingestion and have improved SLA reliability
What is our primary use case?
Apache NiFi is used to fetch data from different sources and ingest it into different destinations. The entire platform depends on Apache NiFi for data transformation and data movement. Multiple sources such as flat files, Oracle, Postgres are connected, and the main database where data is stored is Postgres and Apache Druid . The UI connects directly to those databases to ensure the data is available at all times. This platform has been built for many enterprise platforms.
Sources include Oracle and files in S3 . Apache NiFi creates flows using NiFi processors to fetch data from particular sources such as Oracle. Business data and customer data are available there. Every day there are many incidents, changes, and logging into the system. Data must be fetched daily in two ways: batch streaming and near real-time streaming. Data is fetched twice every day as a batch job. The data is processed after fetching. When connected to the Oracle database, data is received in Avro format. It is then changed into JSON format, and a mapping is used. Whatever destination is required, fields are mapped accordingly. The schema in Postgres is mapped using evaluate JSON path. Whatever JSON field is received is mapped to the respective schema in the database. Records are then ingested into Postgres. Almost daily, 5 million records are received and multiple flows process them. Each flow has a different schedule, which can be every five minutes or twice daily.
Another process retrieves cost data from AWS and Azure . Everyday billing files are received in S3 or Azure blob if Azure is being used. The data is retrieved and transformed with modifications made based on the schema. The data is then sent into Apache Druid using the REST API.
Apache NiFi is the heart of data ingestion for the entire platform. Whatever data movement is happening will happen through Apache NiFi, which is the single data ingestion tool in the platform. Once data lands into the respective destinations using Apache NiFi, multiple transformations, queries, or other operations are performed and projected to the UI. The main gateway for all data from whatever source can be is Apache NiFi. It is a no-code platform where multiple flows can be created, which reduces the time spent writing code and integrating into different connectors. Connectors are already available in Apache NiFi, so flows just need to be created, which makes the process easy and stable.
What is most valuable?
Apache NiFi offers multiple features. One feature is that it is a no-code platform, so specific code does not need to be written. Direct connectors are available for whatever integrations are needed. If it is Azure, AWS , GCP, or a normal RDBMS , or if connecting to fetch files from a server where files are landing, different types of connectors are available. Integration is simple, flows are created, and the process can run in minutes. Another feature is that if anything needs to be changed or if moving from one flow to a different environment or server is necessary, it is easy to do. Templates can be created, downloaded, and reused as many times as needed. Particular flows can be stored and used multiple times. Email notifications can be configured to trigger if any failures happen, which allows developer teams or the support team to take immediate action. One of the most important features is that if billions and billions of records are coming daily, Apache NiFi ensures that by increasing the configurations and thresholds, that data can be transported, which makes operations easier and allows more things to be accomplished while ensuring SLAs are met.
The most reliable features are the building functionality, the availability of connectors, and the scalability that Apache NiFi offers. These are the features that can be relied on. For example, if billions of records need to be sent from one source to another destination, such as Oracle to Postgres or from a file to an RDBMS , writing a simple Python code requires writing the code and changing the schema. If schema changes occur, it is not easy, as all the code must be reviewed and updated, which takes considerable time for debugging if issues arise. Parallel running of the Python program, multithreading, and all these concepts must be managed, and it is not feasible. The script must be run somewhere and cron must be set up. All these features are bundled and provided in Apache NiFi, which makes operations much easier.
Apache NiFi has tremendously reduced the effort of maintaining multiple different connectors. It makes the transformation and ingestion of billions of records much easier. It is the only platform that is easy for developers to maintain, which makes the entire data platform a very scalable and reliable tool. All data ingestions happen through a single outlet, so if any issues occur, Apache NiFi is the only thing that needs to be addressed, rather than having to go to multiple places and do multiple things or have debugging become a nightmare if Apache NiFi had not been used. It tremendously makes the platform reliable and useful for customers without crossing any SLAs. Timely ingestions are happening and everything is functioning properly.
What needs improvement?
Improvements can be made in the way of the UI. From the deployment perspective, Git configurations are available in 2.6 versions and 2.0 and later versions of Apache NiFi. Before 2.0, templates had to be created and stored in Apache NiFi Registry, which is available. However, templates still need to be imported and exported manually if moving from one environment to another environment. Even in 2.0 versions, although GitHub configurations are available, how it will function needs to be evaluated. Seamless CI/CD deployments are somewhat tricky and challenging when it comes to Apache NiFi with the proper approvals, moving that flow to another environment, and giving the proper RBAC controls. These are areas that could be improved.
Documentation is adequate, but the only pain point is the deployment aspect.
For how long have I used the solution?
Apache NiFi has been utilized as the main data ingestion tool for around six years and continues to be used currently.
What do I think about the stability of the solution?
There are no stability issues.
What do I think about the scalability of the solution?
There are no scalability issues.
What other advice do I have?
The first benefit is the time saved by moving to Apache NiFi. Generally, writing a Python program and creating different connectors using a Python program may take three weeks to one week for a developer to create, debug, and deploy. When using Apache NiFi, the time was reduced by almost half. Flows can be created in two days a week, whereas with Python it took almost one to one and a half weeks to complete a single flow. In terms of debugging, Apache NiFi is the only platform where errors can be easily debugged. A bulletin board is available where the exact issue can be viewed and traced back to see where it went wrong. These tasks can be completed quickly, possibly in 30 to 50 minutes to debug an issue. Whereas with Python, if working with a single program level and creating multiple files and multiple jobs, it is very difficult to go back and see exactly where the issue is because tracing from the start to find the issue is necessary, and then every line of code must be debugged. With Apache NiFi, the issue location is immediately identified, and focus can be placed on that particular processor. SLAs have been improved because if an SLA requires completing a job within 30 minutes, using a native programming language or normal jobs requires refinement and optimization for very large transformations, such as ingesting 5 billion records every day, which is not feasible with a normal Python program. Apache NiFi provides the infrastructure where an unlimited number of records, such as billions of records, can be processed in minutes, which ensures that SLAs have never been missed or crossed. SLAs are continuously met, and if additional processing is needed, threads can be increased and little configurations in Apache NiFi can be adjusted, which ensures SLA compliance. These are the metrics that have been seen and benefited from.
If an organization is looking for a unified tool to ingest data at very large scale and wants both batch and real-time streaming with one unified data tool, Apache NiFi is recommended. If a code-free approach is preferred and spending much time writing code or debugging code should be avoided, Apache NiFi is an excellent choice where data flows can be created simply through clicks instead of using other particular tools. This review has been given a rating of 8 out of 10.
Standardized data pipelines have streamlined ETL workflows but still need clearer logs and UI
What is our primary use case?
My main use case for Apache NiFi is to use it for basic ETL pipelines before ingesting data into the data lake. For example, if we want to ingest anything into Snowflake , before actually moving it to Snowflake , we do basic data massaging and transformations through Apache NiFi . This may include consuming a file, converting that file from one format to another, breaking it into chunks, and then pushing it to Snowflake.
A specific example is that we consume all caller data through Apache NiFi by connecting to Kafka topics and consuming those messages. We then convert those messages into JSON format and push those messages to Snowflake by running Snowflake procedures, which eventually ingest the data directly into Snowflake by reading it through an S3 bucket. We also push the actual JSON messages to S3 buckets through Apache NiFi itself.
What is most valuable?
The best features Apache NiFi offers include the integration capability because we have use cases wherein we have been using Apache NiFi to integrate through and consume from multiple sources. It can connect to any APIs, NAS drives, and databases, and it can consume streaming data. We can connect to Kafka topics and queues as well through Apache NiFi. First of all, there is flexibility in consuming from multiple sources. We can also easily transfer information from one block to another. We have command and control on the controller services that we can maintain separately so that we do not have to repeat connections and create multiple connections in different processor groups.
Apache NiFi has positively impacted our organization by significantly helping us streamline the processes. Earlier, each team was creating their own ETL pipelines with no standard being followed. Apache NiFi gave us the opportunity to streamline that process. Each team can request access to Apache NiFi and be onboarded separately based on their needs. We have specifically standardized the pipeline design so that no one can deviate from that. For example, everyone is supposed to use specific variables when enabling the alerting system. We have a different tool called Moogsoft that everyone can onboard to using the InvokeHTTP processor of Apache NiFi to send their alerts to a centralized system which can generate incidents. No one is now working in silos, and there is a specific pattern being followed by everyone. Furthermore, everyone must have Apache NiFi configured so that they can consume from a specific source but eventually push the data to our strategic cloud partner, AWS , first into an AWS bucket which is common for all, and from that bucket, subsequent processing will be done in Snowflake. The standard being followed now once Apache NiFi has been introduced has allowed others to copy-paste successfully created pipelines, saving a lot of time in our overall software development life cycle by reducing redundancy and efforts.
What needs improvement?
A couple of improvements for Apache NiFi would be better logging. Sometimes when looking at logs and events, they do not always make sense. A strong recommendation is that there has to be improved logging in Apache NiFi. Secondly, when looking at the file states, the history of processed files should be more readable so that not only the centralized teams managing Apache NiFi but also application folks who are new to the platform can read how a specific document is traversing through Apache NiFi.
For how long have I used the solution?
I have been using Apache NiFi for almost four and a half years now.
What do I think about the scalability of the solution?
Apache NiFi's scalability is great; we can easily scale into it without encountering any challenges.
How are customer service and support?
Customer support for Apache NiFi has been excellent, with minimal response times whenever we raise cases that cannot be directly addressed by logs. The support team has consistently provided great assistance with processor failures and helped us create ad-hoc processors as needed.
How would you rate customer service and support?
Positive
Which solution did I use previously and why did I switch?
We did not use any previous solution before Apache NiFi. Apache NiFi has significantly helped us improve our processes and streamline them, while we are also using SnapLogic for integration purposes in parallel.
I am not aware of any other solutions that were explored before onboarding Apache NiFi. Being from the analytics team, we were earlier using Tableau Prep for ETL and transformations and Informatica as well, but I am unsure if anything else was explored in the organization prior to using Apache NiFi.
What was our ROI?
Apache NiFi provides huge relief for all teams with similar use cases for ETL purposes, and it supports not just ETL but also ELT, allowing us to save significant time.
What's my experience with pricing, setup cost, and licensing?
I cannot comment on the pricing, setup cost, and licensing for Apache NiFi, but I can say there was significant time saved across the development life cycle due to reusable pipelines offered by Apache NiFi.
What other advice do I have?
The reason I rate Apache NiFi a seven is that most development folks are afraid to start using Apache NiFi because, to begin with, it does not always directly make sense. For example, there are other integration tools such as SnapLogic where you can simply search for a specific processor, but that is not the case with Apache NiFi. You need some basic understanding of which processors are there before you can fetch what you need. Better UI design should allow newcomers to search using relevant keywords, such as API, to retrieve appropriate processors, which currently is not happening, requiring some understanding of Apache NiFi. The other challenge I mentioned is having better logging, especially for processor-related logs to help newcomers navigate effectively.
I think Apache NiFi is a great tool that one should definitely explore. It is essential to perform basic checks regarding requirements, but if someone is looking for ETL and ELT functionalities needing to connect to CSVs, JSONs, Excels, and databases, they can onboard to Apache NiFi. It offers great connectivity for consuming or pushing data through queues and cloud workloads. Overall, it is an excellent product, especially for basic data massaging and processing before pushing data to Snowflake or creating reports. I rate Apache NiFi a seven out of ten.
Which deployment model are you using for this solution?
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Data flows have transformed and now support reusable ETL pipelines across diverse sources
What is our primary use case?
Apache NiFi is used mainly for ETL to get data from multiple sources and then load it into a data lake. For example, data from Ab Initio is extracted and then loaded to an S3 bucket. From the S3 bucket, that data is read again and then loaded into other data layers. Different data layers, such as raw and raw silver, all use Apache NiFi .
How has it helped my organization?
Apache NiFi has positively impacted the organization by making development really easy, allowing efficient design and development, and enabling code reuse which has reduced the development effort. Integration with Git is also really good for sharing code across teams. A reduction in development effort of about 30% has been observed.
What is most valuable?
The best features Apache NiFi offers include the ability to connect to any type of sources, which is a big advantage since most connectors are already available and do not need to be created. In transformation, it has a wide variety of transformations that can be used across big data and any kind of data, including JSON formatted data.
The connectors used most often include connecting to the Oracle database as the main focus and then connecting to log data, which have greatly benefited the team.
What needs improvement?
Improvements in the user interface to make it easier to use would be beneficial, and adding more security features would make Apache NiFi more secure and robust. Documentation and support could also be enhanced, as most support is usually received from users rather than from the product owners.
For how long have I used the solution?
Apache NiFi has been used for more than five years.
What do I think about the stability of the solution?
Apache NiFi is stable.
What do I think about the scalability of the solution?
The performance of Apache NiFi is really good. Based on the workload, more nodes can be added to make a bigger cluster, which enhances the cluster whenever needed. Apache NiFi's scalability is good and it is auto-scalable, which is pretty impressive.
How are customer service and support?
Initially, customer support was contacted more often, but after understanding Apache NiFi better, not many issues have been faced. The customer support is really good, and they are helpful whenever concerns are posted, responding immediately.
How would you rate customer service and support?
Which solution did I use previously and why did I switch?
Before Apache NiFi, StreamSets was used, and it was unsatisfactory as it consumed all the server resources and did not release them. After finding Apache NiFi, it became a preferred solution.
What was our ROI?
Apache NiFi provides a good return on investment, although specific cost details are not known since that is not an area of involvement. Feedback has been given to stakeholders that Apache NiFi is beneficial in development and does great work, indicating a positive return on investment.
Which other solutions did I evaluate?
Before choosing Apache NiFi, other options such as StreamSets , Teradata , Informatica Big Data version, and Glue were evaluated, but Glue was not chosen due to its high cost.
What other advice do I have?
To train or onboard new team members to use Apache NiFi, the code has been modularized and processes have been documented really well, so when new team members are onboarded, they are asked to review that documentation to understand the processes and the modules that have been created. In a couple of days, once they go through all that material, they are up to speed.
In terms of flexibility and ease of use, Apache NiFi is more open compared to other ETL tools that have been used, such as Informatica and Teradata . It is open source with many contributors and can handle various data sources, including log data, structured, unstructured, and semi-structured data, unlike traditional ETL tools.
Tools such as Prometheus and Grafana are sometimes used to keep an eye on Apache NiFi server, and DataDog is also used along with it. Scaling Apache NiFi workloads is managed through auto-scaling.
To handle data security and compliance when using Apache NiFi, LDAP authentication is utilized, all clusters and nodes are kerberized, and single sign-on is used to authenticate. In transit, SSL encryption is used, and at rest, AES encryption is used, which is more than enough for the needs.
Apache NiFi is kept up to date by keeping an eye on new features that have been released, discussing them internally to assess if they need to be incorporated into development. If there are any gaps in the current version, an upgrade to the new version will be attempted.
Apache NiFi is a pretty good tool that meets most ETL needs, and in terms of performance and security, it is really good. After using it for quite some time without any issues, it is recommended as the number one tool for ETL. The overall review rating for Apache NiFi is 8 out of 10.
Which deployment model are you using for this solution?
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Managing data ingestion has created tech debt but still accelerates multi-step streaming work
What is our primary use case?
I use Apache NiFi for data ingestion from multiple sources into our data lake.
How has it helped my organization?
Can't say many positive impacts apart from ease of use for simpler use cases. The rest is mostly tech debt and negative impacts.
What is most valuable?
What stood out the most about Apache NiFi was its ease of use when it comes to smaller datasets or when you have multiple streaming data sets that need to be ingested in multiple steps. When you don't have a team with a lot of coding background, Apache NiFi comes in very handy.
The ease of use in Apache NiFi has helped my team because anyone can learn how to use it in a short amount of time, so we were able to get a lot of work done. You don't have to build anything from scratch as you do with Spark or any other tool sets because you already have blocks created within Apache NiFi, so you save time. When we talk about how much time Apache NiFi has saved in development, you save considerable time.
What needs improvement?
There are a lot of challenges with Apache NiFi. I believe it is very limited when it comes to scalability and version control. Various improvements are needed for Apache NiFi; the way the tool is structured needs to improve.
Having version control and metadata access is essential. If Apache NiFi compute could scale with workload through ephemeral scaling, that could help; but there is not much we can extract from the Apache NiFi API. It is a huge pain when it comes to reading Apache NiFi configuration metadata. Apache NiFi needs to be faster, and having version control, metadata access, and some improvements would be beneficial. However, it is a good solution with room for improvement.
For how long have I used the solution?
I have been using Apache NiFi for most of my career, but over the past two years, I have used it quite a lot.
What do I think about the stability of the solution?
Apache NiFi is stable in most cases. Downtime with Apache NiFi is not unheard of, so we do run into downtimes every now and then, but for the most part, it is stable.
What do I think about the scalability of the solution?
Scalability for Apache NiFi is a problem; it does not scale as well as other Spark solutions. Scalability is one of the reasons downtime is still a thing on Apache NiFi.
How are customer service and support?
I have had to reach out for help with Apache NiFi, but since I get Apache NiFi from Cloudera, they have their premium support, so it is not that big an issue.
Which solution did I use previously and why did I switch?
We used an older version of Apache NiFi before Cloudera; we chose to continue with Apache NiFi because we were coming from Apache NiFi.
How was the initial setup?
Complex
What about the implementation team?
We host it on AWS and get it from Cloudera
What was our ROI?
I haven't seen a return on investment. There may be return on investment based on the technology and easily moving our workloads onto Apache NiFi from our previous system. However, the tech debt that is created from Apache NiFi is not a good addition. It saves time on development, but then you have to cater to some custom solutions.
What's my experience with pricing, setup cost, and licensing?
It is expensive with little to show for it. But I personally don't deal with billing specifics
Which other solutions did I evaluate?
We evaluated using Spark for all of our ingestions before choosing Apache NiFi, and at that point, we had to build a framework entirely from scratch. That is why we didn't go there, and we went for Apache NiFi.
What other advice do I have?
The process and cost consumption, I believe, is actually not that good when working with Apache NiFi. Apache NiFi is one of the most expensive tools we use. I do believe it is an obsolete technology and the world is moving away from it. I have given this review a rating of five out of ten.
