Recently Joel Spolsky published an article entitled The Development Abstraction Layer where he describes the need for management to create an abstraction layer between developers and the infrastructure required to develop. I also recently heard an interesting anecdote about how difficult it can be to get work done when you're held back by Byzantine organizational rules (ex. yes, we agree you need that XYZ to get your job done and it doesn't cost us anything to do it, but we can't do it because the proper procedure is to wait until...). That got me thinking that in order to make Spolsky's abstraction layer concept work management and IT (to name two) need to behave as customer driven organizations instead of operations driven organizations. In other words, help me do my job instead of telling the rule that prevents me from doing my job.
I've been a big CVS fan for the last several years. While I was at Intel (and later at ServerEngines) I used CVS to manage the source code for four reasonably sized cross-site development efforts. Since I've been a consultant with Verilab I've been exposed to other systems including Clearcase and custom developed tools. I've even come across some folks still using RCS! Each system has it's pros and cons.
A few weeks back I wrote about the Bugzilla appliance available for use with the VMware player. I've also recently written about potential uses for virtual machines in debugging hardware simulations. In the first article I mentioned that one issue I had with the Bugzilla appliance was the inability to upgrade due to the fact that make and gcc are missing. The folks over at VMware were keen to mention on their blog (search for the article entitled "Remaindered Links") that the smaller the virtual machine, the better. In general I agree, but the reason I was so interested in the appliance in the first place was that I wanted to play around with Bugzilla and didn't want to spend the time configuring a server that could support the latest version. I was more than willing to wait for the larger download to save myself the time of building up a VM from scratch. Though now that they mention it, building up a machine from scratch really isn't a bad idea.
The odds of me getting a Mac are increasing day by day. Apple just announced the public Beta of Boot Camp - software to allow users to boot Microsoft Windows on a new Intel-based Mac. I'll leave it to eWeek to fill in the rest of the details. For me, it means the chance to get to have a shiny new Mac that works well with my iPod and provides a robust GUI layer on top of UNIX, and at the same time be able to sync my Microsoft Windows Mobile 2003-based smartphone with Outlook on Windows XP. Nice.
Last week I wrote about the Community Virtual Appliances that can be run under VMware. Since then I got to thinking - would there be any benefits to be had from running hardware simulations under a virtual machine? After all, those simulations are processor and memory intensive... it seems unlikely that you'd be willing to trade performance to make it easier to manage a server farm. If the technology was in place so that the overhead in running a virtual machine was small (both Intel and AMD are coming out with just such features) there are a few problems that could be solved more robustly.