In recent times, the number of internet of things (IoT) devices/sensors increased tremendously. To support the computational demand of real-time latency-sensitive applications of largely geo-distributed IoT devices/sensors, a new computing paradigm named fog computing has been introduced. In this chapter, the authors will introduce fog computing, its difference in comparison to cloud computing, and issues related to fog. Among the three issues (i.e. service, structural, and security issues), this chapter scrutinizes and comprehensively discusses the service and structural issues also providing the service level objectives of the fog. They next provide various algorithms for computing in fog, the challenges faced, and future research directions. Among the various uses of fog, two scenarios are put to use.