{"id":4831,"date":"2010-08-12T07:04:00","date_gmt":"2010-08-12T07:04:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/bharry\/2010\/08\/12\/some-detail-behind-the-codeplex-move-to-tfs-2010\/"},"modified":"2024-06-24T15:15:55","modified_gmt":"2024-06-24T22:15:55","slug":"some-detail-behind-the-codeplex-move-to-tfs-2010","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/bharry\/some-detail-behind-the-codeplex-move-to-tfs-2010\/","title":{"rendered":"Some detail behind the CodePlex move to TFS 2010"},"content":{"rendered":"<p>A couple of weeks ago, I wrote a <a href=\"http:\/\/blogs.msdn.com\/b\/bharry\/archive\/2010\/08\/04\/tfs2010-on-codeplex.aspx\">short post about the move of CodePlex from TFS 2008 to TFS 2010<\/a> and some of the benefits you\u2019ll see from that.\u00a0 Today, I want to drill a bit deeper into the infrastructure changes that went along with it and some additional benefits.\u00a0 As you know making TFS more hosting friendly (whether it\u2019s being hosted publicly or being hosted by an IT department for internal use) was one of our big investments in TFS 2010.\u00a0 The move of CodePlex to TFS 2010 is really highlighting some of those benefits.\u00a0 Let\u2019s look at this with a picture:<\/p>\n<p>Here\u2019s the CodePlex architecture on TFS 2008:<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/bharry\/wp-content\/uploads\/sites\/8\/2010\/08\/6138.clip_image002_thumb_61ED21F8.gif\"><img decoding=\"async\" class=\"alignnone size-full wp-image-16363\" src=\"https:\/\/devblogs.microsoft.com\/bharry\/wp-content\/uploads\/sites\/8\/2010\/08\/6138.clip_image002_thumb_61ED21F8.gif\" alt=\"Image 6138 clip image002 thumb 61ED21F8\" width=\"800\" height=\"525\" \/><\/a><\/p>\n<p>And here it is in TFS 2010:<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/bharry\/wp-content\/uploads\/sites\/8\/2010\/08\/6153.clip_image0026_thumb_63F9FAF4.gif\"><img decoding=\"async\" class=\"alignnone size-full wp-image-16364\" src=\"https:\/\/devblogs.microsoft.com\/bharry\/wp-content\/uploads\/sites\/8\/2010\/08\/6153.clip_image0026_thumb_63F9FAF4.gif\" alt=\"Image 6153 clip image0026 thumb 63F9FAF4\" width=\"400\" height=\"444\" \/><\/a><\/p>\n<p>Just looking at the picture, you can see it is WAY simpler.\u00a0 But when you look at the numbers, it\u2019s clear how much better it is:<\/p>\n<ul>\n<li>Reduction from 13 to 4 app tier VMs<\/li>\n<li>Reduction from 20 to 2 SQL instances<\/li>\n<li>Reduction from 5 physical app tier machines to 2<\/li>\n<li>Reduction from 4 physical data tier machines to 2<\/li>\n<\/ul>\n<p>This means less power, less hardware, less operations, less patching, \u2026.\u00a0 The CodePlex team enumerated the benefits as:<\/p>\n<ol>\n<li>Reduced operational costs<\/li>\n<li>Improved performance<\/li>\n<li>Improved availability<\/li>\n<li>Increased project capacity<\/li>\n<\/ol>\n<p>The reduced operational costs is kind of obvious in what I\u2019ve just shown so let\u2019s talk about the other three:<\/p>\n<p><strong>Improved performance<\/strong> \u2013 The introduction of Team Project Collections has enabled a reduction in the number of projects sharing the same database.\u00a0 Causing smaller table sizes and faster connect time.\u00a0 The introduction of network load balancing means a more even distribution of load across the system and better overall response time for end users.<\/p>\n<p><strong>Improved availability<\/strong> \u2013 Network load balancing of the application tiers also means that many maintenance operations (like security patches) can be performed with no down time.\u00a0 Previously every patch meant some downtime window.<\/p>\n<p><strong>Increased project capacity<\/strong> \u2013 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.\u00a0 The biggest improvement is that memory is no longer the bottleneck that it used to be.\u00a0 We don\u2019t 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.<\/p>\n<p>I\u2019m really thrilled to have CodePlex on TFS 2010 and I\u2019m doubly excited about the infrastructural and experience improvements it enabled.<\/p>\n<p>Brian<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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\u2019ll see from that.\u00a0 Today, I want to drill a bit deeper into the infrastructure changes that went along with it and some additional benefits.\u00a0 As you know making [&hellip;]<\/p>\n","protected":false},"author":244,"featured_media":14617,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[5],"class_list":["post-4831","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-tfs"],"acf":[],"blog_post_summary":"<p>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\u2019ll see from that.\u00a0 Today, I want to drill a bit deeper into the infrastructure changes that went along with it and some additional benefits.\u00a0 As you know making [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/posts\/4831","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/users\/244"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/comments?post=4831"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/posts\/4831\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/media\/14617"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/media?parent=4831"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/categories?post=4831"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/tags?post=4831"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}