Personal Notes — my first deep dive into how cloud works, why it matters, and how to pick the right service for your project.
Cloud computing means renting computing power, storage, and networking over the Internet instead of buying and maintaining physical machines yourself. You spin up resources when you need them, pay only for what you use, and let providers handle the heavy lifting.
- 1960s–1980s: Time‑sharing systems showed us the dream of shared computing resources.
- 1990s: Virtual machines made it possible to run multiple OSes on one box.
- Early 2000s: Salesforce proved you could deliver full apps over the web.
- 2006: AWS launched EC2—true “cloud” was born with on‑demand VMs and usage‑based billing.
- No Upfront Hardware Costs: Start servers in minutes without capital expenditure.
- Automatic Scaling: Handle traffic spikes or drops naturally.
- High Availability: Data centers around the world reduce downtime risk.
- Pay‑Per‑Use: Only billed for what you actually run.
- Faster Time‑to‑Market: Prototype and deploy without waiting for hardware.
Model | Who Hosts It | Who Uses It | Why You’d Choose It |
---|---|---|---|
Private | Your team/data center | Your organization | Strict compliance/security |
Public | AWS, Azure, GCP | Anyone | Low cost, massive scale |
Hybrid | Mix of both | You & your teams | Flexibility & data control |
- You Manage:
- Operating system updates & patches
- Virtual machine configs
- Networking rules (VPC, firewalls)
- Your apps & data
- Provider Manages:
- Physical servers & storage
- Virtualization layer (hypervisor)
- Basic networking hardware
Use when you need full control over OS and middleware, or for lift‑and‑shift migrations.
- You Manage:
- Your application code
- Application configuration & environment variables
- Data (databases, buckets)
- Provider Manages:
- Underlying OS and runtime (Java, .NET, Node.js)
- Middleware (application servers, web servers)
- Automatic scaling and load balancing
- Patching and security updates
Pick this to focus on writing code, not maintaining servers. Great for web apps and APIs.
- You Manage:
- User settings & preferences
- Data you upload or generate
- Provider Manages:
- Everything else ie servers, networks, OS, middleware, runtime, and the application itself
Ideal for off‑the‑shelf tools like email, CRM, or collaboration platforms.
Layer | IaaS | PaaS | SaaS |
---|---|---|---|
Physical Hardware | ✔️Provider | ✔️Provider | ✔️Provider |
Virtualization | ✔️Provider | ✔️Provider | ✔️Provider |
Operating System | ✔️You | ✔️Provider | ✔️Provider |
Runtime & Middleware | ✔️You | ✔️Provider | ✔️Provider |
Application Code | ✔️You | ✔️You | ❌N/A |
Data & Config | ✔️You | ✔️You | ✔️You |
- IaaS = maximum flexibility, maximum responsibility.
- PaaS = code focus, less ops overhead.
- SaaS = zero infra worries, just use the app.
You’ve just unlocked the big picture of cloud computing—how it lets you offload the heavy lifting of servers, networking, and storage so you can focus on building great stuff.
- IaaS puts the infrastructure toolbox in your hands perfect when you need full control.
- PaaS hands you a turnkey workshop, ideal for spinning up apps without worrying about the OS or runtime.
- SaaS is like renting a fully furnished apartment, you simply move in and start using the service.
Choosing the right model is all about balancing control, cost, and convenience.