Provisioned means you (or your platform) allocate capacity ahead of time: EC2 instances, EMR clusters, Redshift nodes, always-on VMs. You pay while that capacity exists, busy or idle.
Serverless means the cloud runs your code or query when work arrives and scales to (near) zero when idle: Lambda, Glue jobs, BigQuery on-demand, Cloud Functions, many FaaS/query services.
Provisioned: [==== cluster always on ====] $$$ even at night Serverless: ..idle.. [burst] ..idle.. [burst] pay for bursts
Trade-offs
| | Provisioned | Serverless | |---|---|---| | Ops | More capacity planning | Less server babysitting | | Cost | Good for steady high utilization | Good for spiky / idle-heavy | | Cold start | Warm capacity | Possible startup latency | | Control | Fine-grained | Fewer knobs |
DE examples
- Provisioned: long-running Spark cluster for interactive notebooks
- Serverless: nightly Glue job, BigQuery ad-hoc SQL, Lambda on S3 events
Interview tip: Tie the choice to *utilization shape*. Steady 24/7 heavy load often favors provisioned; bursty ETL favors serverless.