Amazon Kinesis vs. Apache Spark Streaming vs. Google Cloud Dataflow

Overview
ProductRatingMost Used ByProduct SummaryStarting Price
Amazon Kinesis
Score 9.8 out of 10
N/A
Amazon Kinesis is a streaming analytics suite for data intake from video or other disparate sources and applying analytics for machine learning (ML) and business intelligence.
$0.01
per GB data ingested / consumed
Apache Spark Streaming
Score 8.7 out of 10
N/A
Apache Spark Streaming is a scalable fault-tolerant streaming processing system that natively supports both batch and streaming workloads.N/A
Google Cloud Dataflow
Score 8.8 out of 10
N/A
Google offers Cloud Dataflow, a managed streaming analytics platform for real-time data insights, fraud detection, and other purposes.N/A
Pricing
Amazon KinesisApache Spark StreamingGoogle Cloud Dataflow
Editions & Modules
Amazon Kinesis Video Streams
$0.00850
per GB data ingested / consumed
Amazon Kinesis Data Streams
$0.04
per hour per stream
Amazon Kinesis Data Analytics
$0.11
per hour
Amazon Kinesis Data Firehose
tiered pricing starting at $0.029
per month first 500 TB ingested
No answers on this topic
No answers on this topic
Offerings
Pricing Offerings
Amazon KinesisApache Spark StreamingGoogle Cloud Dataflow
Free Trial
NoNoNo
Free/Freemium Version
NoNoNo
Premium Consulting/Integration Services
NoNoNo
Entry-level Setup FeeNo setup feeNo setup feeNo setup fee
Additional Details
More Pricing Information
Community Pulse
Amazon KinesisApache Spark StreamingGoogle Cloud Dataflow
Features
Amazon KinesisApache Spark StreamingGoogle Cloud Dataflow
Streaming Analytics
Comparison of Streaming Analytics features of Product A and Product B
Amazon Kinesis
8.3
2 Ratings
4% above category average
Apache Spark Streaming
8.4
1 Ratings
5% above category average
Google Cloud Dataflow
7.3
2 Ratings
9% below category average
Real-Time Data Analysis10.01 Ratings8.01 Ratings8.02 Ratings
Data Ingestion from Multiple Data Sources9.02 Ratings9.01 Ratings9.02 Ratings
Low Latency9.02 Ratings8.01 Ratings9.02 Ratings
Integrated Development Tools9.02 Ratings8.01 Ratings6.01 Ratings
Data wrangling and preparation10.01 Ratings8.01 Ratings7.01 Ratings
Linear Scale-Out6.12 Ratings8.01 Ratings8.02 Ratings
Data Enrichment5.01 Ratings9.01 Ratings8.02 Ratings
Visualization Dashboards00 Ratings9.01 Ratings5.01 Ratings
Machine Learning Automation00 Ratings9.01 Ratings6.02 Ratings
Best Alternatives
Amazon KinesisApache Spark StreamingGoogle Cloud Dataflow
Small Businesses
IBM Streams (discontinued)
IBM Streams (discontinued)
Score 9.0 out of 10
IBM Streams (discontinued)
IBM Streams (discontinued)
Score 9.0 out of 10
IBM Streams (discontinued)
IBM Streams (discontinued)
Score 9.0 out of 10
Medium-sized Companies
Confluent
Confluent
Score 9.3 out of 10
Confluent
Confluent
Score 9.3 out of 10
Confluent
Confluent
Score 9.3 out of 10
Enterprises
Spotfire Streaming
Spotfire Streaming
Score 5.2 out of 10
Spotfire Streaming
Spotfire Streaming
Score 5.2 out of 10
Spotfire Streaming
Spotfire Streaming
Score 5.2 out of 10
All AlternativesView all alternativesView all alternativesView all alternatives
User Ratings
Amazon KinesisApache Spark StreamingGoogle Cloud Dataflow
Likelihood to Recommend
9.0
(3 ratings)
9.0
(1 ratings)
8.0
(1 ratings)
Support Rating
7.1
(2 ratings)
-
(0 ratings)
-
(0 ratings)
User Testimonials
Amazon KinesisApache Spark StreamingGoogle Cloud Dataflow
Likelihood to Recommend
Amazon AWS
Amazon Kinesis is a great replacement for Kafka and it works better whenever the components of the solution are AWS based. Best if extended fan-out is not required, but still price-performance ratio is very good for simplifying maintenance.
I would go with a different option if the systems to be connected are legacy, for instance in the case of traditional messaging clients.
Read full review
Apache
Apache Spark Streaming is a tool that we are using for almost a year and is excellent in managing batch processing. It is user-friendly. Using it, we can even process our massive data in fractions of seconds. Its pricing is its other plus point. Only its In-memory processing is its demerit as it occupies a large memory.
Read full review
Google
It is best in cases where you have batch as well as streaming data. Also in some cases where you have batch data right now and in future you will get streaming data. In those cases Dataflow is very good. Also in cases where most of your infra is on GCP. It might not be good when you already are on AWS or Azure. And also you want in-depth control over security and management. Then you can directly use Apache beam over Dataflow.
Read full review
Pros
Amazon AWS
  • Processing huge loads of data
  • Integrating well with IoT Platform on Amazon
  • Integration with overall AWS Ecosystem
  • Scalability
Read full review
Apache
  • It is amazing in solving complicated transformative logic.
  • It is straightforward to program.
  • It is a very quick tool.
  • It processes large data within a fraction of seconds.
Read full review
Google
  • Streaming, Real time work load
  • Batch processing
  • Auto scaling
  • flexible pricing
Read full review
Cons
Amazon AWS
  • Not a queue system, so little visibility into "backlog" if there is any
  • Confusing terminology to make sure events aren't missed
  • Sometimes didn't seem to trigger Lambda functions, or dropped events when a lot came in
Read full review
Apache
  • There must be more documentation.
  • It is a profoundly complex tool.
  • Its in-memory processing consumes massive memory.
Read full review
Google
  • More templates for Bigquery and App Engine. There is only limited options for templates so the things we use can limit.
  • I would like native connectors for Excel (XLSX) to reduce the need for custom wrappers in financial pipelines.
  • Debugging Google Cloud Dataflow using only logs in Cloud Logging can be overwhelming sometimes, and it’s not always obvious which specific element in the flow caused a failure. IT uses a lot of time.
Read full review
Usability
Amazon AWS
No answers on this topic
Apache
No answers on this topic
Google
It really saved a lot of time and it's flexibility really can give you infra which is future-proof for most of the use cases may it be streaming or batch data. And with this you can avoid use of resource-heavy big data offerings.
Read full review
Support Rating
Amazon AWS
The documentation was confusing and lacked examples. The streams suddenly stopped working with no explanation and there was no information in the logs. All these were more difficult when dealing with enhanced fan-out. In fact, we were about to abort the usage of Kinesis due to a misunderstanding with enhanced fan-out.
Read full review
Apache
No answers on this topic
Google
No answers on this topic
Alternatives Considered
Amazon AWS
The main benefit was around set up - incredibly easy to just start using Kinesis. Kinesis is a real-time data processing platform, while Kafka is more of a message queue system. If you only need a message queue from a limited source, Kafka may do the job. More complex use cases, with low latency, higher volume of data, real time decisions and integration with multiple sources and destination at a decent price, Kinesis is better.
Read full review
Apache
Apache Spark Streaming stands above all the huge data transformative tools because of its speed of processing which was quite slow in Presto as it takes a lot of our time in the data processing. Spark, comfortably provides integration with Jupyter like notebook environment. and Spark's combination with Jupyter and Python results in enhancing the speed .
Read full review
Google
Google Cloud Dataproc Cloud Datafusion
Read full review
Return on Investment
Amazon AWS
  • Caused us to need to re-engineer some basic re-try logic
  • Caused us to drop some content without knowing it
  • Made monitoring much more difficult
  • We eventually switched back to SQS because Kinesis is not the same as a Queue system
Read full review
Apache
  • Cost and time-effective tool for our business.
  • We can integrate with Jupyter with many conveniences.
  • Its high-speed data processing has proved beneficial for us.
Read full review
Google
  • cost saving from managing our own data center for ETL servers
  • consumption based pricing
  • with auto scaling feature, we were able to expand components to support work load
Read full review
ScreenShots