Too Long; Didn't Read
A Detailed Guide To Using Apache Storm gives a look at the architecture of Apache Storm. Storm is built to handle data coming in extremely fast, possibly from various sources, analyze it and publish updates to a UI without storing any itself. The architecture of Storm can be compared to a network of roads connecting a set of checkpoints. The traffic is almost always unidirectional, like a DAG, and the data flows in the form of tuples. Storm does offer support for other languages, most topologies are written in Java since it's the most efficient option.