Isn't this just adding a ton of boilerplate code though?
It's in the cloud so you'll always need networking support, and that's going to be TCP/IP generally. You'll need to write files, so you also need a network file system or real file system driver of some sort, and a way to write to block device like objects.
Well, it's not so scary as it may look. Files are accessible through 9p protocol, both servers and clients of which could be implemented very easily. Again, in modern applications we often don't need access to a local file system at all, just to remote database. TCP/IP is implemented inside VM, it's not a problem, and if physical host has a TCP/IP offload card it can be imported from Dom0 through 9p with almost no cost at all. Recently we implemented concurrent block device driver and rudimentary filesystem over it to be able to run local databases, if required. I'm talking about much simpler implementation than you could meet in Linux or Windows, which are more than enough to provide some practical functionality. There is no need to put all complex things inside single VM, you can use remote services instead, and it's really useful now.
The flow chart is a most thoroughly oversold piece of program documentation. -- Frederick Brooks, "The Mythical Man Month"