We performed a comparison between Amazon Kinesis and Apache Flink based on our users’ reviews in five categories. After reading all of the collected data, you can find our conclusion below.
Comparison Results: Based on the parameters we compared, users are happier with Amazon Kinesis. Although it is not open-source like Apache Flink, Amazon Kinesis users were more satisfied with how the product performed, Apache Flink users were less satisfied with the overall functionality of the product, including its lack of stability and scalability.
"What turns out to be most valuable is its integration with Lambda functions because you can process the data as it comes in. As soon as data comes, you'll fire a Lambda function to process a trench of data."
"Amazon Kinesis's main purpose is to provide near real-time data streaming at a consistent 2Mbps rate, which is really impressive."
"The feature that I've found most valuable is the replay. That is one of the most valuable in our business. We are business-to-business so replay was an important feature - being able to replay for 24 hours. That's an important feature."
"Its scalability is very high. There is no maintenance and there is no throughput latency. I think data scalability is high, too. You can ingest gigabytes of data within seconds or milliseconds."
"The solution's technical support is flawless."
"I have worked in companies that build tools in-house. They face scaling challenges."
"Setting Amazon Kinesis up is quick and easy; it only takes a few minutes to configure the necessary settings and start using it."
"The solution works well in rather sizable environments."
"Apache Flink's best feature is its data streaming tool."
"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."
"The event processing function is the most useful or the most used function. The filter function and the mapping function are also very useful because we have a lot of data to transform. For example, we store a lot of information about a person, and when we want to retrieve this person's details, we need all the details. In the map function, we can actually map all persons based on their age group. That's why the mapping function is very useful. We can really get a lot of events, and then we keep on doing what we need to do."
"It is user-friendly and the reporting is good."
"The top feature of Apache Flink is its low latency for fast, real-time data. Another great feature is the real-time indicators and alerts which make a big difference when it comes to data processing and analysis."
"Apache Flink is meant for low latency applications. You take one event opposite if you want to maintain a certain state. When another event comes and you want to associate those events together, in-memory state management was a key feature for us."
"Easy to deploy and manage."
"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."
"One area for improvement in the solution is the file size limitation of 10 Mb. My company works with files with a larger file size. The batch size and throughput also need improvement in Amazon Kinesis."
"One thing that would be nice would be a policy for increasing the number of Kinesis streams because that's the one thing that's constant. You can change it in real time, but somebody has to change it, or you have to set some kind of meter. So, auto-scaling of adding and removing streams would be nice."
"Lacks first in, first out queuing."
"AI processing or cleaning up data would be nice since I don't think it is a feature in Amazon Kinesis right now."
"I suggest integrating additional features, such as incorporating Amazon Pinpoint or Amazon Connect as bundled offerings, rather than deploying them as separate services."
"Amazon Kinesis should improve its limits."
"Snapshot from the the from the the stream of the data analytic I have already on the cloud, do a snapshot to not to make great or to get the data out size of the web service. But to stop the process and restart a few weeks later when I have more data or more available of the client teams."
"It would be beneficial if Amazon Kinesis provided document based support on the internet to be able to read the data from the Kinesis site."
"Apache Flink should improve its data capability and data migration."
"The machine learning library is not very flexible."
"Apache Flink's documentation should be available in more languages."
"PyFlink is not as fully featured as Python itself, so there are some limitations to what you can do with it."
"Amazon's CloudFormation templates don't allow for direct deployment in the private subnet."
"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."
"In terms of improvement, there should be better reporting. You can integrate with reporting solutions but Flink doesn't offer it themselves."
"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."
Amazon Kinesis is ranked 1st in Streaming Analytics with 24 reviews while Apache Flink is ranked 5th in Streaming Analytics with 15 reviews. Amazon Kinesis is rated 8.0, while Apache Flink is rated 7.6. The top reviewer of Amazon Kinesis writes "Used for media streaming and live-streaming data". On the other hand, the top reviewer of Apache Flink writes "A great solution with an intricate system and allows for batch data processing". Amazon Kinesis is most compared with Azure Stream Analytics, Amazon MSK, Confluent, Google Cloud Dataflow and Apache Spark Streaming, whereas Apache Flink is most compared with Spring Cloud Data Flow, Databricks, Azure Stream Analytics, Apache Pulsar and Google Cloud Dataflow. See our Amazon Kinesis vs. Apache Flink report.
See our list of best Streaming Analytics vendors.
We monitor all Streaming Analytics reviews to prevent fraudulent reviews and keep review quality high. We do not post reviews by company employees or direct competitors. We validate each review for authenticity via cross-reference with LinkedIn, and personal follow-up with the reviewer when necessary.