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 users to access technology-based services from the internet without knowledge of, expertise with, or control over the technology infrastructure that supports them. Cloud computing allows companies to avoid or minimize up-front infrastructure costs, and focus on projects that differentiate their businesses instead of on infrastructure.