Storm is a distributed, fault-tolerant system for real-time computation on streams of data. It uses a non-persistent API and executes topologies made up of spouts that produce data tuples and bolts that transform tuples. Once submitted, Storm topologies will continuously execute the computation logic in the bolts in a distributed, fault-tolerant manner as long as the logic is correct.