LOCALITY-AWARE DEPLOYMENT OF APPLICATION MICROSERVICES FOR MULTI-DOMAIN FOG COMPUTING
Francescomaria Faticanti, Marco Savi, Francesco De Pellegrini, Domenico Siracusa
Abstract
In fog computing customers’ microservices may demand access to connected objects, data sources and computing resources outside the domain of their fog provider In practice, the locality of connected objects renders mandatory a multi-domain approach in order to broaden the scope of resources available to a single-domain fog provider. We consider a scenario where assets from other domains can be leased across a federation of cloud–fog infrastructures. In this context, a fog provider aims to minimize the quantity of external resources to be rented to satisfy the applications’ demands while meeting their requirements. We first introduce a general framework for the deployment of applications across multiple domains owned by multiple cloud–fog providers. Hence, the resource allocation problem is formulated in the form of an integer linear program. We provide a novel heuristic method that explores the resource assignment space in a breadth-first fashion to ensure that locality constraints are met. Extensive numerical results evaluate deployment costs and feasibility of the proposed solution demonstrating that it outperforms the standard approaches adopted in the literature.
Introduction
Fog computing is an innovative paradigm conceived to bridge the gap between cloud and IoT domains, ensuring the elaboration of data, when needed, at the network’s edge, i.e., close to where it is produced [1]. This paradigm brings many benefits such as service latency reduction [2], privacy enhancement [3] and bandwidth savings [4]. However, it relies on the adoption of well-designed application architectures to leverage concepts and functionalities of cloud computing for the best users’ experience.
In fact, in the last decade the design and development of cloud-native applications has evolved towards new architectural paradigms, including the adoption of microservice-oriented architectures [5], [6]. A microservice-oriented application is designed as a set of inter-related loosely-coupled modules/components, namely, the microservices. Here we use the terms “microservice” and “module” interchangeably. Each application microservice performs specific computations on input data and forwards obtained results to other modules for additional processing. One of the great advantages of such an approach is that each module can be containerized independently from each other. Finally, this architecture can implement the same intended functionalities of a traditional monolithic application, but attains a much higher degree of scalability, realibility, flexibility and even higher privacy guarantees [7]. As fog computing relies on computational resources that are geographically dispersed, the microservice-oriented architecture appears indeed the most natural choice for the design and development of fog-native applications. In this way, any fog application can be split into basic components to be executed each at the edge or in the cloud, depending on the requirements of the application and of its constituting components.
The evolution of fog computing has gained momentum in the last few years, when some fog-like solutions have been commercialized [8], [9]. However, all existing fog computing platforms have been designed to work within a single administrative domain. Hence, they require exclusive ownership of resources spanning from cloud to things. This, unfortunately, is hardly suitable for the deployment of complex fog-native applications, mainly due to the wide geographical diffusion and heterogeneity of fog computing resources, including their ownership. In fact, fog-native applications come – by their own nature – with some hard-constraining locality requirements. It is worth noting that loose locality requirements do exist in cloud computing, both for delay/performance reasons and for national legislative aspects related to citizens’ data ownership. However, while in cloud computing locality promotes the coverage of large regional sites, in fog computing locality is dictated by the specific geographical location where some processing task must be executed. This in turn imposes a fine-grained set of spatial constraints. As a matter of example, an application may need to keep a specific module in charge of processing sensitive data in a given location at the edge, e.g., a video stream monitoring people moving within a private area, administrated by a specific fog provider (i.e., owner of fog resources). This indeed enhances the privacy level of the application since data are not to be moved. In addition, the same application may require to integrate additional data which can only be captured by a specific peculiar resource at the edge (e.g., a camera covering a critical angle of vision), and whose access is offered by another specific fog provider.
This paper contributes to the research discussion on how to define a multi-domain federated fog ecosystem: fog providers can stipulate contracts among them to rent additional resources – which would not be accessible otherwise – and ensure smooth execution of their customers’ applications. Previous works [10], [11] have already advocated the technical feasibility of such approach by means of an interface to a resource and/or a platform. In this work we provide a different angle by considering the perspective of a fog provider and ask the question: which resources should I rent to ensure that the requirements posed by a given set of applications with locality needs – that I have to deploy – are met in the federated fog while minimizing external resource usage?
In this context, fog providers are assumed to rely on a resource brokerage platform by which they can reserve the potential rentable resources owned by other providers. Such resources are identified using matchmaking mechanism [12] based on application modules’ locality needs and, possibly, on other requirements of non-functional type. Given such a set of resources and self-owned resources, the objective is to determine an application deployment that minimizes the resource rental cost.
Formally the federated fog application deployment problem is formulated by means of integer linear programming (ILP). The goal is to allocate the needed federated fog resources while satisfying any application’s requirement and using self-owned resources as much as possible. The deployment of applications is defined as a map that associates applications’ microservices and their exchanged network traffic flows to the available fog resources. The general problem of finding an optimal such map corresponds to an instance of the virtual network embedding (VNE) problem, which is known NP-hard [13], [14].
To the best of the authors’ knowledge, the literature on fog computing has not studied so far the problem of specializing VNE-like solutions to federated fog systems. In this context, the microservice structure of fog computing applications requires at the same time to comply with locality constraints on the placement of micro service modules and possibly lease resources not yet covered in house. To this aim, we propose a scalable heuristic algorithm to solve the application deployment problem by prioritizing modules with locality needs. It adopts a region-based, topological sorting of applications to be deployed and applies a Breadth-First Search approach. The rationale is that, since fog resources consumed by modules with locality constraints are precious, they should not be consumed in advance by modules not locality-constrained, a shortcoming which occurs with standard VNE heuristics based on iterative application placement [13].
We validate our solution with respect to the optimal deployment and two state-of-the-art approaches, one based on Depth-First Search and the other on Breadth-First Search (BFS) according to applications’ topological sort [15]. This permits to consider the role of locality constraints – in terms of deployment cost and feasibility percentage – while retaining flexibility in the allocation of non locally-constrained microservices. Experimental results show that our proposal outperforms existing approaches especially under multiple locality constraints, leading to deployment costs and feasibility rates much closer to the optimum.
The rest of this paper is organized as follows. The next section describes the reference scenario and the system model. The reference resources allocation problem is reported in Section 4. Section 5 introduces the algorithmic solution, whereas its performance evaluation is detailed in Section 6. Related works are reported in Section 2 and a closing section ends the paper.
Section snippets
Related work
In this section we recall the related work with respect to service (or application) deployment in federated cloud and to virtual network embedding.
System model
Problem formulation
Heuristic algorithms
The Virtual Network Embedding (VNE) problem formulated in Section 4 is a well-known NP-hard problem. For this reason, it is important to look for efficient algorithms specialized for the considered scenario, whose application deployment solutions ensure a low deployment cost while guaranteeing acceptable computational time.
The general VNE problem has been deeply studied in the literature related to Software-Defined Networking and, given its NP-hardness, several heuristic solutions have been…
Performance evaluation
This section describes the set of numerical experiments performed to validate the investigated algorithms on a multi-domain federated infrastructure with locality constraints.
With our experiments we want to (i) prove the negative impact of a Depth-First Search approach for the deployment of applications on either the feasibility of the solution or on its optimality; (ii) show the good trade-off between feasibility and optimality as offered by the improved Breadth-First Search approach proposed…
Conclusions
This paper considered the problem of fog applications deployment in a federated cloud–fog environment under locality constraints. Solving the problem of initial resource selection plays a fundamental role, and solutions should be tailored to the reduction of deployment costs while satisfying all the applications’ requirement – including those related to locality – and accommodating as many concurrent requests as possible. By considering a microservice paradigm for fog-native applications, a…
Credit authorship contribution statement
Francescomaria Faticanti: Conception and design of study, Writing – original draft. Marco Savi: Conception and design of study, Writing – original draft. Francesco De Pellegrini: Conception and design of study, Writing – original draft. Domenico Siracusa: Conception and design of study, Writing – original draft.
Declaration of Competing Interest
The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.
Acknowledgement
All authors approved the final version of the manuscript.
Francescomaria Faticanti is a postdoctoral researcher at INRIA, Sophia Antipolis, France. He received the Ph.D. in Information and Communication Technology from University of Trento and Fondazione Bruno Kessler (FBK), Italy, in November 2021. He received his M.Sc. in Computer Science and the excellence degree from Sapienza, University of Rome, Italy, in 2017 and in 2018, respectively. He served in the Technical Program Committee (TPC) of IEEE COINS 2020 and he is a reviewer for several…