December 28, 2007
I've been pondering colocation, but there are some up-front issues, like getting a machine, etc. In addition to the bandwidth costs, you pay for rack space, power, and cooling too, because a physical machine needs space, power, and cooling, and those are the limiting factors in data centers, far more than network
However, the truth is, there's nothing on this site, or many others, that requires a physical machine. It could be adequately supported by a virtual machine with ease. Right now, it's a home directory, sharing space on an Apache server and a MySQL database. Email is provided by a shared domain on another server. While intensive database usage can be an issue for VMs, because I use MovableType, the html is static. I only hit the database for comments and the like. So I don't see a problem there for a VM.
While the initial setup for an ESX system is not cheap, (VM servers are not small, nor inexpensive), the usage you get out of them has a solid ROI. Two to three solid servers would allow for a fair number of "colocated" VMs, and I know from personal experience that things like backing up VMs, and keeping them up and running is much less complicated than doing the same for a similar number of physical machines, and if you can get a reliable ratio of 10:1 virtual to physical machines, then I'll hazard that you start saving nicely on space, power, and cooling.
It would give you all the advantages of a physical colocation; full control, shell access, the ability to do what you wanted with your "server" and few of the disadvantages; no need to pay extra for rack space and power.
From the ISP side, I see an advantage too, since their plant and physical costs would presumably be less, dealing with backups gets simpler, and it lets them offer a colo plan for people who don't necessarily need a full - on physical server, but are outgrowing what a shared hosting plan can offer. Even though they don't have to charge for additional rack space or power anymore, they still have a lot of options based on VM config: image size, number of CPUs, guest OS costs, and amount of RAM allocated to the VM. They would still have the traditional bandwidth and other service charges too.
So my question is, I suppose, is this: Is this as good an idea as it seems, or am I missing something that makes it A Bad Idea? Given an ESX - based system, and keeping in mind that running things on Mac OS X is not particularly important to me, or to a lot of people, although with Leopard Server, that could change wrt ESX, is this something that could work without being a science project?
CommentsWarning for Notes users: The commenting system uses HTML.
I know this will be scary for some of you, especially Notes fans. However, open standards, rah-rah.
If you want to use less-than or greater-than signs, or other similar characters that HTML reserves,
you'll simply have to learn to do it the HTML way. Luckily, HTML is kind of popular, no matter what
your re-educators have told you, and you can easily find help on the intertubes.