PaaS

On this page 7

PaaS, short for Platform as a Service, is a cloud service model in which the provider operates the servers, operating system, runtime and middleware, and the customer deploys and manages only application code, configuration and data. Among cloud fundamentals, it sits between IaaS, which hands over virtual machines, and SaaS, which hands over finished software.

A PaaS typically accepts source code or a container image, builds and runs it automatically, provides routing, TLS certificates, scaling and logs, and offers managed add-on services such as databases, caches and queues. The core promise is that development teams spend their time on the application instead of on patching and operating infrastructure.

How a PaaS runs an application

Most PaaS offerings follow the same workflow. The developer pushes code or an image, the platform builds a runnable artifact with a buildpack or a Dockerfile, and then schedules instances on its own fleet, usually as containers behind a managed load balancer.

Configuration is supplied through environment variables rather than files on a server, and instances are treated as disposable: their local disk is ephemeral, so persistent data must live in a managed database or object storage. This design follows the principles widely known as the twelve-factor app.

The table shows what the platform takes over at each stage.

StageWhat the platform doesWhat the customer provides
BuildDetects the language, installs dependencies, creates an imageSource code and dependency files
DeployStarts new instances and shifts trafficRelease command or a Git push
RunRestarts failed instances, patches the OS and runtimeProcess definitions and settings
ScaleAdds or removes instances, manually or automaticallyLimits and scaling rules
ObserveCollects logs and basic metricsApplication-level instrumentation
Tasks handled by a typical PaaS

The shared responsibility split across IaaS, PaaS and SaaS

The difference between cloud service models is where the responsibility line falls. PaaS moves the line upward compared with IaaS, so the customer gives up control of lower layers in exchange for less operational work.

LayerIaaSPaaSSaaS
Physical hardware and networkProviderProviderProvider
VirtualizationProviderProviderProvider
Operating system and patchesCustomerProviderProvider
Runtime and middlewareCustomerProviderProvider
Application codeCustomerCustomerProvider
Data and access controlCustomerCustomerCustomer
Who manages each layer in the three service models

The last row is constant: data protection and user access always remain the customer’s duty, even on a fully managed platform. A PaaS can be delivered from a public cloud or run internally as a private cloud platform, for example on Kubernetes or Cloud Foundry.

Variants of platform services

The term PaaS covers a spectrum of managed platforms, from general application hosting to narrowly focused services.

VariantWhat is managedTypical workload
Application platformBuild, runtime, routing and scalingWeb apps and APIs
Container platformContainer scheduling without cluster administrationServices packaged as images
Database as a serviceDatabase engine, backups, replicationRelational and NoSQL data
Function as a serviceExecution per event with scale to zeroEvent handlers, light APIs
Integration platformConnectors, queues, workflow enginesSystem-to-system integration
Common forms of PaaS

When PaaS is the right choice

PaaS fits best when speed of delivery matters more than control of the environment and when the application follows standard patterns.

SituationRecommended modelReason
Small team, standard web stackPaaSNo infrastructure staff needed
Custom kernel, drivers or OS tuningIaaSPaaS does not expose these layers
Strict data residency or legacy softwareIaaS or private cloudMore control over placement and versions
Commodity need such as email or CRMSaaSNo reason to build and run software
Large, steady workload at scaleIaaS or managed KubernetesPaaS premiums grow with usage
Deciding between PaaS and alternatives

Many organizations combine models rather than choosing one. A common pattern runs customer-facing web applications on PaaS, keeps a legacy system on IaaS and buys email and collaboration as SaaS. Before committing, teams should check the platform’s regional availability, compliance certifications, scaling limits and data export options, because these determine whether a later move to another provider or model remains practical. Keeping the application portable as a container image is the most effective insurance against unwanted lock-in.

Limitations and risks of PaaS

  • Vendor lock-in: proprietary configuration, add-ons and deployment tooling make migration costly; containers and open standards reduce it.
  • Cost at scale: per-instance prices include management, so a large steady workload can cost noticeably more than equivalent virtual machines.
  • Platform constraints: limits on request duration, memory per instance, writable disk and supported runtimes restrict some designs.
  • Shared failure domain: an outage of the provider control plane affects every application on it, which redundancy across regions or providers addresses.
  • Reduced visibility: the customer cannot inspect the host, so diagnosis relies on the platform’s logs and metrics.

Understanding it simply

Running software on your own server is like cooking at home: you buy the stove, fix it when it breaks and wash the dishes. PaaS is like renting a fully equipped professional kitchen where staff maintain the equipment, restock basics and clean up. You bring the recipe and the ingredients and focus on the cooking.

You cannot rebuild the kitchen to your taste, and long-term rent can exceed the cost of owning one. For most teams that want to ship an application quickly, that trade is worth it.

Applied in practice

A three-person startup builds a booking API in Python. Instead of renting virtual machines, configuring Linux, a web server and certificates, the team deploys to a PaaS with a single Git push. The platform builds the application, runs two instances behind a managed load balancer, issues a TLS certificate automatically and attaches a managed PostgreSQL database with daily backups.

When a marketing campaign triples traffic, the team raises the instance count from two to six in a dashboard, and lowers it again a week later. Nobody on the team patches an operating system during the first year. As the product grows, the team reviews the monthly bill and keeps the PaaS, judging that the premium is lower than the cost of a dedicated operations engineer.