LEONORE — Large-Scale Provisioning of Resource-Constrained IoT Deployments Internet of Things (IoT) devices are usually considered as external dependencies that only provide data, or process and execute simple instructions. Recently, IoT devices with embedded execution environments emerged that allow practitioners to deploy and execute custom application logic on the device. This approach fundamentally changes the overall process of designing, developing, deploying and managing IoT systems. However, these devices exhibit significant differences in available execution environments, processing, and storage capabilities. To accommodate this diversity, a structured approach is needed to uniformly and transparently deploy application components onto a large number of heterogeneous devices. This is especially important in the context of current large-scale IoT systems, such as in the smart city domain. In this paper, we present LEONORE, a service oriented infrastructure that provides elastic provisioning of application components on resource-constrained and heterogeneous edge devices in large-scale IoT deployments. LEONORE supports push-based as well as pull-based deployments and we show that our solution is able to elastically provision large numbers of devices using a testbed based on a real-world industry scenario.