  We introduce Cloud4IoT, a platform offering automatic deployment,
orchestration and dynamic configuration of IoT support software components and
data-intensive applications for data processing and analytics, thus enabling
plug-and-play integration of new sensor objects and dynamic workload
scalability. Cloud4IoT enables the concept of Infrastructure as Code in the IoT
context: it empowers IoT operations with the flexibility and elasticity of
Cloud services. Furthermore it shifts traditionally centralized Cloud
architectures towards a more distributed and decentralized computation
paradigm, as required by IoT technologies, bridging the gap between Cloud
Computing and IoT ecosystems. Thus, Cloud4IoT is playing a role similar to the
one covered by solutions like Fog Computing, Cloudlets or Mobile Edge Cloud.
The hierarchical architecture of Cloud4IoThosts a central Cloud platform and
multiple remote edge Cloud modules supporting dedicated devices, namely the IoT
Gateways, through which new sensor objects are made accessible to the platform.
Overall, the platform is designed in order to support systems where IoT-based
and data intensive applications may pose specific requirements for low latency,
restricted available bandwidth, or data locality. Cloud4IoT is built on several
Open Source technologies for containerisation and implementations of standards,
protocols and services for the IoT. We present the implementation of the
platform and demonstrate it in two different use cases.
