One spectrum, not four products
The compute options look like a menu of alternatives. They are better understood as one axis, ordered by how much of the machine you still think about.
At one end you rent a virtual machine and it is yours: you choose the operating system, install what you like, patch it, and it runs until you stop it. At the other end you upload a function and the platform decides when to run it, how many copies exist, and on what.
Every step along that axis makes the same trade in the same direction:
| Step | You stop managing | You give up |
|---|---|---|
| Virtual machines | Physical hardware | Nothing yet |
| Managed containers | The host OS and patching | Direct machine access |
| Fully managed containers | The cluster's servers | Control over placement and node tuning |
| Serverless functions | Servers as a concept | Long-running processes, in-memory state, some runtime control |
Key idea: there is no "best" point on this spectrum, and moving right is not progress. Each step buys operational relief and costs flexibility, so the right position is the furthest right you can go without losing something the workload genuinely needs.

