Cloud computing allows for on-demand access to shared computing resources like networks, servers, storage, applications and services. It provides accessibility, agility and flexibility through rapid provisioning and releasing of resources with minimal management effort. Some key aspects of cloud computing include virtualization, multi-tenancy, broad network access, resource pooling and measured service. Cloud computing is changing the nature of IT by moving computing resources from local desktops and data centers to the internet.