I implemented the same idea with Storm and Esper and can recommend this combination. The key to scale is, as explained in the slideshow, to engineer the aggregate functions of your Storm topology so that they fit your aggregations in Esper.
We have done the same, but using WSO2 CEP instead of Esper. Also, one key thing is we have done a layer that accepts queries from the user, partition them using hints from the user, and automatically create and run the Storm topology. Basically, everything come out of the box.
Big Data Realtime Analytics world mostly doing and discussing counting usecases and implementing them by hand (e.g. using Storm). However, realtime usecases like windows, temporal event patterns etc are too complicated to be rewritten by every programmer. We need higher level abstractions, and learning from Hive and CEP, SQL like languages might fit the bill.