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
| Provider | Founded | Market Share |
|---|---|---|
| AWS (Amazon) | 2006 | ~32% (market leader) |
| Azure (Microsoft) | 2010 | ~23% (enterprise favorite) |
| GCP (Google) | 2012 | ~11% (data/ML focus) |
| Others | Various | Alibaba, 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 identityInstall 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/installConfigure 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: jsonCreate 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-userKey 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.