Apache Storm is a distributed real-time computation system for processing large amounts of data in real-time. It is fault-tolerant and guarantees message processing. Storm topologies consist of spouts that emit streams of data and bolts that consume and process the streams. Storm provides a simple programming model and is scalable, fault-tolerant, and guarantees processing.