Fog computing is a model that processes and stores data near network edge devices rather than solely in cloud data centers. It extends cloud computing to the edge of the network to provide low latency services to end users. Key characteristics include proximity to users, dense geographical distribution, and support for mobility. Fog computing is well-suited for applications requiring real-time processing like industrial automation and IoT networks of sensors. It helps improve quality of service by bringing services closer to users and enabling real-time analytics on distributed data sources.