Apache Storm vs Siddhi
Apache Storm
storm.apache.orgSiddhi
siddhi.ioSide by side
| Figure | Apache Storm | Siddhi |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 0 |
| Spec score · Stream Analytics Software | 8.1 (#9) | 7.4 (#21) |
| Spec score · Stream Processing Software | 8.1 (#9) | 7.3 (#22) |
| Deployment | Storm provides local mode for in-process development and remote mode for submitting topologies to a cluster. | Siddhi can run embedded as a Java or Python library, as a microservice on bare metal or a VM, in Docker, or on Kubernetes. |
| Integrations | Out-of-the-box integrations include Apache Kafka, HDFS, JDBC databases, JMS, and Redis. | Supported event sources and destinations listed include Kafka, NATS, RabbitMQ, HTTP, gRPC, JMS, MQTT, Amazon SQS, Google Pub/Sub, email, files, and WebSocket. |
| License | Apache Storm is licensed under the Apache License, Version 2.0. | The Siddhi license page identifies Apache License 2.0. |
| Reliability | Storm is designed to be scalable, fault-tolerant, and to guarantee data processing. | The homepage claims zero event loss and exactly-once event processing. |
| Security | Storm supports pluggable Kerberos/SASL authentication and SimpleACLAuthorizer authorization, both disabled by default. | WSO2 asks vulnerability reports to be sent privately to its security mailing list and says initial response time will be under one hour. |
| Support | Users can get help through the user mailing list at [email protected]. | The site links to community support resources including a mailing list, contribution information, and security reporting. |
| Use cases | Storm supports realtime analytics, online machine learning, continuous computation, distributed RPC, and ETL. | The site describes real-time analytics, data integration, notification management, and adaptive decision-making as use cases. |
Plans
In their own words
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.