We introduce an architecture for undertaking data processing across multiple layers of a distributed computing infrastructure, composed of edge devices (making use of Internet-of-Things (IoT) based protocols), intermediate gateway nodes and large scale data centres. In this way, data processing that is intended to be carried out in the data centre can be pushed to the edges of the network - enabling more efficient use of data centre and in-network resources. We suggest the need for specialist data analysis and management algorithms that are resource-aware, and are able to split computation across these different layers. We propose a coordination mechanism that is able to combine different types of data processing capability, such as in-transit and in-situ. An application scenario is used to illustrate the concepts, subsequently evaluated through a multi-site deployment.