Start with a virtual machine
A virtual machine (VM) behaves like a separate computer. It has an operating system, virtual CPUs, memory and storage. Several VMs can share one physical server, with a hypervisor managing access to its hardware.
You launch an Ubuntu VM, install a web server and upload your website files. Visitors send requests to it, and the web server returns your pages.
Who manages what?
| Model | What you manage | Simple example |
|---|---|---|
| IaaS | Operating system, applications and data | A VM running your web server |
| PaaS | Your application code, configuration and data | A managed application hosting platform |
| SaaS | Your content, settings and use of the software | A web-based email application |
Scale as demand changes
Vertical scaling gives a machine more resources, such as CPU or memory. Horizontal scaling adds more machines. A load balancer can distribute requests across those machines.
Elasticity adjusts resources as demand rises and falls, often automatically using configured rules.
Check your understanding: must every website use a VM?
No. A static website can be served directly from object storage or a static hosting platform. It does not need your own running virtual machine.