In the last few years, Cloud computing has undergone a deep transformation driven by the technological evolution (e.g. containerization) and by new requirements imposed by emerging domains (e.g. 5G networks and IoT). On one hand, operating system virtualization (i.e. containerization) is, to some extent, replacing traditional virtual machines offering a lightweight, flexible and portable environment for developers and cloud providers able to materialize innovative patterns and paradigms like “microservices” and “Infrastructure as Code”. From the other side, the emergence of 5G and the pervasiveness of IoT technologies are demanding for a more distributed and decentralized support by the Cloud services: Cloud Computing must escape from the traditional “centralized” data centers and offer its services closer to the users or the data sources embracing the Fog/Edge Computing paradigm. Such new paradigm opens new challenges and increases the complexity of deployment and operations with respect to a traditional environment: distribution and decentralization must be addressed and resource allocation/workload placement and scheduling must be conceived in a heterogeneous, widespread environment where locality, context-awareness, network performances must be taken into account.
A typical Fog/Edge system foresees 3+ architectural tiers: the cloud tier (either public or private) where resources are abundant, one or more edge tiers where data can be pre-processed and where resources are limited and finally the “things” tier.
OpenStack is traditionally part of the cloud tier but recently it is trying to cover also the edge tier (e.g. Fog Edge Massively Distributed Clouds WG) and is offering support to the containerization (e.g. Magnum).
In this talk we present a Fog/Edge architecture based on OpenStack and Docker/Kubernetes where fleet management, container orchestration and workload placement are addressed. Problems encountered, alternative architectures and deployments are also presented. A demo will end the presentation.