Introduction
Managing computing resources is a broad topic that entails optimizing services and tasks assignment, schedule workloads, and more importantly scale available resources. In the research community, we were among the first groups to offer solutions to acquire those features in the cloud and fog computing paradigms. We first brought the idea of on-demand fog formation based on Internet of Things (IoT) devices requirements and user needs for better quality of experience in various mobile and vehicular apps. Benefiting from the use of Docker containers for timely and lightweight deployment of services, moving to the use of Kubernetes orchestration tools brought by Google. These innovative technologies were the main building blocks to the success of deploying on-demand fogs in real-world tasks.
One of the important problems when dealing with on-demand fog formation is the services and tasks placement on available computing resources. Due to the need for satisfying multiple requirements, we adapted the use of evolutionary Memetic solutions for finding near optimal solutions. We then utilized the latest success in the deep reinforcement learning (DRL) area for solving this problem. The work did not stop here; however, we were able to employ DRL to automatically scale computing resources in Kubernetes clusters horizontally and vertically. This brought the flexibility to deploying intelligence for resource management at a large scale in any clustering environments including the 5th and potentially the 6th generation of cellular networks. We are currently very active in this area, and we look forward to investing more time to provide critical solutions for resource management.