Cloud computing is the delivery of computing resources such as servers, storage, databases, networking, software, analytics and more over the Internet ("the cloud"). It enables companies to scale up as needed and pay only for resources used. Key aspects include virtualization, utility computing, and service-oriented architecture. Details are abstracted from consumers, who no longer need expertise in or control over the underlying technology infrastructure. Cloud computing provides dynamically scalable and often virtualized resources delivered over the Internet.