As technology develops, more human-made devices are able to make use of Internet to communicate with each other, thus enabling the Internet of Things (IoT) era to emerge. The amount of data IoT entities generate can overwhelm computer infrastructures not prepared for such data deluge and consequent need for more CPU power. Cloud computing offers a solution at infrastructure level that alleviates such a problem by offering highly scalable computing platforms that can be configured on demand to meet constant changes of applications requirements in a pay-per-use mode. Current approaches enabling IoT applications are domain-specific or focus only on interaction with sensors, thus they cannot be easily ported to other domains nor provide means of interactions with data sources other than sensors.
To address this issue, in this paper we introduce a data-centric framework for development of IoT applications executed in clouds. The framework handles connection to data sources, data filtering, and utilization of cloud resources including provisioning, load balancing, and scheduling, enabling developers to focus on the application logic and therefore facilitating the development of IoT applications. We present a prototype application executing on AWS, built on top of the Aneka Cloud Application Platform and present experiments demonstrating the use of our framework for building an application capable of processing input from different sources and analysing them using easy-to-use APIs provided by Aneka.