One new thing since my real-world hiatus in the music industry is the prevalence of low-cost (like free) virtual machine software. They’re cheap, they’re stable, now we have linux and windows wherever we want, we can all own macbooks.
This idea is extremely intriguing when you start applying it to deploying server software. It seems to me like we would ideally be deploying a new virtual machine for every app in order to sandbox the application and it’s environment. Yeah, a lot of us are stuck in the old timeshare paradigm, but let’s look at it in terms of the next level.
Start with a developer’s desktop machine. I have a maxed-out i7 macbook pro, and run Windows under VirtualBox for IIS/Visual Studio/Office/etc. Then, whenever I start a new linux app, I just tack on a new virtual machine with a hostname matching the project.
With all machines using a single Mac shared folder, I get to use my favorite app to write code (Coda, in my case) and work within my mac environment. I generally never even look at the virtual hosts’ window, just use them as if they were a server somewhere in the closet.
Now this gets really interesting when you start thinking about deploying servers. Ideally we would have one box with an infinite number of virtual machines. Ideally, the OS overhead would be negligible. When you release a new project, you fire up a new virtual machine, install yer stuff, and add a DNS entry. No more site-wide broken apache configs, no more runaway processes, everyone has sudo where they need it with none of the risk. Once you own the hardware, you can do this as much as you want.
In that world hosting is not a problem anymore. You buy hardware resources in bulk and parcel out the pieces.
This is where we are going. I wonder how long it’s going to take us to get there?