Re: back on topic - small virtual linux servers...
I can think of a couple uses (most of which I've seen out in the wild):
* DDoS prevention (the tiny machines cushion the brunt of the attack while still passing through legitimate traffic)
* Extra security layer to analyze/sanitize user-input to prevent injection / overflow attacks
* CDN-like systems to handle requests for a large number of tiny objects (Prevent TCP port exhaustion on a busy site)
* run legacy apps that don't play well with others (Such as needing a specific version of the Java Runtime, or specific versions of some libraries)
* Hosting sub-domains that are rarely used but are required to be on a separate machine for one reason or another
* reverse proxies to load balance for the bigger machines
* pre-prod platform testing