1) Cloud computing allows on-demand access to configurable computing resources like servers and networks that can be provisioned with minimal management effort. However, some see it as proprietary systems that increase costs over time. 2) Cloud computing provides scalable resources over the internet as a service, but concerns include reliability, availability, security, and lack of customization. 3) Fog computing extends cloud computing to the edge of networks by performing storage and processing near data sources like IoT devices to enable low latency applications. It provides scalable services across geographically distributed devices.