TechLead
Lesson 1 of 25
5 min read
Cloud & Kubernetes

Cloud Computing Fundamentals

Understand the core concepts of cloud computing, service models (IaaS, PaaS, SaaS), deployment models, and how the cloud transforms infrastructure management

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
IaaSOS, Runtime, Apps, DataHardware, Networking, VirtualizationEC2, GCE, Azure VMs
PaaSApps, DataOS, Runtime, Middleware, HardwareHeroku, App Engine, Elastic Beanstalk
SaaSNothing (just use it)EverythingGmail, 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

Continue Learning