Everything you want to know about Visual Studio ALM and Farming
Brian Harry is a Microsoft Technical Fellow working as the Product Unit Manager for Team Foundation Server. Learn more about Brian.
More videos »
I've posted over the past several months about the great advances we've made in the TFS installation experience. As we start to wrap up work on TFS 2010, we're starting to think about the future (beyond 2010 :)). One of the things that has interested me for a while is the notion of virtual appliances. I've been wondering how many people would like it or not like it if we shipped TFS as a virtual appliance. The advantage of a virtual appliance is that there is almost no setup to do at all. We would do all of the setup - prereqs, etc onto a virtual machine image and all you would do is enter product keys, machine name, etc (stuff that makes the machine "yours). In principle, setup would be faster, more reliable and even easier.
Perhaps the biggest downsides are that 1) you'd be required to run it in a virtual environment and 2) your initial configuration options would be limited (because we'd bake them in).
So I'm curious. Who has experience with virtual appliances? What do you think? Do you think this is something we should consider for TFS in the future?
Brian
That would be cool. You can still have the physcical install for those that want more flexbility.
As an option, I think that's awesome. With virtualization being more and more common, and with features like Windows 7 support for VHD files; I think this would be hugely useful.
I had posted a similar request in Grant Holliday's blog.
I would use the VHD with preinstalled TFS to conduct some POCs. it will save me and my company a lot of time when all we want to do is study any potential impact of migrating from the older versions of tfs.
of course, the only thing that we cannot experience is the new and improved installation process :)
That would be huge for all MS server software.
Kind of like Small Business Server for development teams.
You'd be cutting off my contracts for installations, of course, but I would much rather spend that time teaching teams to use Team System.
Well, let me tell you about our experience.
I’m the team leader of a small (three devs) startup, when I was hired there was absolutely no process in place at all, all I had was a bunch of code in “vault” (SourceGear) after a WHILE and playing the TFS-Marketing guy role, I convinced to upper management (read owner$$) to upgrade our MSDN license to Team system (DEV $5k+ ) which gave us access to TFS workgroup edition next step.. to install tfs, fortunately I found the TFS “Trial” VM (http://www.microsoft.com/downloads/details.aspx?FamilyID=39644cdd-db4d-445e-b087-dd3e3cdf03fb&displaylang=en ) and I didn’t think twice, after a FEW tweaks ( new users and access) it was ready… we’ve been using this VM for almost a year now in our Dev process without a single hiccup. Bottom line, as for TFS I NEED TFS but I’m USER I don’t care where is it, or how its configured (small team remember?) all I want is be able to USE IT the VM (canned) deployment save us so much time! We actually backup the entire VM without even worry about the SQL stuff! Easier than a VM? Mmhh… hosted? Go ahead and host TFS workgroup for small companies with the proper MSDN license…
Anything that makes it easier for me, the Dev, to install, configure, and administer TFS is great. We're planning on running TFS in a VM anyway, so we'd be all for that! Especially for evaluation versions, where there's no way I'm getting ops help to test out beta (or pre-beta) software.
Not a bad idea, especially for the small (< 20 devs) teams, where you're not likely to have a dedicated TFS administrator/guru. It'd certainly remove many of the barriers I often hear about that prevent teams from using TFS.
BUT...to be sure, there are a fair few virtualisation technologies out there, and I'd suggest that Hyper-V is probably far from being the most popular one. So if you do a Hyper-V VM, then you'd be cutting yourself off at the knees, so to speak. Where I work, we use Xen, and at my last place of work, we had a global TFS lab set up in a datacentre, running on VMWare ESX.
Something to thing about anyway...
Mark
As I understand a virtual appliance is an end to end solution and as such SQL Server would also be included in the appliance. Is that correct?
I think that would be a good idea. Small businesses would really find that to be an amazingly useful experience. Even with the new "easy" install, not having to install the OS first (and the extra reboots required by the "easy" install) would make the process almost brainless.
Almost every company I have worked with runs TFS in a VM anyway.
We already virtualize (on a Hyper-V system) our TFS server in any case; we do so with a lot of our development and test boxes. Being able to just deploy an image would certainly make it simpler, although the most complex part (upgrading the database) would still be an issue, of course.
I think that TFS over a cloud will give us similar experience (no setup) and basic default configuration,
I think that everyone are using pretty much the same installation architecture (one or dual tiers).
I think that virtualized TFS can interest me a lot.
I think a virtual appliance would be great - Active directory integration would need to work, and we would still want the flexibility to have a separate data tier.
But aren't you already releasing a kind-of virtual appliance with the demo VM?
OK, it's a demo with an expiry data, but still a working installation of TFS.
Anyway... it would be great to a have such a VM with everything already installed and that I can "legally" use to run my team (something I cannot "legally" do with the demo VM)
The only thing I'd be worried about is the upgrade story. Even if the VM has one "blessed" configuration with all the best practices baked in, you need to support to be able to upgrade from at least 90% of all the crazy configurations out there. (hopefully the database unification in 2010 makes this easier)
I like the idea.
Can you build two VMs, one 'standard,' and one with HTTPS: over SSL, supporting Department of Defense Common Access Cards (smart cards)?
We develop and deploy in virtual environments.