resources management and allocation, VMs migration, placement and management of SDN controllers, and network isolation. Another challenging issue of the various C-RAN architectures is regarding the high round-trip delay to process the end- user devices data by the cloud/BBU pool [39]. This limitation of high delay of C-RAN can be tackled by adopting edge computing paradigms within the C- RAN architecture where part of the data can be processed or stored at the edge servers [40, 63]. Consequently, next subsection investigates the deployment of edge computing with the NG-RAN. 1.2.2 Edge Computing with 5G Architecture For several years, cloud computing has been considered as the most predominant computing technology. However, with the arrival of IoT, an evolution toward edge computing was mandated to remedy the several constraints on the computing, storage, and networking resources. Due to the massive number of IoT devices and applications, distributed computing paradigms are mandated to support the new requirements of mMTC and URLLC UCs and to tackle the several cloud computing drawbacks. These drawbacks involve latency, congestion, real-time processing, and scalability [64]. Instead, edge computing brings the computational resources of the cloud near to the end-users. By employing edge computing within 5G networks, several benefits can be gained in terms of latency, location awareness, scalability, reliability, mobility, bandwidth, energy efficiency, and cost [64-66]. Furthermore, edge computing is vital for the applications that demand fast and real-time processing, ultralow latency, intelligent services, and smart solutions [67]. Consequently, edge computing promises to fulfill the various requirements for healthcare, smart factory, AR/VR, streaming and video gaming, autonomous vehicles, smart farming, and SO on [68, 69]. To this end, this section investigates 5G architecture within fog computing and MEC. M. Alfaqawi et al. BBU pool Fronthaul Fronthaul Cloud layer Backhaul ((ig)) Macro-cell Fog layer ((i.))) (((