The interesting thing about all these services is that they're trying to abstract away the same types of problems that all developers come across: Identity, connectivity, sync/backup (and to some extent, deployment). A different (and more disruptive?) approach to this would be to put more control of these things into the hands of end-users such that they provide the 'backend' into which you (the developer) load your…
I'm really intrigued by this model of internet infrastructure. Would you mind helping me understand the relevant difference between what you, Sandstorm[1], and OpenPDS[2] are doing? [1] https://sandstorm.io/ [2] http://openpds.media.mit.edu/
Based on a brief skim of the Mirage docs, it looks like a really big difference between Mirage and Sandstorm is that Mirage wants apps to be written in OCaml based on a custom API whereas Sandstorm builds of Linux. Any server app that runs on Linux should be easy to port into Sandstorm, but it seems like a lot of things will need to be written from scratch on Mirage.
In fact it appears Mirage intends to replace the kernel entirely. I can certainly see the appeal of dumping legacy baggage, but it's going to take quite a bit of work to reach the point of practicality.