Computer ScienceNetworking & SystemsMedium

Cloud Computing

Also known as:Cloud ServicesCloud InfrastructureOn-Demand Computing

Cloud computing is the on-demand delivery of computing resources — including servers, storage, databases, networking, software, and analytics — over the internet with pay-as-you-go pricing, eliminating the need for organisations to own and maintain physical data centres. NIST defines cloud computing through five essential characteristics: on-demand self-service, broad network access, resource pooling, rapid elasticity, and measured service. The three primary service models — IaaS (Infrastructure as a Service), PaaS (Platform as a Service), and SaaS (Software as a Service) — and three deployment models (public, private, hybrid) give organisations flexibility to match cloud resources to their security, compliance, and cost requirements.

Cloud Service Models Comparison

ModelFull NameYou ManageProvider ManagesExample Services
IaaSInfrastructure as a ServiceOS, runtime, apps, dataVirtualisation, servers, storage, networkingAWS EC2, Azure VMs, Google Compute Engine
PaaSPlatform as a ServiceApplications and data onlyOS, runtime, middleware, infrastructureHeroku, Google App Engine, AWS Elastic Beanstalk
SaaSSoftware as a ServiceNothing (just use it)EverythingGmail, Salesforce, Microsoft 365, Zoom
FaaSFunction as a ServiceCode logic onlyExecution environment, scalingAWS Lambda, Google Cloud Functions, Azure Functions

Interactive Tools

AWS Free Tier

Open Tool

Google Cloud Skills Boost

Open Tool

Microsoft Learn Azure Fundamentals

Open Tool
Cloud computing diagram showing users connecting to remote servers and services via the internet

Wikimedia Commons, CC BY-SA

Related Terms

Computer Science

Docker

Docker is an open-source platform that uses OS-level virtualization to package applications and their dependencies into lightweight, portable units called containers, ensuring consistent execution across any computing environment. Unlike virtual machines that emulate entire hardware stacks, Docker containers share the host OS kernel and isolate the application's filesystem, processes, and network using Linux namespaces and cgroups. Docker has revolutionized software delivery by enabling the "build once, run anywhere" paradigm, drastically reducing environment-related deployment failures.

Computer Science

Kubernetes

Kubernetes (K8s) is an open-source container orchestration system originally developed by Google that automates the deployment, scaling, load balancing, and self-healing of containerized applications across clusters of machines. It abstracts the underlying infrastructure, allowing developers to declare desired application state (via YAML manifests) while Kubernetes continuously reconciles the actual state to match. Kubernetes has become the de facto standard for running production-grade microservices workloads, supported by all major cloud providers (AWS EKS, Google GKE, Azure AKS).

Computer Science

Distributed Systems

A distributed system is a collection of independent computers that appear to users as a single coherent system, coordinating their actions by passing messages over a network to achieve a common computational goal. Key challenges in distributed systems include handling partial failures (where some nodes crash but others continue), achieving consensus on shared state, ensuring data consistency across replicas, and tolerating network partitions. Modern distributed systems underpin the internet's most critical infrastructure — from Google's search index and Amazon's shopping cart to financial clearing systems and distributed databases.

The metaphor of a "cloud" for the internet dates to telecommunications network diagrams of the 1970s–80s, where a cloud symbol represented the public telephone network. The modern term "cloud computing" was popularised by Google CEO Eric Schmidt at an industry conference in 2006, coinciding with Amazon Web Services' launch of EC2.

cloud-computingawsinfrastructurescalabilitydevopssaas