A couple of weeks ago, I wrote a short post about the move of CodePlex from TFS 2008 to TFS 2010 and some of the benefits you’ll see from that. Today, I want to drill a bit deeper into the infrastructure changes that went along with it and some additional benefits. As you know making TFS more hosting friendly (whether it’s being hosted publicly or being hosted by an IT department for internal use) was one of our big investments in TFS 2010. The move of CodePlex to TFS 2010 is really highlighting some of those benefits. Let’s look at this with a picture:
Here’s the CodePlex architecture on TFS 2008:
And here it is in TFS 2010:
Just looking at the picture, you can see it is WAY simpler. But when you look at the numbers, it’s clear how much better it is:
- Reduction from 13 to 4 app tier VMs
- Reduction from 20 to 2 SQL instances
- Reduction from 5 physical app tier machines to 2
- Reduction from 4 physical data tier machines to 2
This means less power, less hardware, less operations, less patching, …. The CodePlex team enumerated the benefits as:
- Reduced operational costs
- Improved performance
- Improved availability
- Increased project capacity
The reduced operational costs is kind of obvious in what I’ve just shown so let’s talk about the other three:
Improved performance – The introduction of Team Project Collections has enabled a reduction in the number of projects sharing the same database. Causing smaller table sizes and faster connect time. The introduction of network load balancing means a more even distribution of load across the system and better overall response time for end users.
Improved availability – Network load balancing of the application tiers also means that many maintenance operations (like security patches) can be performed with no down time. Previously every patch meant some downtime window.
Increased project capacity – Despite a better than 2X reduction in hardware and better then 3X reduction in VMs, the CodePlex team estimates that the new hardware configuration can support double the number of CodePlex projects and is set up to grow far more gracefully than before. The biggest improvement is that memory is no longer the bottleneck that it used to be. We don’t have to keep adding machines as the number of projects grow but rather only need to add machines when the actual active load demands more CPU resources.
I’m really thrilled to have CodePlex on TFS 2010 and I’m doubly excited about the infrastructural and experience improvements it enabled.