Cloud computing

On this page 7

Cloud computing is the on-demand delivery of computing resources over a network, such as servers, storage, databases, networking and software, from a shared pool that a provider operates and the customer provisions by self-service and pays for according to use. Among cloud fundamentals, it is the umbrella concept: service models such as IaaS, PaaS and SaaS and deployment models such as public, private and hybrid cloud all describe particular forms of it.

The most widely used definition, published by the US National Institute of Standards and Technology in NIST SP 800-145, names five essential characteristics, three service models and four deployment models. What distinguishes cloud computing from traditional hosting is not where the servers stand, but how resources are obtained: through an API or console in minutes, without a purchase order or a technician installing hardware.

The essential characteristics of cloud computing

A service counts as cloud computing when it shows all five characteristics from the NIST definition. The table below lists them and what each means for a team that uses the cloud.

CharacteristicMeaningPractical consequence
On-demand self-serviceCustomers provision resources without human interaction at the providerA server is available in minutes through an API
Broad network accessResources are reachable over standard network protocolsManagement from any location and device
Resource poolingMany customers share physical infrastructure through multi-tenancyLower cost, but isolation matters
Rapid elasticityCapacity scales out and in quickly, often automaticallySystems follow demand instead of peak sizing
Measured serviceUsage is metered and billed by consumptionCost visibility per resource and team
The five essential characteristics

These characteristics explain why a rented physical server with a monthly contract is hosting, not cloud: it lacks self-service elasticity and metered billing. Conversely, a company can run a private cloud in its own data center if internal teams obtain resources by self-service from a pooled, metered platform.

Service models and the division of responsibility

Cloud services are grouped by how much of the stack the provider manages. The higher the model, the less the customer operates and the less it can customize. The comparison below shows the three classic service models.

ModelProvider managesCustomer managesTypical examples
IaaSHardware, virtualization, networkOperating system, runtime, application, dataVirtual machines, block storage, virtual networks
PaaSEverything up to the runtimeApplication code, data, configurationManaged databases, application platforms
SaaSThe complete applicationUsers, data and settingsEmail, office suites, CRM systems
Cloud service models

Between and beyond these models sit newer offerings such as containers as a service and serverless functions, where customers deploy code or container images and pay per request or per second of execution. Regardless of the model, the shared responsibility model applies: the provider secures the infrastructure, while the customer remains responsible for its data, identities and configuration.

Deployment models

The deployment model describes who uses the infrastructure and who owns it. Many organizations combine several models, which is why hybrid and multi-cloud designs are common.

ModelWho uses the infrastructureMain advantageMain drawback
Public cloudMany unrelated customersScale, breadth of services, no hardwareLess control, risk of cost overruns
Private cloudOne organizationControl, data residency, predictable costCapital investment and own operations team
Hybrid cloudOne organization across private and publicWorkloads placed where they fit bestIntegration and networking complexity
Community cloudA group with shared requirementsShared compliance effortRarely available, limited scale
Cloud deployment models

Major public providers, including Amazon Web Services, Microsoft Azure and Google Cloud, organize their infrastructure into regions and isolated availability zones within each region. Distributing a workload across zones protects it from the failure of a single data center, while choosing the region determines latency to users and the legal jurisdiction over the data.

Cloud computing compared with traditional infrastructure

The move from owned servers to cloud computing changes finance, operations and architecture at the same time. The table below summarizes the most important differences.

AspectTraditional on-premisesCloud computing
Cost modelCapital expense, depreciation over 3 to 5 yearsOperating expense, billed per second to month
Provisioning timeWeeks to months for hardwareSeconds to minutes through an API
Capacity planningSized for expected peakScaled to actual demand
OperationsHardware, facilities and software in-houseProvider operates the lower layers
Cost predictabilityHigh once purchasedVariable, requires active cost management
Traditional infrastructure and cloud computing

Cloud computing is not automatically cheaper. Steady, predictable workloads running around the clock can cost more in the cloud than on owned hardware, especially with large data egress charges. The economic advantage is strongest for variable or uncertain demand, fast experimentation and services that would be expensive to build in-house.

Limitations and common pitfalls

Cloud adoption brings new risks that organizations often underestimate during cloud migration. Experienced architects plan for the following issues from the start.

  • Misconfiguration is the leading security risk, for example storage buckets left publicly readable or overly broad access permissions.
  • Uncontrolled spending from idle resources, oversized instances and forgotten test environments; tagging and budgets are essential.
  • Vendor lock-in through proprietary managed services, which makes later moves between providers costly.
  • Lift-and-shift without redesign, which moves old inefficiencies into a more expensive environment and misses elasticity.
  • Data residency and compliance requirements that restrict which regions and services may be used.
  • Dependence on network connectivity, since every interaction with the platform travels over the network.

In plain words

Cloud computing means renting computing power instead of owning it. A company does not buy and install its own servers. It asks a provider for what it needs, gets it within minutes and pays only for what it uses.

It is similar to electricity from the grid. Few businesses run their own power plant. They plug in, use as much as they need and pay according to the meter. The provider takes care of the machines, the buildings and the spare capacity.

A real-world example

A ticket-selling company sees quiet traffic for most of the year, but when a major concert goes on sale, demand rises about fiftyfold within minutes. With its own servers, the company would have to buy hardware for that rare peak and leave most of it idle the rest of the year.

After moving to a public cloud, its web tier runs on virtual machines in three availability zones with automatic scaling. Before a large sale, capacity grows from 6 to about 300 instances, and it shrinks back within hours afterward. A managed database replaces the self-run cluster. Infrastructure costs now follow ticket sales, and the site stays online during peaks that once caused outages.