IaaS / PaaS / SaaS
also: cloud service models
The cloud service spectrum: rent raw machines (IaaS), a managed platform (PaaS), or finished software (SaaS) — each hands more to the provider.
IaaS, PaaS, and SaaS are the three classic cloud service models, each ceding more to the provider. IaaS (Infrastructure) rents raw compute, storage, and networking (EC2) — you manage the OS up. PaaS (Platform) gives a managed runtime to deploy code onto (Heroku, App Engine) — you manage just the app. SaaS (Software) is finished software you just use (Gmail, Salesforce).
Worked example: to run a web app — IaaS means you provision VMs and install everything; PaaS means you git-push code and the platform runs it; SaaS means you skip building it and subscribe to an existing product. FaaS/serverless sits between PaaS and SaaS. Gotcha: moving up the stack trades control for convenience and can trade cost and lock-in — PaaS and SaaS speed you up but constrain customization and can be pricier or stickier at scale — so the right layer depends on how much of the stack is your actual differentiator versus undifferentiated heavy lifting.