Apache Flink vs Apache Storm
Apache Flink
flink.apache.orgApache Storm
storm.apache.orgSide by side
| Figure | Apache Flink | Apache Storm |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| Windows | — | Yes |
| macOS | — | Yes |
| Linux | Yes | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Streaming Analytics Software | 8.0 (#7) | 8.0 (#8) |
| Spec score · Stream Analytics Software | 8.1 (#8) | 8.1 (#9) |
| Spec score · Stream Processing Software | 8.1 (#8) | 8.1 (#9) |
| Spec score · Big Data Analytics Software | 8.0 (#14) | 8.0 (#15) |
| Integrations | Separately released connectors listed on the downloads page include AWS, Cassandra, Elasticsearch, Google Cloud PubSub, HBase, Hive, JDBC, Kafka, MongoDB, OpenSearch, Prometheus, Pulsar, and RabbitMQ. | Out-of-the-box integrations include Apache Kafka, HDFS, JDBC databases, JMS, and Redis. |
| Performance | The site lists low latency, high throughput, and in-memory computing as performance capabilities. | The project says a benchmark processed over one million tuples per second per node. |
| Use cases | Flink supports event-driven applications, stream and batch analytics, and data pipelines and ETL. | Storm supports realtime analytics, online machine learning, continuous computation, distributed RPC, and ETL. |
Plans
In their own words
Apache Flink
Apache Flink is a free, self-hosted framework and distributed processing engine for stateful computations over unbounded and bounded data streams. It supports event-driven applications, stream and batch analytics, and data pipelines and ETL. Listed correctness features include exactly-once state consistency, event-time processing and late-data handling. APIs include SQL for stream and batch data, DataStream and ProcessFunction for time and state. Operational capabilities cover flexible deployment, high availability, savepoints, scale-out architecture, very large state and incremental checkpoints. The project lists low latency, high throughput and in-memory computing. Flink runs in common cluster environments; for Kubernetes, the Kubernetes Operator is identified as the standard deployment mechanism. Connectors include AWS, Cassandra, Elasticsearch, Google Cloud PubSub, HBase, Hive, JDBC, Kafka, MongoDB, OpenSearch, Prometheus, Pulsar and RabbitMQ. Security requires configuration because SSL/TLS, REST authentication and SQL Gateway authentication are disabled by default. It is available at free under Apache License v2.
Apache Storm
Apache Storm is a distributed system for computing over unbounded data streams in real time. It uses spouts, bolts, and topologies to assemble multi-stage computations, supporting realtime analytics, online machine learning, continuous computation, distributed RPC, and ETL. The project describes Storm as scalable and fault-tolerant, with guaranteed data processing, and reports a benchmark above one million tuples per second per node. Integrations include Apache Kafka, HDFS, JDBC databases, JMS, and Redis. Developers can work in local mode in-process or submit topologies to a remote cluster. Storm supports stateful processing and lists JavaScript, Python, Ruby, and C# among supported languages. It is free under Apache License, Version 2.0; source and binary distributions are available, along with Maven Central and an official Docker image. The current release is 3.1.0. Security options include Kerberos/SASL authentication, SimpleACLAuthorizer authorization, and TLS for Thrift RPC and worker messaging; authentication and authorization options are disabled by default.