{"id":2511,"date":"2013-02-01T21:37:20","date_gmt":"2013-02-01T21:37:20","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/bharry\/2013\/02\/01\/team-foundation-server-on-azure-iaas\/"},"modified":"2013-02-01T21:37:20","modified_gmt":"2013-02-01T21:37:20","slug":"team-foundation-server-on-azure-iaas","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/bharry\/team-foundation-server-on-azure-iaas\/","title":{"rendered":"Team Foundation Server on Azure IaaS"},"content":{"rendered":"<p>I&rsquo;ve been getting a few questions lately about whether or not we support TFS on Azure IaaS.&nbsp; The truth is that a number of us have set up and used it on IaaS but we have never really formally tested it.&nbsp; My biggest question was performance.&nbsp; We&rsquo;ve just finished running some performance tests.&nbsp; Here&rsquo;s the results we got:<\/p>\n<table style=\"line-height: normal;list-style-type: disc;border-collapse: collapse\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"384\"><font style=\"font-size: 12pt\"><\/font><\/p>\n<colgroup>\n<col span=\"span\" width=\"64\"><font style=\"font-size: 12pt\"><\/font><\/colgroup>\n<tbody>\n<tr style=\"height: 15.75pt\"><font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"padding-top: 0in;padding-bottom: 0in;border-top-color: windowtext;border-right-color: windowtext;border-bottom-color: windowtext;border-top-width: 1pt;border-right-width: 1pt;border-bottom-width: 1pt;border-top-style: solid;border-right-style: solid;border-bottom-style: solid\" class=\"xl65\" height=\"21\" width=\"64\"><font style=\"font-size: 8pt\">TFS config<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"border-top-color: windowtext;border-right-color: windowtext;border-bottom-color: windowtext;border-top-width: 1pt;border-right-width: 1pt;border-bottom-width: 1pt;border-top-style: solid;border-right-style: solid;border-bottom-style: solid\" class=\"xl66\" width=\"64\"><font style=\"font-size: 8pt\">Model<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"border-top-color: windowtext;border-right-color: windowtext;border-bottom-color: windowtext;border-top-width: 1pt;border-right-width: 1pt;border-bottom-width: 1pt;border-top-style: solid;border-right-style: solid;border-bottom-style: solid\" class=\"xl66\" width=\"64\"><font style=\"font-size: 8pt\">CPU<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"border-top-color: windowtext;border-right-color: windowtext;border-bottom-color: windowtext;border-top-width: 1pt;border-right-width: 1pt;border-bottom-width: 1pt;border-top-style: solid;border-right-style: solid;border-bottom-style: solid\" class=\"xl66\" width=\"64\"><font style=\"font-size: 8pt\">Memory<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"border-top-color: windowtext;border-right-color: windowtext;border-bottom-color: windowtext;border-top-width: 1pt;border-right-width: 1pt;border-bottom-width: 1pt;border-top-style: solid;border-right-style: solid;border-bottom-style: solid\" class=\"xl67\" width=\"64\"><font style=\"font-size: 8pt\">Disk<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"border-top-color: windowtext;border-right-color: windowtext;border-bottom-color: windowtext;border-top-width: 1pt;border-right-width: 1pt;border-bottom-width: 1pt;border-top-style: solid;border-right-style: solid;border-bottom-style: solid\" class=\"xl68\" width=\"64\" align=\"right\"><font style=\"font-size: 8pt\">Active TPC<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font><\/tr>\n<p>     <font style=\"font-size: 12pt\"><\/font>      <\/p>\n<tr style=\"height: 22.5pt\"><font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"border-width: medium 1pt 1pt;border-style: none solid solid;border-color: currentcolor windowtext black\" class=\"xl77\" height=\"236\" rowspan=\"8\"><font style=\"font-size: 8pt\">Dual server<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"border-right-color: windowtext;border-right-width: 1pt;border-right-style: solid\" class=\"xl69\" width=\"64\"><font style=\"font-size: 8pt\">AT: Medium Azure VM<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"border-right-color: windowtext;border-right-width: 1pt;border-right-style: solid\" class=\"xl69\" width=\"64\"><font style=\"font-size: 8pt\">AT: 2P<\/font><span><font style=\"font-size: 8pt\">&nbsp;<\/font><\/span><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"border-right-color: windowtext;border-right-width: 1pt;border-right-style: solid\" class=\"xl69\" width=\"64\"><font style=\"font-size: 8pt\">AT: 3.5GB<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"border-right-color: windowtext;border-right-width: 1pt;border-right-style: solid\" class=\"xl72\" width=\"64\"><font style=\"font-size: 8pt\">AT:<\/font><span><font style=\"font-size: 8pt\">&nbsp;<\/font><\/span><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"border-width: medium 1pt 1pt;border-style: none solid solid;border-color: currentcolor windowtext black\" class=\"xl75\" rowspan=\"8\" align=\"right\"><font style=\"font-size: 8pt\">30<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font><\/tr>\n<p>     <font style=\"font-size: 12pt\"><\/font>      <\/p>\n<tr style=\"height: 22.5pt\"><font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"border-right-color: windowtext;border-right-width: 1pt;border-right-style: solid\" class=\"xl69\" height=\"30\" width=\"64\"><font style=\"font-size: 8pt\">DT: Large Azure VM<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"border-right-color: windowtext;border-right-width: 1pt;border-right-style: solid\" class=\"xl69\" width=\"64\"><font style=\"font-size: 8pt\">DT: 4P<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"border-right-color: windowtext;border-right-width: 1pt;border-right-style: solid\" class=\"xl69\" width=\"64\"><font style=\"font-size: 8pt\">DT: 7GB<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"border-right-color: windowtext;border-right-width: 1pt;border-right-style: solid\" class=\"xl72\" width=\"64\"><font style=\"font-size: 8pt\">1xVHD: OS<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font><\/tr>\n<p>     <font style=\"font-size: 12pt\"><\/font>      <\/p>\n<tr style=\"height: 22.5pt\"><font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"vertical-align: bottom;border-right-color: windowtext;border-right-width: 1pt;border-right-style: solid\" class=\"xl70\" height=\"30\" width=\"64\"><font style=\"font-size: 11pt\">&nbsp;<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"vertical-align: bottom;border-right-color: windowtext;border-right-width: 1pt;border-right-style: solid\" class=\"xl70\" width=\"64\"><font style=\"font-size: 11pt\">&nbsp;<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"vertical-align: bottom;border-right-color: windowtext;border-right-width: 1pt;border-right-style: solid\" class=\"xl70\" width=\"64\"><font style=\"font-size: 11pt\">&nbsp;<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"border-right-color: windowtext;border-right-width: 1pt;border-right-style: solid\" class=\"xl72\" width=\"64\"><font style=\"font-size: 8pt\">1xVHD: VC Proxy files<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font><\/tr>\n<p>     <font style=\"font-size: 12pt\"><\/font>      <\/p>\n<tr style=\"height: 15pt\"><font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"vertical-align: bottom;border-right-color: windowtext;border-right-width: 1pt;border-right-style: solid\" class=\"xl70\" height=\"20\" width=\"64\"><font style=\"font-size: 11pt\">&nbsp;<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"vertical-align: bottom;border-right-color: windowtext;border-right-width: 1pt;border-right-style: solid\" class=\"xl70\" width=\"64\"><font style=\"font-size: 11pt\">&nbsp;<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"vertical-align: bottom;border-right-color: windowtext;border-right-width: 1pt;border-right-style: solid\" class=\"xl70\" width=\"64\"><font style=\"font-size: 11pt\">&nbsp;<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"border-right-color: windowtext;border-right-width: 1pt;border-right-style: solid\" class=\"xl72\" width=\"64\"><font style=\"font-size: 8pt\">DT:<\/font><span><font style=\"font-size: 8pt\">&nbsp;<\/font><\/span><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font><\/tr>\n<p>     <font style=\"font-size: 12pt\"><\/font>      <\/p>\n<tr style=\"height: 33.75pt\"><font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"vertical-align: bottom;border-right-color: windowtext;border-right-width: 1pt;border-right-style: solid\" class=\"xl\n70\" height=\"45\" width=\"64\"><font style=\"font-size: 11pt\">&nbsp;<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"vertical-align: bottom;border-right-color: windowtext;border-right-width: 1pt;border-right-style: solid\" class=\"xl70\" width=\"64\"><font style=\"font-size: 11pt\">&nbsp;<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"vertical-align: bottom;border-right-color: windowtext;border-right-width: 1pt;border-right-style: solid\" class=\"xl70\" width=\"64\"><font style=\"font-size: 11pt\">&nbsp;<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"border-right-color: windowtext;border-right-width: 1pt;border-right-style: solid\" class=\"xl72\" width=\"64\"><font style=\"font-size: 8pt\">1xVHDs: TempDB files<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font><\/tr>\n<p>     <font style=\"font-size: 12pt\"><\/font>      <\/p>\n<tr style=\"height: 22.5pt\"><font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"vertical-align: bottom;border-right-color: windowtext;border-right-width: 1pt;border-right-style: solid\" class=\"xl70\" height=\"30\" width=\"64\"><font style=\"font-size: 11pt\">&nbsp;<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"vertical-align: bottom;border-right-color: windowtext;border-right-width: 1pt;border-right-style: solid\" class=\"xl70\" width=\"64\"><font style=\"font-size: 11pt\">&nbsp;<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"vertical-align: bottom;border-right-color: windowtext;border-right-width: 1pt;border-right-style: solid\" class=\"xl70\" width=\"64\"><font style=\"font-size: 11pt\">&nbsp;<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"border-right-color: windowtext;border-right-width: 1pt;border-right-style: solid\" class=\"xl72\" width=\"64\"><font style=\"font-size: 8pt\">1xVHD: Data files<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font><\/tr>\n<p>     <font style=\"font-size: 12pt\"><\/font>      <\/p>\n<tr style=\"height: 22.5pt\"><font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"vertical-align: bottom;border-right-color: windowtext;border-right-width: 1pt;border-right-style: solid\" class=\"xl70\" height=\"30\" width=\"64\"><font style=\"font-size: 11pt\">&nbsp;<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"vertical-align: bottom;border-right-color: windowtext;border-right-width: 1pt;border-right-style: solid\" class=\"xl70\" width=\"64\"><font style=\"font-size: 11pt\">&nbsp;<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"vertical-align: bottom;border-right-color: windowtext;border-right-width: 1pt;border-right-style: solid\" class=\"xl70\" width=\"64\"><font style=\"font-size: 11pt\">&nbsp;<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"border-right-color: windowtext;border-right-width: 1pt;border-right-style: solid\" class=\"xl72\" width=\"64\"><font style=\"font-size: 8pt\">1xVHD: Log files<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font><\/tr>\n<p>     <font style=\"font-size: 12pt\"><\/font>      <\/p>\n<tr style=\"height: 15.75pt\"><font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"vertical-align: bottom;border-right-color: windowtext;border-bottom-color: windowtext;border-right-width: 1pt;border-bottom-width: 1pt;border-right-style: solid;border-bottom-style: solid\" class=\"xl71\" height=\"21\" width=\"64\"><font style=\"font-size: 11pt\">&nbsp;<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"vertical-align: bottom;border-right-color: windowtext;border-bottom-color: windowtext;border-right-width: 1pt;border-bottom-width: 1pt;border-right-style: solid;border-bottom-style: solid\" class=\"xl71\" width=\"64\"><font style=\"font-size: 11pt\">&nbsp;<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"vertical-align: bottom;border-right-color: windowtext;border-bottom-color: windowtext;border-right-width: 1pt;border-bottom-width: 1pt;border-right-style: solid;border-bottom-style: solid\" class=\"xl71\" width=\"64\"><font style=\"font-size: 11pt\">&nbsp;<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font>        <\/p>\n<td style=\"border-right-color: windowtext;border-bottom-color: windowtext;border-right-width: 1pt;border-bottom-width: 1pt;border-right-style: solid;border-bottom-style: solid\" class=\"xl73\" width=\"64\"><font style=\"font-size: 8pt\">1xVHD: OS<\/font><\/td>\n<p>       <font style=\"font-size: 12pt\"><\/font><\/tr>\n<p>     <font style=\"font-size: 12pt\"><\/font><\/tbody>\n<\/table>\n<p>In this configuration, we were able to achieve results supporting a team of 500 &ndash; 1,000 users.&nbsp; This is roughly consistent with the hardware sizing guidelines we give for dedicated hardware.&nbsp; Our results indicate that TFS on Azure IaaS will cap out ~1,500 users due to exhaustion of I\/O bandwidth for the log and temp db.\nOf course, Azure IaaS hasn&rsquo;t RTMed yet so we can&rsquo;t officially support it until it does but once it RTMs, this should provide some indication that it performs\/scales pretty well.<\/p>\n<p>Brian<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&rsquo;ve been getting a few questions lately about whether or not we support TFS on Azure IaaS.&nbsp; The truth is that a number of us have set up and used it on IaaS but we have never really formally tested it.&nbsp; My biggest question was performance.&nbsp; We&rsquo;ve just finished running some performance tests.&nbsp; Here&rsquo;s the [&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-2511","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-tfs"],"acf":[],"blog_post_summary":"<p>I&rsquo;ve been getting a few questions lately about whether or not we support TFS on Azure IaaS.&nbsp; The truth is that a number of us have set up and used it on IaaS but we have never really formally tested it.&nbsp; My biggest question was performance.&nbsp; We&rsquo;ve just finished running some performance tests.&nbsp; Here&rsquo;s the [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/posts\/2511","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=2511"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/posts\/2511\/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=2511"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/categories?post=2511"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/tags?post=2511"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}