Cloud computing is a style of computing in which scalable and elastic IT capabilities are delivered as a service using internet technologies. Key aspects include resources that are scalable and metered by use, and may be single-tenant or multi-tenant and hosted remotely or on-premises. Self-service interfaces like web UIs and APIs are exposed directly to customers. Cloud services can provide software, platforms, infrastructure, integration capabilities, and everything as a service (XaaS). The major cloud providers offer various capabilities and are competing on features, price, and services beyond basic compute and storage.