G
GuideDevOps
Lesson 1 of 12

Introduction to Cloud Computing

Part of the Cloud Computing tutorial series.

What is Cloud Computing?

Cloud Computing is the delivery of computing services (compute, storage, networking, databases, software) over the internet instead of owning and operating your own physical hardware.

The Shift from On-Premise to Cloud

Before Cloud (2000s - Early 2010s):

  • Companies owned their own data centers
  • High capital expenditure (CapEx) for servers, cooling, power
  • IT teams managed everything: patching, scaling, backups, disaster recovery
  • Slow to provision new resources (weeks or months)
  • Underutilized infrastructure (you buy for peak, but sit idle most of the time)

With Cloud (2010s - Present):

  • Rent compute power by the hour or second (OpEx model)
  • No hardware management burden
  • Instant provisioning (seconds to minutes)
  • Pay only for what you use (no overprovisioning)
  • Auto-scaling to handle traffic spikes
  • Global reach with data centers worldwide

Why Cloud?

šŸš€ Speed: Launch infrastructure in minutes, not months šŸ’° Cost: Convert CapEx to OpEx, pay-as-you-go šŸ’Ŗ Scale: Handle millions of concurrent users automatically šŸ” Security: Leverage CSP security expertise and compliance certifications šŸ”„ Reliability: Built-in redundancy, auto-recovery, 99.99% uptime SLAs šŸ—ļø Focus: Stop managing infrastructure, focus on your application


Major Cloud Providers

ProviderFoundedMarket Share
AWS (Amazon)2006~32% (market leader)
Azure (Microsoft)2010~23% (enterprise favorite)
GCP (Google)2012~11% (data/ML focus)
OthersVariousAlibaba, Oracle, IBM, Linode

Cloud Service Models

Infrastructure as a Service (IaaS)

You manage: Application, Data, Runtime, Middleware, OS Provider manages: Virtualization, Servers, Storage, Networking

Examples: AWS EC2, Azure VMs, Google Compute Engine

User Application Layer
   ↓
[User Responsibility]
   ↓
[Provider: Virtualization]
   ↓
Physical Hardware

Platform as a Service (PaaS)

You manage: Application, Data Provider manages: Everything else (Runtime, Middleware, OS, Virtualization, Servers, Storage, Networking)

Examples: Heroku, AWS Elastic Beanstalk, Google App Engine

Software as a Service (SaaS)

Provider manages: Everything You: Just use the application

Examples: Salesforce, Microsoft 365, Google Workspace, Slack, Jira


Cloud Deployment Models

Public Cloud

  • Open to everyone on the internet
  • Resources shared with other organizations
  • Most affordable
  • Examples: AWS, Azure, GCP

Private Cloud

  • Dedicated to a single organization
  • Can be on-premise or hosted by a provider
  • Higher cost, more control
  • Examples: OpenStack, VMware vCloud

Hybrid Cloud

  • Mix of public + private cloud
  • Some workloads on-premise, others in cloud
  • Common for regulated industries (which can't fully move to public cloud)

Multi-Cloud

  • Using multiple cloud providers simultaneously
  • Avoids vendor lock-in
  • Increased complexity

AWS Global Infrastructure

Regions

Geographic locations worldwide (e.g., us-east-1, eu-west-1, ap-northeast-1)

Global Infrastructure
ā”œā”€ā”€ us-east-1 (N. Virginia)
│   ā”œā”€ā”€ Availability Zone 1a
│   ā”œā”€ā”€ Availability Zone 1b
│   └── Availability Zone 1c
ā”œā”€ā”€ eu-west-1 (Ireland)
│   ā”œā”€ā”€ Availability Zone 1a
│   ā”œā”€ā”€ Availability Zone 1b
│   └── Availability Zone 1c
└── ap-northeast-1 (Tokyo)
    ā”œā”€ā”€ Availability Zone 1a
    ā”œā”€ā”€ Availability Zone 1b
    └── Availability Zone 1c

Availability Zones

Isolated data centers within a region (physically separated, connected by low-latency networking)

Edge Locations

CDN endpoints for CloudFront (content delivery)


Getting Started with AWS

Create an AWS Account

# Visit https://aws.amazon.com
# Click "Create an AWS Account"
# Provide email, password, and payment method
# Verify your identity

Install AWS CLI

# macOS
brew install awscli
 
# Windows
msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi
 
# Linux
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

Configure AWS CLI

aws configure
# AWS Access Key ID: YOUR_KEY
# AWS Secret Access Key: YOUR_SECRET
# Default region name: us-east-1
# Default output format: json

Create an IAM User

Never use the root account for daily work!

aws iam create-user --user-name devops-user
aws iam attach-user-policy --user-name devops-user --policy-arn arn:aws:iam::aws:policy/AdministratorAccess
aws iam create-access-key --user-name devops-user

Key Concepts

Availability and Durability

  • High Availability (HA): System stays up 99.99% of the time
  • Disaster Recovery (DR): Can recover from catastrophic failure
  • Multi-AZ Deployment: Run across multiple availability zones for resilience

Scalability

  • Vertical Scaling: Bigger servers (t2.micro → t2.large)
  • Horizontal Scaling: More servers (add more EC2 instances)

Elasticity

Automatically add/remove resources based on demand (Auto Scaling Groups)

Pay-as-you-go

  • Compute by the second
  • Storage by the GB
  • Data transfer by the GB
  • No commitments (pay on-demand), or commit for discounts (1-year/3-year reserved instances)

AWS Free Tier

AWS offers generous free tier for new accounts:

āœ… EC2: 750 hours/month of t2.micro
āœ… S3: 5 GB storage/month
āœ… RDS: 750 hours/month of t2.micro
āœ… Lambda: 1 million requests/month
āœ… DynamoDB: 25 GB storage/month
āœ… CloudFront: 1 TB data transfer/month
āœ… More: SQS, SNS, SES, etc.

Free tier lasts for 12 months after account creation.