Q&A
What is Cloud Computing?
Overview
Traditionally, running software meant buying servers, hosting them, and maintaining them - expensive, slow to scale, and over- or under-provisioned. Cloud computing replaces that with rented, internet-accessible resources you provision in minutes and pay for by usage. The core promise: turn large up-front capital expense (buying hardware) into flexible operating expense (renting capacity).
graph TD
A[Cloud Computing] --> B[Service Models]
A --> C[Deployment Models]
A --> D[Key Characteristics]
B --> B1[IaaS: infrastructure]
B --> B2[PaaS: platform]
B --> B3[SaaS: software]
C --> C1[Public]
C --> C2[Private]
C --> C3[Hybrid]
D --> D1[On-demand & elastic]
D --> D2[Pay-as-you-go]
D --> D3[Managed by provider]
style A fill:#1e1b4b,color:#fff
Service Models (IaaS, PaaS, SaaS)
The classic way to categorize cloud offerings is by how much the provider manages:
| Model | You manage | Provider manages | Example |
|---|---|---|---|
| IaaS (Infrastructure) | OS, runtime, apps, data | Virtual machines, storage, network | AWS EC2, Azure VMs |
| PaaS (Platform) | Apps, data | OS, runtime, scaling | Heroku, App Engine, AWS Elastic Beanstalk |
| SaaS (Software) | Just use it | Everything | Gmail, Salesforce, Dropbox |
The progression IaaS → PaaS → SaaS trades control for convenience: IaaS gives you raw building blocks; SaaS gives you a finished application.
Deployment Models
- Public cloud - shared infrastructure owned by a provider (AWS, Azure, GCP); most cost-effective and scalable.
- Private cloud - dedicated infrastructure for one organization; more control and compliance, higher cost.
- Hybrid cloud - combines public and private, moving workloads between them (e.g. sensitive data on-prem, bursty compute in public cloud).
- Multi-cloud - using multiple providers to avoid lock-in or use each's strengths.
Key Characteristics (NIST definition)
- On-demand self-service - provision resources without human interaction.
- Broad network access - available over the internet from anywhere.
- Resource pooling - providers serve many tenants from shared pools (multi-tenancy).
- Rapid elasticity - scale out/in quickly to match demand.
- Measured service - usage is metered; you pay for what you consume.
Benefits
- Cost - no large up-front hardware spend; pay-as-you-go.
- Scalability/elasticity - handle traffic spikes by adding capacity instantly, release it when done.
- Speed/agility - launch resources in minutes.
- Reliability - built-in redundancy, backups, multi-region failover.
- Global reach - deploy close to users worldwide.
- Managed services - offload databases, queues, ML, etc. to the provider.
Trade-offs / Challenges
- Vendor lock-in - heavy use of proprietary services makes switching hard.
- Cost surprises - pay-as-you-go can balloon without monitoring/budgets.
- Security & compliance - a shared responsibility model: the provider secures the cloud, you secure what you put in it.
- Latency / connectivity - dependent on the network; some workloads stay on-prem or at the edge.
Common Cloud Service Categories
Compute (VMs, containers, serverless/Functions), Storage (object, block, file), Databases (relational, NoSQL, managed), Networking (load balancers, CDNs, VPCs), plus AI/ML, analytics, and messaging services.
Why This Matters in Interviews
Cloud questions appear in nearly every modern engineering interview. Know the three service models and the control-vs-convenience trade-off, the deployment models, the NIST characteristics (especially elasticity and pay-as-you-go), and the shared-responsibility security model. Being able to place a concrete product (e.g. "Heroku is PaaS") in the model is a common ask - note this batch's "deploy React to Heroku" question is a PaaS example.
Common Pitfalls
- Confusing IaaS/PaaS/SaaS boundaries.
- Assuming the cloud provider secures your data and config (shared responsibility).
- Ignoring cost monitoring, leading to runaway bills.
- Treating "cloud" as synonymous with one provider rather than a model.
References
- NIST Definition of Cloud Computing (SP 800-145): https://csrc.nist.gov/publications/detail/sp/800-145/final
- AWS "What is Cloud Computing": https://aws.amazon.com/what-is-cloud-computing/