Nowadays, Users are increasingly adopting Internet of Things-based gadgets, resulting in significant data creation. All IoT devices, whether they are appliances, sensors, actuators, or other gadgets, continuously generate data that is processed in the cloud. The ever-increasing volume of data can cause a variety of cloud-based bottlenecks, such as latency and bandwidth concerns. Cloud being a central computing unit suffer from bandwidth issues due an expanding number of IoT (Internet of Things) devices. Fog computing is a novel paradigm to address these challenges. It provides the storage, networking and computation facility near the data sources and helps in spanning the aperture between cloud and the end devices. This paper provides an overview of cloud computing and fog computing paradigms, some basic differences between them, technologies similar to them and a basic idea about different applications and tools used for fog assisted cloud architecture. In the end of this paper, by finding research gaps from the literature of Fog assisted cloud architecture, we will address some ongoing research issues and challenges in this field.