  The Internet of Things (IoT) paradigm is being rapidly adopted for the
creation of smart environments in various domains. The IoT-enabled
Cyber-Physical Systems (CPSs) associated with smart city, healthcare, Industry
4.0 and Agtech handle a huge volume of data and require data processing
services from different types of applications in real-time. The Cloud-centric
execution of IoT applications barely meets such requirements as the Cloud
datacentres reside at a multi-hop distance from the IoT devices. \textit{Fog
computing}, an extension of Cloud at the edge network, can execute these
applications closer to data sources. Thus, Fog computing can improve
application service delivery time and resist network congestion. However, the
Fog nodes are highly distributed, heterogeneous and most of them are
constrained in resources and spatial sharing. Therefore, efficient management
of applications is necessary to fully exploit the capabilities of Fog nodes. In
this work, we investigate the existing application management strategies in Fog
computing and review them in terms of architecture, placement and maintenance.
Additionally, we propose a comprehensive taxonomy and highlight the research
gaps in Fog-based application management. We also discuss a perspective model
and provide future research directions for further improvement of application
management in Fog computing.
