Orchestration of Microservices on The edge: A machine learning-based approach
International Data Corporation predicts that the collective sum of the world’s data will grow to 175ZB by 2025, out of which 90ZB of data will be created on IoT and edge nodes. Offering processing, and storage services at the cloud level is costly. Furthermore, In some applications, the requirements such as low latency, privacy, and scalability are not satisfied if all data is uploaded to the cloud [Mechalikh 2019]. To address these issues Edge or Fog Computing is the new paradigm that allows computation and storage to happen at the edge of the network [Bonomi 2012]. Furthermore, edge nodes are heterogeneous and operate in volatile and dynamic environments, with high degrees of mobility and geo-distribution. Additionally, limited storage and computational power of edge nodes require applications’ software to be developed as a set of lightweight, independent, and executable modules called microservices. Therefore, in such an environment, edge nodes require an orchestrator or a set of orchestrators to support the orchestration of microservices on-demand based on available resources. Some of the challenges in these environments are as follows [LM Vaquero 2019][K Velasquez 2018]:
• Mobility and Dynamism: Due to the uncertainty in mobile and dynamic environments, a network of adaptive orchestrators must be designed so they can adapt to the changes in the environment and to respond to the end-users’ demands on-the-fly and satisfy the quality of service.
•Heterogeneity: The orchestrator must employ compatible techniques such as container-based techniques to work with a wide range of heterogeneous software and hardware infrastructure at the same time.
•Functionality chaining: Arranging and scheduling heterogeneous microservices with different Service Level Agreement and resource requirements which do not have a standard specification is still an open research challenge.
•Data streaming and Data scattering: Identifying data sources that are frequently accessed by microservices and offering a data scattering mechanism that improves bandwidth utilization and reduces data access time.
The proposed research aims to design a distributed network of orchestrators that utilizes Machine Learning techniques so it can: (a) operate in heterogeneous, mobile, and dynamic environments by adapting the services based on the availability of the resources in the environment; (b) provide a dynamic arrangement of functionality chaining to ensure the interoperability of the heterogenous microservices and the required resources. (c) identify and predict frequently used data to facilitate data accessibility and improve the efficiency of the system.