Fog computing extends Cloud-like infrastructure to the Edge, advancing Industrial Internet-of-Things (IIoT) applications in which parts of business-oriented enterprise systems, decoupled via fine-grained microservices, can be deployed in Fog networks in proximity to sensor devices. It boosts the responsiveness to IIoT events significantly where timely decision-making and actions are required, particularly for problematic trends and anomalies. However, microservice placement is a non-trivial problem in IIoT settings, given the dynamic occurrence of different IIoT events and variable resource needs of microservices against resource-constrained, heterogeneous, and distributed Fog devices. The cost of matching and deploying microservices in real-time, highly dynamic, and contentious settings can easily exceed the benefit of just-in-time Edge deployments. Current studies largely focus on managing the microservice placement from Cloud servers and offloading to the Cloud when Fog devices are resource-deficient. Yet, there is a lack of research focusing on efficient Fog resource use and managing the placement at the edge to improve the responsiveness. The complexity increases when multiple inter-dependent microservices with similar priorities are required to be placed on the same Fog devices. To mitigate this, we develop a tiered framework for dynamic microservice placement, in which costly resource decision-making for microservices is dedicated to Master Fog devices and Citizen Fog devices are exclusively assigned to executing microservice requests. Firstly, we implement a priority-based algorithm in each Master Fog device to identify the high-priority Edge-required microservices. Secondly, we sort the Fog devices according to their resource availability and place the microservices based on their priority and dependencies. Thirdly, we implement the strategies for microservice placement, scaling and request escalation in each Master Fog, managing a small number of Citizen Fog devices. These exempt the Citizen Fog devices from common resource and communication management responsibilities and enable them to allocate more resources to Edge-required microservices with a higher number of instances. Finally, we implement and evaluate our framework in a simulated Fog environment. The results outperform state-of-the-art frameworks in terms of efficient resource utilisation, resulting in reduced Cloud dependency by one-third compared to other approaches and average application execution time by 65–70%.
Read full abstract