1. A computer-readable storage media having instructions stored thereon that when executed by a computing device cause the computing device to perform acts, comprising: evaluating a real-time streaming query that utilizes data from multiple different edge computing devices, the multiple different edge computing devices configured to communicate with cloud-based resources and to communicate indirectly with one another via the cloud-based resources, but not to communicate directly with one another, and wherein individual edge computing devices include an instantiation of an application or application part that is conveyed in a declarative temporal language; and, comparing resource usage between a first scenario that involves uploading query data, associated with the real-time streaming query, from the multiple different edge computing devices to the cloud-based resources for processing and a second scenario that involves uploading the query data from all but one of the multiple different edge computing devices to the cloud-based resources and downloading the query data to a sub-set of the multiple different edge computing devices for processing, wherein the sub-set includes the one edge computing device.