As we know virtual environments can help maximise under utilised resources, CPU, RAM, diskspace and save on space, power, HVAC and TCO with centralised support and maintenance.
Another main advantage of virtualised environments that is particularly attract to many developers is the ability to remote work which is a requirement that has become far more common with companies wishing their employees to travel less to reduce carbon footprint or to offshore work. But as development environments are resource intensive it has always been felt that they wouldn't make a reasonable virtualisation candidates.
Also, by moving development operations off local desktop means that developers do not have to carry around the weighty desktop replacement laptops, they have far more options from, a large screen, thin client, keyboard, mouse and network access or sitting in the local coffee shop on their Wifi with the trusty Asus Eee or any combination in between.
After some investigation I've determined that normal code writing isn't very resource intensive at all! Infact the only part that is, is compilations. Even with the wealth of utilities and tools at a developers disposal, the modern day processor handles it with some aplomb. Candidacy looks even better when realised that most development environments are running under 32bit operating systems on typical desktops and laptops with up to 4GB RAM and this is the exception rather than the rule, the average being 1-2GB RAM. This puts things into perspective when the modern day virtual server spec is 4 x quad core with 64GB RAM, so you can see there is potential.
In the Lab
On the flip side of the coin, virtual environments can give the developer access to more options than they currently have! No reason now not to run both Linux, Windows and Solaris, Java and .Net! SQL Server and Oracle! All at once! Or an IDE with as many tools and utils running as possible. Why not the whole darn multi-server application! Why not the Testing and pre-prod environments as well! All of which can be replicated as many times as you wish so you can kit out your team, your division, your company! To a certain point the limit is the imagination! And this is exactly where tools like VMware Lab Manager come in!
Lab Manager has been specifically written for the developer and tester in-mind where whole environments can be built and teared down again quickly. You can even have multiple copies of the same environment running at the same time so no need to fight over servers.
Cutting it with a blade
Dave Caddick pointed out to me that where virtualisation environment like VMware and Citrix still suck is graphically intensive operations.
Citrix has a few more years of experience over the marturist of virtual server and software virtualisation technologies that are still using RDP which doesn't perform as well graphically as ICA.
Dave offers an alternative solution to virtualised environments that still offer many of the savings in power, HVAC and TCO that servers have and that is the concept of the Blade PC's.
Blade PC , is a computer that is entirely contained in a thin, modular circuit card placed in a centralised, secure location such as a server rack. A cable connects the card to the user's display, keyboard and mouse. Vendors of blade PCs include ClearCube and HP .
A blade PC, in contrast to a thin client as it is a complete computer that includes all the components normally found in a desktop PC including the microprocessor, memory chips, hard drive, video card and network card. The blade PC concept is similar to the blade server paradigm, except that the ratio of cards to end-users is one-to-one rather than one-to-many.
Blade PCs are initially more expensive to deploy than the conventional arrangement, in which each station has its own computer box, because associated infrastructure, cards and cabling must be installed. Once installed, however, the blade PC offers a number of advantages over the traditional approach and they are,
Lower administrative, operational and maintenance resource demands
Space savings at the workstation
Ease of adding and relocating end users
Reduced workstation noise caused by fans and hard drives
Reduced work area heat generation
Sharing of certain accessories such as uninterruptible power supplies
Improved physical security by placing critical hardware in a central, locked location.
Amazingly, some software companies do not offer licensing for virtual environments which is pants! And very often virtual environment don't support specialised hardware so do your homework.
So you can see there is a number of different avenues open to the developer which are easy to justify. There is no point in trying to stuff everything into that 'paving slab' of a laptop as there is no longer any need, I believe once you get over the fear of giving up a bit of control you will feel the liberation! However it's not like going commando as virtual environments offer amazing support, eventually you'll hardly notice the difference and wonder what all the fuss was about!