Cloud computing provides on-demand access to shared computing resources like networks, servers, storage, applications and services via the internet. It has three service models - Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS). There are four deployment models - public, private, hybrid and community clouds. Key enabling technologies include virtualization, distributed resource management and reservation-based provisioning to meet service level agreements.