FORK: A Kubernetes-Compatible Federated Orchestrator of Fog-Native Applications Over Multi-Domain Edge-to-Cloud Ecosystems
Shahmir Ejaz, Mays Al-Naday · 2024
With the proliferation of fog computing, there is an increasing need to orchestrate cloud-native applications over geo-distributed clusters (i.e. fog-native workflows). Particularly, to deploy different parts of an application across multiple clusters and facilitate their interaction over the external network. Of existing orchestration technologies, Kubernetes emerges as an attractive candidate to address this need, for its emerging support of multi-cluster services. However, meeting the need remains a challenge, as the multi-cluster service API (MCS API) is still in its infancy, lacking the ability to coordinate the scheduling of multiple microservices across clusters. Particularly when clusters belong to different administrative domains. This work proposes FORK ((F)ederated (OR)chestration for (K)ubernetes), a novel solution for orchestrating fog-native workflows over geo-distributed clusters, possibly from different domains. FORK decomposes a workflow into a set of cluster-specific dependency sub-graphs. Each exposing only microservices assigned to the cluster, and ‘dependent’ microservices of peer clusters. An application agent and a set of cluster-local dependency operators are introduced, interacting with cluster-local Kubernetes and using Submariner to deploy cluster parts of the application and chain different parts across-clusters. The FORK solution is utilised to evaluate the performance of fog-native applications and analyse the impact of distribution over multiple clusters. Evaluation results show that distributing CPU-light microservices introduces a significant network overhead that outweighs that of the microservices tasks. Whilst for CPU-intensive counterparts, the overhead ratio is considerably less. The results further show significant savings in manual operations.