Is there any advantage to setting up a personal cloud instead of running a personal server without virtualization?

I currently have my old PC sitting in my closet being a headless server (running Ubuntu Server). I use it as a file server, web server, and backup server. (The hostname is mneme, the Greek muse of memory.) Are there any major reasons for me to consider replacing this non-virtualized setup with a personal cloud running on the same or similar hardware?

The major reason I can think of would be separation of services. For example, my backup system and my apache web server have nothing to do with each other directly, so they could run in separate instances. If I want to experiment with some new service (e.g. set up a personal mail server), I could do it in a brand new instance and then later, after the inevitable miserable failure, I can just blow the whole mess away without affecting my other services. Is this something that I could do with one or two computers running a personal cloud? Are there other advantages to setting up a personal cloud?


Firstly: "cloud" is marketing jargon for virtualisation but it tends to mean flexible virtualisation, where there's some elasticity and you can move things around. That the case, you'd require more than one host machine to do it and by the sounds of it, you don't want or need that.

Your real comparison is between virtualisation and no virtualisation.

Why would somebody actually want to virtualise a machine?

  • If they needed to run different versions or configurations of a platform
  • If the software needed the whole server to roam over and could damage other apps
  • If the virtual servers were being provisioned to separate users
  • They need to test various setups before deploying
  • Consolidation of multiple hardware servers into one beast.

I don't see anything there that applies to you.

You talk about separating services but I don't see any benefit to you of doing that. You can take a normal machine and play around with it, install a mail server and if you don't like it you can just uninstall. There's no reason why this would effect another running service.

The only time it might is if you want to test a new configuration of an existing system without any downtime. In this case, you could provision a new VM, install and test, but you could easily do the same with a desktop and virtualbox. Vbox actually makes things a lot simpler.

There are benefits to virtualising but they only usually hit home when you're trying to turn a room full of slow, hot servers into a much leaner, efficient setup or if you have a lot of users who all need their own install space. For a single user with a single machine, you'll see more negatives than positives.


I think you're not asking the right question...

What we call "the cloud" is not "vitualized environments" but "services that are hosted on the network". Cloud services can be hosted on real hardware or virtual lmachines, it doesn't make difference. The reason why people tend to thing "cloud" means "virtualized" is because setting up cloud services is usually simplified by virtualization environments, and companies have pushed it through dedicated solutions (like Azure, EC2 and the like).

Anyway, with this definition, you're somehow already having a cloud-like installation, with your file, web and backup services being accessible on the network (even if it's hosted on a "real" hardware).

Now talking about virtualization: you are making a good summary of the advantages you could gain with it. The question is just: do you want to go through the hassle of reinstalling / reconfiguring everything in virtual machines, with the possible problems it may bring, or do you want to keep what you have and is working today ?

I can't answer for you. My personal feeling on this kind of thing is usually "if it ain't broken, don't fix it", but then it is your choice. It may be a good learning opportunity :-)