In my job I do a lot of presentations. I try do to demos as often as I can, to make things a bit more real for the “audience.” I also use slides, usually to to help convey complex points, or to “demonstrate” things that I can’t really run locally on my laptop just because the demo would require too much horsepower. Lab management would be one of those things.

One of the things I’ve talked about in so many of my presentations is configuring Team Foundation Server in a two-tier setup – an app tier for the TFS server, and a separate database tier for the database. In all the TFS installations I’ve done in the past (and there have been oodles of them) I’ve always taken the simplest route and installed everything on one server: Database, TFS, and even Visual Studio, Test Manager, etc., etc., etc.

Everything in one virtual machine. Simple to set up, simple to manage.

On Saturday I finally decided that it was time to install TFS in a two-server configuration, one for the database and one for the app tier. And in that decision I also decided not to put VS on the TFS server - to create a separate developer VM. And to make things more interesting, I decided to create my own domain VM as well.

It’s been quite a learning experience. So far I’ve created the following environments:

  • Domain controller on ws08r2
  • Database server on ws08r2
  • TFS app tier server on ws08r2
  • VS 2010 developer / Test Pro 2010 environment / IIS on Windows 7

Smile for the camera! Here is a picture of the four, idling away, waiting for me to get back to work:

I’m going to give these a little test, to see if they perform OK when I try to do some simple TFS-related stuff from the client desktop. (Let’s call it a smoke test for my laptop.) If that works OK, I’ll create some simple apps and see if how they perform.

If my laptop doesn’t crater, then I have a few more VMs I’d like to bring into the mix. I’m not looking for a fast environment, or something that I would demo in front of people, just a nice playpen in which I can actually walk the walk instead of just talking about it. The other VMs:

  • Test Pro desktop on Win 7
  • Separate development web server on ws08r2
  • Separate app server on ws08r2

That’s a lot of virtual machines, requiring a lot of disk space to hold the VMs and a lot of RAM to run them concurrently.

Fortunately my laptop has a lot of both. With up to 7 VMs running concurrently, I’ll have to skimp the RAM a bit on each of them – allowing only 2 GB each. (I’ve already restricted the first 4 that way.)

The laptop’s processor is an i7, but it’s not the fastest of that series . . . When I bought it, the i7 hadn’t been out long and the ones at the very top end GHz-wise were amazingly expensive. They’ve come down quite a bit since then, as all computer prices do. But, I have what I have. And I’m not complaining at all.

It will be interesting to see if the laptop can do all the above. Right now I think it will probably be dog slow, but that’s OK.  : )

If things run like molasses, there are couple of things I can do:

  • offload some of the VMs to external drives (I’m currently using the laptop’s second internal drive to hold all the VMs) I may move some of the VMs to external drives (either USB or eSATA);
  • move some of the VMs to another laptop and network the two machines together;
  • beg for a few more laptops. (cough)

As I mentioned, this is a learning process for me. In other posts I’ll let you know some of the “fun” I’ve already run into, and stuff that comes up along the way. I’ve already fumbled / stumbled a number of times, leveraged some excellent excellent information on the internet, and occasionally even (gasp!) RTFM.

-- bliz


Post Script

But right this minute I’m heading back to the Tampa office to connect my laptop to the projector in the MPR (multi-purpose room). On Friday I connected my laptop to that projection system for the first time, and the display driver stopped working. Fortunately I could see things on the system’s external monitor, but my laptop display was toast for the day.

Then things really got bad. My demo VM (everything installed in one VM, natch), which always performs quite well, began to crawl. Double-dog slow.

The folks in the room were very nice and understanding, and Quent helped me tremendously by doing an excellent impromptu tap dance while I tried a number of things to get things working, and finally ended up using my Win 7 image and slightly different demos.

So, I’m going to go try to kill that gremlin, the one living in the Treasure Island conference room’s projection system.

Wish me luck.

[Update: . . . Or maybe it was the incredibly old display driver that was causing the problem. Just installed the latest one, and I’m heading to the office to give it a try. . . ]

[Update to the update: Turns out it was the network adapters in the VM trying to connect to the wireless network in the office. Once I disabled the VM’s network adapters, the performance of the VM significantly improved.]