Team Foundation Server in the Cloud

Statement: Readify wants to provide Team Foundation Server hosting in the cloud. We significant amounts of operational TFS experience as well as an understanding of development team requirements.

Over the weekend I dropped the cash required to purchase my own personal dedicated server from a hosting provider in the US so that I could better understand the costs involved provisioning a TFS server which is accessible over the Internet. The server I procured had 4GB of RAM and a number of SATA II drives (popular with hosting providers). On to that machine I installed Virtual Server 2005 R2 and loaded up a number of Virtual Machines:

  1. Windows 2003 Server R2 with Active Directory
  2. Windows 2003 Server R2 with Team Foundation Server
  3. Windows 2003 Server R2 with Team Build (not built yet)

The first machine was allocated 512MB of RAM with a 16GB drive whilst the second was allocated 2GB of RAM with a 100GB drive. Performance is acceptable at this point in time. The whole experience has taught me a number of lessons about the best way to host TFS on the Internet:

  1. Don’t rely on the configuration of the physical box to be suitable for a TFS installation, hosting providers tend to put lots of stuff on those servers to make it easy to offer up web-sites which almost by definition makes it unsuitable for a successful TFS installation.
  2. Virtualisation is the only way to fly. Because of the above you really need to go virtual on top of the dedicated hardware so that you can have complete control over what is installed on the box.
  3. Virtualisation makes disaster recovery a snap. I kind of already knew this but it was reinforced to me yesterday evening when I spent three hours on a customer site attempting to repair a damanged TFS installation (WSS problem). They had virtualised their TFS server which meant we could easily rollback (unfortunately their SQL data files were on a SAN so we actually had to restore specific backups for them that we had taken previously – the moral of that story is that everything that you want to recover quickly should be on the VHD).
  4. Once the configuration has settled, use differencing disks. This kind of makes sense if you think about it. If you are backing up VHDs its going to take up a fair whack of space, but once your machine configuration has settled down create a differencing disk and just backup that (along with a stable base disk image). This will cut down your backup size significantly, and it is smarter than a changed files backup because as I understand it, its done at a block level, not the file level. The upshot is that you can store many more days worth of backups in the same amount of space.

On a final note, Readify is seriously considering pulling together a hosted TFS offering, the thing that we are missing at the moment is input from future customers and what their (realistic) price expectations are. If you are interested on getting onboard with a hosted TFS offering please shoot me an e-mail at mitch.denny@readify.net. If you can provide me some details like the number of developers you have, what kind of organisation you are (independent consultant/contractor, microISV/ISV, enterprise development team).

Oh – and what have been the costs involved so far provisioning this TFS infrastructure? Well, apart from licensing which is a whole other issue time and hosting probably works out to be about AUD$2600.00 and I’m not finished yet.

11 thoughts on “Team Foundation Server in the Cloud

  1. Pingback: PaulStovell.NET » Roundup 20070307

  2. Mitch Denny Post author

    Hi Austin,

    Yep, although that is a fairly limited offering (version control and work item tracking). A commercial offering would need to add quite a few additional features to make it worthwhile I think.

  3. Mike Brown

    Hi Mitch,
    Paul Stovell referred me to this post. I would argue that 10 dollars (US) a month per user per project with a 5 user minimum would be a reasonable starting point. Disk space would scale according to projects and users. So the base package would give me maybe 500 MB. Whereas having 10 users and 2 projects should give me 2 GB. Perhaps give ala carte options like extra storage, more builds, etc.

    Of course you could provide additional services like Process Training, Test Environment configuration (and hosting), and a bunch of other stuff that can be a great revenue driver.

    The killer part is what you can do once you have the hosting services established. I’m not giving that idea away for free.

  4. Mitch Denny Post author

    Hi Mike,

    How many megabytes you are using is hard to gauge with TFS, and its not like you can use less megabytes by deleting stuff. However we will never reach to the $10 per user per project price point because the MS licenses are around $42AUD per user per month🙂

  5. Pingback: Brian H. Madsen - .Net Powered by Caffeine : Hosted Team Foundation Server...

  6. Scott Munro

    Hi Mitch,

    this all sounds very interesting. I have often lamented that CodePlex only supports open source projects. I can imagine that a similar sort of site – one that is intended for commercial projects – would be very successful. Developers should pay an annual subscription which is dependent on the number of projects of which they are a member.

    Cheers,

    Scott

  7. Shelley

    We like the level of control that Server Intellect gives us over the database and website – so we get the flexibility we need. We also like that we can schedule tasks at the server level.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s