# Fog Computing: Enabling the Management and Orchestration of Smart City Applications in 5G Networks  
[PERSON]  
1  
[PERSON]  
[PERSON]  
2  
[PERSON]  
3  
[PERSON]  
3  
[PERSON]  
[PERSON]  
4  
[PERSON]  
3  
[PERSON]  
+++ ==WARNING: Truncated because of repetitions==
[PERSON]  
3  
++  
a proper resource allocation of multiple services, which is not an easy task. Nowadays, resource provisioning and orchestration is present in different topics of literature related to the life-cycle management of applications and services. Although orchestration is relatively mature in data centers, in fog architectures, there is still a large number of research challenges associated with this approach since fog computing is still in the early stages and needs more time to evolve [6]. In fog architectures, orchestration should be distributed across the multiple FNs, which are then responsible for the local resource provisioning and deployment of applications and services, thereby ensuring the necessary Quality of Service (QoS).  
In the last few years, IoT applications have been implemented as a set of small and independent micro-services. The micro-services architecture is a relatively new term in software patterns [7]. The micro-service paradigm is an extension of the traditional Service-Oriented Architecture (SOA) paradigm, where an application is decomposed into a set of fine-grained services. Each service communicates through lightweight communication protocols. Research studies have been carried out to solve the issues of abstracting end device functionalities, trying to provide a suitable architecture with service management and composition capabilities able to link a set of micro-services in a set of IoT applications. Each micro-service can be provided by a lightweight container, which may be used by multiple tenants. In a smart city scenario, resources should be distributed within the network ensuring that the micro-services that make up an application are allocated and instantiated close to the end device that is requesting the IoT application [8]. Multiple factors should be taken into account to ensure proper resource allocation such as latency, bandwidth, energy efficiency and cost.  
In this article, a fog-based management and orchestration framework is proposed to deal with the application service placement problem in smart cities. Our approach follows the guidelines of the European Telecommunications Standards Institute (ETSI) Network Function Virtualization (NFV) Management and Orchestration (MANO) architecture, extending it with additional software components, which will offer not only high computing performance, but also monitoring and data analysis functionalities. Furthermore, based on our expertise in the network management domain, a novel fog protocol is foreseen to enable the exchange of application service information between FNs to provide fast service provisioning decisions for smart city applications. This way, each FN can decide where and when it is more suitable to deploy and instantiate each instance of the micro-services composing a smart city application. Therefore, an application layer Peer-to-Peer (P2P) fog protocol based on the Open Shortest Path First (OSPF) routing protocol is proposed to deal with the exchange of application service information between FNs and the cloud layer. Finally, the evaluation of an anomaly detection smart city use case based on an air monitoring application is presented. Our results show that the proposed fog computing framework achieves a substantial reduction in network bandwidth usage and in latency when compared to centralized cloud solutions.  
The remainder of the article is organized as follows. In the next section, related work is discussed. Section 3 introduces the proposed fog computing management and orchestration framework. Then, in Section 4, the evaluation scenario is described, which is followed by the evaluation of the results in Section 5. Finally, conclusions are presented in Section 6.