Cloud computing allows users to access computing resources like servers, storage, databases, networking, software, analytics and more over the internet. It provides on-demand access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort. Some key characteristics of cloud computing include centralization of infrastructure, increased peak-load capacity, efficiency improvements, dynamic allocation of resources, and consistent monitored performance. There are various deployment and service models used in cloud computing like public, private, hybrid, community clouds and Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS).