Internet of Things (IoT) has emerged as a computing paradigm to develop smart applications such e-health care systems, smart city, smart waste management systems, etc. It contains a large number of different devices and heterogeneous networks, which make it difficult to provide secure and fast response to the end user. To provide the faster response services, there is a need to use the concept of Fog computing Recently, the use of fog computing is a rapidly increasing in many industries for the development of applications such as manufacturing, e-health, oil and gas, As more and more users have started to store/process their real-time data in Fog-based Cloud environments, resource provisioning and scheduling of IoT based applications becomes a key element of consideration for efficient execution of these applications. This article will help to select the most suitable technique for processing smart IoT based applications in Fog computing environments.