Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. It allows enterprises to get their applications up and running faster, scale and re-provision resources at will, and save money by opting to pay as they use. Cloud computing allows companies to avoid or minimize up-front infrastructure costs, and focus on projects that differentiate their businesses instead of on infrastructure.