Senior Service Engineer, Microsoft Visual Studio Team Foundation Service
August 2009 marks an important milestone for TFS Dogfooding at Microsoft.
In 2004 there was a dogfood server for parts of the TFS team, then it expanded to all of Team System (VSTS). Then other teams in Developer Division (DevDiv) saw the value of having your source code and bugs in the same repository. The division committed to using TFS and eventually on-boarded all teams to the new server. It was constantly patched and had a few major upgrades and eventually became the TFS server that the whole of DevDiv uses today (~3,500 users).
But now that it is such an important server for the division, we can’t risk potential downtime during the development cycle caused by upgrades to new versions. As Brian has said in the past – “preventing almost 2,500 people from getting their work done is not a recipe for a long and healthy career”. Although it’s great that we’ve patched the server and got it to a point where we have >99% application availability, the TFS team has lost the ability to dogfood the latest releases of TFS and feel the pain (and fix it) before we inflict it upon our customers.
Introducing the VSTS Pioneer server:
This is a server that >400 people on the VSTS team are now using instead of the main DevDiv server. All work items and a subset of the source code from the main server is mirrored to this server using a mostly rewritten version of the TFS-TFS Connector built on the TFS Integration Platform (more about that later – see Willy-Peter’s blog for a preview). The server has been running TFS2010 Beta1 since mid-July with no major issues and will be upgraded to a pre-Beta2 build this weekend. It will continue to be upgraded on a regular basis (we’re thinking every 1-2 months) and will always be the first production server to run the latest TFS builds.
Coming up with the name for the server was interesting – the obvious choice is “VSTS Dogfood Server”, however that would mean we’d have two servers that people would call “the dogfood server”. This is a little ambiguous and awfully confusing. So I borrowed the term from the Exchange team who run their own mail server called “Pioneer” and this seems to have worked well.
Everybody loves to hear about how Microsoft uses their own products, so I’m going to try and answer all the obvious questions with a series of blog posts over the next few days:
Let me know any questions you have or what you’d like to hear more about and I’ll see what I can do.