1. A method for performing event stream processing the method comprising: receiving, at an event stream processing engine, a plurality of event streams from a plurality of input adapters, at least a first input adapter of the plurality of input adapters being located on a separate and distinct virtual machine than a second input adapter of the plurality of input adapters; transforming event stream data from the first input adapter and event stream data from the second input adapter into data of a single data type; storing the transformed data in an in-memory database; and performing real-time analysis on the transformed data by accessing windows of the transformed data from the in-memory database based on rules defined in the event stream processing engine, wherein the event stream processing engine and the in-memory database are part of a first cloud and the method further comprises retrieving information by the event stream processing engine from a second cloud and using the information from the second cloud to execute the rules.