Cloud Computing as defined by NIST 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. This cloud model is composed of five essential characteristics, three service models, and four deployment models.
Originally the cloud was thought of as a bunch of combined services, technologies, and activities. This the basis for how it got its name. It's true that there is a set of common technologies, however these are not the essence of the cloud. The cloud is actually a service or group of services. This is why it is so hard to define exactly what the cloud is. The cloud has evolved from being a mysterious magical black box where users were limited to what was being offered to being a proactive offering which allows users to configure their own applications within the cloud.
The way the cloud is used varies from organization to organization. Every organization has its own requirement as to what services it wants to access from a cloud and how much control it wants to have over the environment. To accommodate these varying requirements, a cloud environment can be implemented using different service models. For the full definition of cloud computing please see https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf
The three basic service models of cloud computing are:
• Infrastructure as a Service (IaaS), where the hardware is provided by an external provider and managed for you.
• Platform as a Service (PaaS), where, in addition to the hardware, the operating system layer is also managed for you.
• Software as a Service (SaaS) is when an application layer is provided and managed for you. This model includes the first two service models.