Cloud computing is a general term for network-based computing that takes place over the Internet. It provides on-demand access to shared pools of configurable computing resources like networks, servers, storage, applications, and services. Key characteristics include pay-as-you-go pricing, ubiquitous network access, resource pooling, rapid elasticity, and measured service. Common cloud service models are SaaS, PaaS, and IaaS. While cloud computing provides opportunities to reduce costs and access services from anywhere, challenges relate to security, control, and dependence on third parties.