Fog computing aims at extending the Cloud towards the IoT so to achieve
improved QoS and to empower latency-sensitive and bandwidth-hungry
applications. The Fog calls for novel models and algorithms to distribute
multi-service applications in such a way that data processing occurs wherever
it is best-placed, based on both functional and non-functional requirements.
This survey reviews the existing methodologies to solve the application
placement problem in the Fog, while pursuing three main objectives. First, it
offers a comprehensive overview on the currently employed algorithms, on the
availability of open-source prototypes, and on the size of test use cases.
Second, it classifies the literature based on the application and Fog
infrastructure characteristics that are captured by available models, with a
focus on the considered constraints and the optimised metrics. Finally, it
identifies some open challenges in application placement in the Fog