PaaS, short for platform as a service, is cloud hosting where you supply the code and the provider supplies everything beneath it: hardware, operating system, language runtime, build pipeline, routing, TLS termination and the process supervisor that restarts your app when it dies. Heroku made the shape famous with a single command, git push heroku main, and Vercel, Netlify, Render, Fly.io and Google App Engine now sell variations on that same bargain. The contrast with IaaS is the useful one: there you are handed an empty virtual machine and the assembly is yours, here the assembly already happened and the platform has opinions about how your application should be built. The pitch survives because it is largely true: for a small team, the distance between an idea and a public URL collapses from weeks into an afternoon.
What you stop doing, and what it costs
The honest way to value a platform is to list the work it deletes. Provisioning a host, installing a runtime, wiring a proxy, renewing certificates, keeping staging in step with production, building a rollback that works under pressure: on PaaS these arrive as defaults or as a toggle in a dashboard. Two things are bought back from you in exchange. The first is unit price, since every abstraction is billed above the infrastructure it hides, and a workload that runs hot around the clock pays that mark-up while you sleep. The second is fit, because your code slowly grows around the platform's conventions, its add-on marketplace and its build system until leaving means rebuilding that scaffolding somewhere else. Neither cost bites in week one, which is precisely why platform regret is a year-two conversation. The stateful pieces follow the same curve, since most platforms will happily rent you a managed database, a cache and a queue at prices that look sensible for a side project and provoke a spreadsheet at scale.
- Reach for it when the application has an ordinary shape, meaning a web process, a database and perhaps a worker, and your scarcest resource is engineering attention rather than money.
- Think twice when traffic is steady and heavy, because that is the profile where paying a premium per compute hour stops being a rounding error and starts being a hire.
- Walk away when you need kernel-level access, an unusual runtime, GPU hardware, or a compliance posture the platform has no way to express.
- Whatever you choose, keep the exit usable: a working Dockerfile, a documented build, and no business logic hiding inside vendor-specific deploy glue.
