What is Cloud Computing?
Cloud computing is the on-demand delivery of computing resources — servers, storage, databases, networking, software, analytics, and intelligence — over the internet ("the cloud"). Instead of owning and maintaining physical data centers and servers, you rent access to anything from applications to storage from a cloud service provider like AWS, Google Cloud, or Microsoft Azure.
Five Essential Characteristics of Cloud Computing (NIST)
- On-demand self-service: Provision resources automatically without human interaction with the provider
- Broad network access: Resources available over the network via standard mechanisms (HTTP APIs, SDKs)
- Resource pooling: Provider resources are pooled to serve multiple consumers using a multi-tenant model
- Rapid elasticity: Capabilities scale up or down automatically to match demand
- Measured service: Resource usage is monitored, controlled, and reported — you pay for what you use
Cloud Service Models
Cloud services are broadly categorized into three models based on the level of abstraction they provide. Understanding these models is critical for choosing the right approach for your application.
Service Model Comparison
| Model | You Manage | Provider Manages | Examples |
|---|---|---|---|
| IaaS | OS, Runtime, Apps, Data | Hardware, Networking, Virtualization | EC2, GCE, Azure VMs |
| PaaS | Apps, Data | OS, Runtime, Middleware, Hardware | Heroku, App Engine, Elastic Beanstalk |
| SaaS | Nothing (just use it) | Everything | Gmail, Slack, Salesforce |
Infrastructure as a Service (IaaS)
IaaS provides virtualized computing resources over the internet. You get raw compute, storage, and networking, and you are responsible for managing the operating system, middleware, and applications. This gives maximum flexibility but requires the most operational effort.
Platform as a Service (PaaS)
PaaS abstracts away the underlying infrastructure and provides a platform where developers can build, deploy, and manage applications without worrying about server management. You focus on code; the platform handles scaling, patching, and infrastructure.
Software as a Service (SaaS)
SaaS delivers fully managed applications over the internet. Users access them through a web browser or API without worrying about installation, maintenance, or infrastructure.
Additional Modern Service Models
Beyond the three classic models, the cloud ecosystem has evolved to include more specialized offerings:
- FaaS (Function as a Service): Run individual functions in response to events without managing servers — AWS Lambda, Google Cloud Functions, Azure Functions
- CaaS (Container as a Service): Run and manage containers without managing the underlying infrastructure — ECS, GKE, AKS
- DBaaS (Database as a Service): Managed databases — RDS, Cloud SQL, Cosmos DB
- BaaS (Backend as a Service): Pre-built backend services — Firebase, Supabase, AWS Amplify
Cloud Deployment Models
Deployment Models
- Public Cloud: Resources owned and operated by a third-party provider, shared across multiple tenants. Cost-effective and infinitely scalable. Examples: AWS, GCP, Azure.
- Private Cloud: Cloud infrastructure dedicated exclusively to a single organization, either on-premises or hosted by a third party. Offers maximum control and security.
- Hybrid Cloud: Combines public and private clouds, allowing data and applications to move between them. Common for organizations transitioning from on-premises to cloud.
- Multi-Cloud: Using services from multiple cloud providers to avoid vendor lock-in, optimize costs, and leverage best-of-breed services from each provider.
Regions and Availability Zones
Cloud providers organize their infrastructure into regions (geographic areas) and availability zones (isolated data centers within a region). This architecture enables high availability, fault tolerance, and low-latency access for users worldwide.
# AWS: List available regions
aws ec2 describe-regions --output table
# GCP: List available regions
gcloud compute regions list
# Azure: List available locations
az account list-locations --output table
Cloud Economics: CapEx vs OpEx
One of the biggest shifts in cloud computing is moving from Capital Expenditure (CapEx) — buying and maintaining physical hardware — to Operational Expenditure (OpEx) — paying for resources as you use them. This shift provides several advantages:
- No upfront investment: Start building without buying servers
- Pay-as-you-go: Only pay for resources you actually consume
- Elasticity: Scale up during peak traffic, scale down during quiet periods
- Reduced risk: Experiment with new architectures without large capital commitments
- Global reach: Deploy in any region within minutes, not months
The Shared Responsibility Model
Security in the cloud follows a shared responsibility model. The cloud provider is responsible for security of the cloud (physical infrastructure, hypervisor, network), while the customer is responsible for security in the cloud (data, access management, application security, encryption).
The exact boundary shifts depending on the service model. With IaaS, the customer manages more (OS patches, firewalls). With SaaS, the provider manages almost everything except user access and data classification.
Getting Started with Cloud Providers
# Install AWS CLI
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
# Configure AWS CLI with your credentials
aws configure
# Enter: AWS Access Key ID, Secret Access Key, Default region, Output format
# Install Google Cloud SDK
curl https://sdk.cloud.google.com | bash
gcloud init
# Install Azure CLI
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
az login
Key Takeaways
- Cloud computing provides on-demand, pay-as-you-go access to computing resources
- The three primary service models — IaaS, PaaS, and SaaS — offer different levels of abstraction
- Deployment models range from public to private, hybrid, and multi-cloud
- Regions and availability zones provide the foundation for high availability
- The shared responsibility model defines security boundaries between provider and customer