Try our new research platform with insights from 80,000+ expert users

Apache Flink vs Spring Cloud Data Flow comparison

 

Comparison Buyer's Guide

Executive Summary
 

Categories and Ranking

Apache Flink
Ranking in Streaming Analytics
5th
Average Rating
7.6
Reviews Sentiment
7.1
Number of Reviews
16
Ranking in other categories
No ranking in other categories
Spring Cloud Data Flow
Ranking in Streaming Analytics
10th
Average Rating
7.8
Reviews Sentiment
6.7
Number of Reviews
9
Ranking in other categories
Data Integration (22nd)
 

Mindshare comparison

As of November 2024, in the Streaming Analytics category, the mindshare of Apache Flink is 11.7%, up from 11.0% compared to the previous year. The mindshare of Spring Cloud Data Flow is 5.0%, up from 4.2% compared to the previous year. It is calculated based on PeerSpot user engagement data.
Streaming Analytics
 

Featured Reviews

Sunil  Morya - PeerSpot reviewer
Easy to deploy and manage; lacking simple integration with Amazon products
The issue we had with Flink was that when you had to refer the schema into the input data stream, it had to be done directly into code. The XLS format where the schema is stored, had to be stored in Python. If the schema changes, you have to redeploy Flink because the basic tasks and jobs are already running. That's one disadvantage. Another was a restriction with Amazon's CloudFormation templates which don't allow for direct deployment in the private subnet. You have to deploy into the public subnet and then from the Amazon console, specify a different private subnet that requires a lot of settings. In general, the integration with Amazon products was not good and was very time-consuming. I'd like to think that has changed.
NitinGoyal - PeerSpot reviewer
Has a plug-and-play model and provides good robustness and scalability
The solution's community support could be improved. I don't know why the Spring Cloud Data Flow community is not very strong. Community support is very limited whenever you face any problem or are stuck somewhere. I'm not sure whether it has improved in the last six months because this pipeline was set up almost two years ago. I struggled with that a lot. For example, there was limited support whenever I got an exception and sought help from Stack Overflow or different forums. Interacting with Kubernetes needs a few certificates. You need to define all the certificates within your application. With the help of those certificates, your Java application or Spring Cloud Data Flow can interact with Kubernetes. I faced a lot of hurdles while placing those certificates. Despite following the official documentation to define all the replicas, readiness, and liveliness probes within the Spring Cloud Data Flow application, it was not working. So, I had to troubleshoot while digging in and debugging the internals of Spring Cloud Data Flow at that time. It was just a configuration mismatch, and I was doing nothing weird. There was a small spelling difference between how Spring Cloud Data Flow was expecting it and how I passed it. I was just following the official documentation.

Quotes from Members

We asked business professionals to review the solutions they use. Here are some excerpts of what they said:
 

Pros

"Another feature is how Flink handles its radiuses. It has something called the checkpointing concept. You're dealing with billions and billions of requests, so your system is going to fail in large storage systems. Flink handles this by using the concept of checkpointing and savepointing, where they write the aggregated state into some separate storage. So in case of failure, you can basically recall from that state and come back."
"The setup was not too difficult."
"With Flink, it provides out-of-the-box checkpointing and state management. It helps us in that way. When Storm used to restart, sometimes we would lose messages. With Flink, it provides guaranteed message processing, which helped us. It also helped us with maintenance or restarts."
"Allows us to process batch data, stream to real-time and build pipelines."
"Apache Flink allows you to reduce latency and process data in real-time, making it ideal for such scenarios."
"The product helps us to create both simple and complex data processing tasks. Over time, it has facilitated integration and navigation across multiple data sources tailored to each client's needs. We use Apache Flink to control our clients' installations."
"Apache Flink's best feature is its data streaming tool."
"It provides us the flexibility to deploy it on any cluster without being constrained by cloud-based limitations."
"The product is very user-friendly."
"There are a lot of options in Spring Cloud. It's flexible in terms of how we can use it. It's a full infrastructure."
"The most valuable features of Spring Cloud Data Flow are the simple programming model, integration, dependency Injection, and ability to do any injection. Additionally, auto-configuration is another important feature because we don't have to configure the database and or set up the boilerplate in the database in every project. The composability is good, we can create small workloads and compose them in any way we like."
"The solution's most valuable feature is that it allows us to use different batch data sources, retrieve the data, and then do the data processing, after which we can convert and store it in the target."
"The dashboards in Spring Cloud Dataflow are quite valuable."
"The ease of deployment on Kubernetes, the seamless integration for orchestration of various pipelines, and the visual dashboard that simplifies operations even for non-specialists such as quality analysts."
"The best thing I like about Spring Cloud Data Flow is its plug-and-play model."
"The most valuable feature is real-time streaming."
 

Cons

"The machine learning library is not very flexible."
"In a future release, they could improve on making the error descriptions more clear."
"The TimeWindow feature is a bit tricky. The timing of the content and the windowing is a bit changed in 1.11. They have introduced watermarks. A watermark is basically associating every data with a timestamp. The timestamp could be anything, and we can provide the timestamp. So, whenever I receive a tweet, I can actually assign a timestamp, like what time did I get that tweet. The watermark helps us to uniquely identify the data. Watermarks are tricky if you use multiple events in the pipeline. For example, you have three resources from different locations, and you want to combine all those inputs and also perform some kind of logic. When you have more than one input screen and you want to collect all the information together, you have to apply TimeWindow all. That means that all the events from the upstream or from the up sources should be in that TimeWindow, and they were coming back. Internally, it is a batch of events that may be getting collected every five minutes or whatever timing is given. Sometimes, the use case for TimeWindow is a bit tricky. It depends on the application as well as on how people have given this TimeWindow. This kind of documentation is not updated. Even the test case documentation is a bit wrong. It doesn't work. Flink has updated the version of Apache Flink, but they have not updated the testing documentation. Therefore, I have to manually understand it. We have also been exploring failure handling. I was looking into changelogs for which they have posted the future plans and what are they going to deliver. We have two concerns regarding this, which have been noted down. I hope in the future that they will provide this functionality. Integration of Apache Flink with other metric services or failure handling data tools needs some kind of update or its in-depth knowledge is required in the documentation. We have a use case where we want to actually analyze or get analytics about how much data we process and how many failures we have. For that, we need to use Tomcat, which is an analytics tool for implementing counters. We can manage reports in the analyzer. This kind of integration is pretty much straightforward. They say that people must be well familiar with all the things before using this type of integration. They have given this complete file, which you can update, but it took some time. There is a learning curve with it, which consumed a lot of time. It is evolving to a newer version, but the documentation is not demonstrating that update. The documentation is not well incorporated. Hopefully, these things will get resolved now that they are implementing it. Failure is another area where it is a bit rigid or not that flexible. We never use this for scaling because complexity is very high in case of a failure. Processing and providing the scaled data back to Apache Flink is a bit challenging. They have this concept of offsetting, which could be simplified."
"PyFlink is not as fully featured as Python itself, so there are some limitations to what you can do with it."
"There is a learning curve. It takes time to learn."
"The state maintains checkpoints and they use RocksDB or S3. They are good but sometimes the performance is affected when you use RocksDB for checkpointing."
"The solution could be more user-friendly."
"One way to improve Flink would be to enhance integration between different ecosystems. For example, there could be more integration with other big data vendors and platforms similar in scope to how Apache Flink works with Cloudera. Apache Flink is a part of the same ecosystem as Cloudera, and for batch processing it's actually very useful but for real-time processing there could be more development with regards to the big data capabilities amongst the various ecosystems out there."
"Spring Cloud Data Flow is not an easy-to-use tool, so improvements are required."
"There were instances of deployment pipelines getting stuck, and the dashboard not always accurately showing the application status, requiring manual intervention such as rerunning applications or refreshing the dashboard."
"Some of the features, like the monitoring tools, are not very mature and are still evolving."
"I would improve the dashboard features as they are not very user-friendly."
"The solution's community support could be improved."
"On the tool's online discussion forums, you may get stuck with an issue, making it an area where improvements are required."
"Spring Cloud Data Flow could improve the user interface. We can drag and drop in the application for the configuration and settings, and deploy it right from the UI, without having to run a CI/CD pipeline. However, that does not work with Kubernetes, it only works when we are working with jars as the Spring Cloud Data Flow applications."
"The configurations could be better. Some configurations are a little bit time-consuming in terms of trying to understand using the Spring Cloud documentation."
 

Pricing and Cost Advice

"This is an open-source platform that can be used free of charge."
"It's an open-source solution."
"The solution is open-source, which is free."
"Apache Flink is open source so we pay no licensing for the use of the software."
"It's an open source."
"If you want support from Spring Cloud Data Flow there is a fee. The Spring Framework is open-source and this is a free solution."
"The solution provides value for money, and we are currently using its community edition."
"This is an open-source product that can be used free of charge."
report
Use our free recommendation engine to learn which Streaming Analytics solutions are best for your needs.
816,406 professionals have used our research since 2012.
 

Top Industries

By visitors reading reviews
Financial Services Firm
23%
Computer Software Company
17%
Manufacturing Company
6%
Educational Organization
4%
Financial Services Firm
29%
Computer Software Company
17%
Manufacturing Company
7%
Retailer
6%
 

Company Size

By reviewers
Large Enterprise
Midsize Enterprise
Small Business
 

Questions from the Community

What do you like most about Apache Flink?
The product helps us to create both simple and complex data processing tasks. Over time, it has facilitated integration and navigation across multiple data sources tailored to each client's needs. ...
What is your experience regarding pricing and costs for Apache Flink?
The solution is expensive. I rate the product’s pricing a nine out of ten, where one is cheap and ten is expensive.
What needs improvement with Apache Flink?
There are more libraries that are missing and also maybe more capabilities for machine learning. It could have a friendly user interface for pipeline configuration, deployment, and monitoring.
What needs improvement with Spring Cloud Data Flow?
I would improve the dashboard features as they are not very user-friendly. Another area for improvement is the documentation, as it is not very precise. There are limited resources available on Spr...
What is your primary use case for Spring Cloud Data Flow?
I am a developer using Spring Cloud Dataflow. We primarily use it to convert our applications from monolithic to microservices. The solution is used for scheduling tasks in a specific order and ens...
What advice do you have for others considering Spring Cloud Data Flow?
My advice would be to thoroughly review the documentation and understand if Spring Cloud Dataflow is the right solution for your application. For applications with only one or two microservices, it...
 

Also Known As

Flink
No data available
 

Learn More

 

Overview

 

Sample Customers

LogRhythm, Inc., Inter-American Development Bank, Scientific Technologies Corporation, LotLinx, Inc., Benevity, Inc.
Information Not Available
Find out what your peers are saying about Apache Flink vs. Spring Cloud Data Flow and other solutions. Updated: October 2024.
816,406 professionals have used our research since 2012.