Apache Storm is a distributed system for processing unbounded data streams in real time. It builds multi-stage computations from spouts, bolts and topologies, supporting uses such as 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 use local mode for in-process development or submit topologies to a remote cluster. Storm is free and open source under Apache License 2.0, and supports stateful processing. Listed languages include JavaScript, Python, Ruby and C#. Security options include pluggable Kerberos/SASL authentication and SimpleACLAuthorizer authorization, both disabled by default. TLS is available for Thrift RPC and worker-to-worker messaging using mutual TLS. Release 3.1.0 is available in source and binary distributions, through Maven Central and as an official Docker image. Release files have OpenPGP signatures and SHA-512 checksums.
Who it is for
Storm suits developers and operators building real-time stream computations, including analytics, ETL or distributed RPC workloads. It offers local development mode as well as remote cluster deployment.
What is good
- Supports unbounded data streams in real time.
- Integrates with Kafka, HDFS, JDBC, JMS and Redis.
- Offers local and remote deployment modes.
- Free under Apache License 2.0.
- TLS is available for RPC and worker messaging.
What to know first
- Kerberos/SASL authentication is disabled by default.
- Authorization is disabled by default.
- Remote deployment requires a cluster.
Verdict
Apache Storm provides a free, open-source approach to multi-stage stream processing with a range of integrations and deployment modes. Operators should account for security options being disabled by default.
Apache Storm plans and pricing
All plansCompared on streaming analytics software
- Free plan
- Yes
- Stateful processing
- Yes
- Supported languages
- JavaScript, Python, Ruby, C#


