{"id":10401,"date":"2006-09-09T11:55:00","date_gmt":"2006-09-09T11:55:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/bharry\/2006\/09\/09\/high-availability-tfs\/"},"modified":"2018-08-14T00:34:59","modified_gmt":"2018-08-14T00:34:59","slug":"high-availability-tfs","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/bharry\/high-availability-tfs\/","title":{"rendered":"High Availability TFS"},"content":{"rendered":"<p>Team Foundation Server is a critical component of any company&#8217;s assets.&nbsp; It protects the very valuable IP that development teams create.&nbsp; As such it&#8217;s important that it be reliable and secure.&nbsp; Building TFS on SQL Server went a long way toward accomplishing these goals.&nbsp; SQL provides a robust data platform that includes transactions for data integrity, clustering for high avaibility, mirroring\/log shipping for data redundency, online&nbsp;back up for non-impactful disaster recovery, a capable security system&nbsp;and more.\nIn TFS V1 we leverage many of these features to provide a robust team development system.&nbsp; We continue to make progress on enhacing our story and I wanted to let you know about a new development.\nLeveraging SQL&#8217;s clustering feature we are able to provide a high availablity data tier solution with automated fail-over.&nbsp; Unfortunately, the TFS application tier solution has not been as clean.&nbsp; The solution involves what we have called &#8220;warm stand-by&#8221;.&nbsp; You can install a second (redundant) application tier and, in the event of the primary application tier failing, a set of commands can be run to switch the secondary to primary.\nOver the past several months, we&#8217;ve been working with HP to develop a &#8220;hot stand-by&#8221; solution where the application tier will automatically and transparently fail over in the event of a primary failure.&nbsp; HP has just released a <a class=\"\" href=\"http:\/\/h71019.www7.hp.com\/ActiveAnswers\/library\/GetPage.aspx?pageid=564427&amp;statusid=0&amp;audienceid=0&amp;ccid=225&amp;langid=121\">white paper on how to use HP Systems Insight Manager<\/a> to accomplish this.&nbsp; I&#8217;m really happy to be able to add this to the repetoire of TFS administrative and operational options.&nbsp; Between this and SQL clustering you can implement a full, end-to-end redundant system with automatic fail-over.\nFor more information on administrating and operating a Team Foundation Server check out our <a href=\"http:\/\/msdn2.microsoft.com\/en-us\/library\/ms181758.aspx\">documentation here<\/a>.\nOver time, we will continue to improve the TFS operational characteristics.&nbsp; We are looking at features like NLB for a &#8220;out of the box&#8221; transparent AT fail over solution, leveraging SQL log shipping for &#8220;real time&#8221; offsite data replication and more.<\/p>\n<p>&nbsp;\nThanks,\nBrian<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Team Foundation Server is a critical component of any company&#8217;s assets.&nbsp; It protects the very valuable IP that development teams create.&nbsp; As such it&#8217;s important that it be reliable and secure.&nbsp; Building TFS on SQL Server went a long way toward accomplishing these goals.&nbsp; SQL provides a robust data platform that includes transactions for data [&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":[],"class_list":["post-10401","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"acf":[],"blog_post_summary":"<p>Team Foundation Server is a critical component of any company&#8217;s assets.&nbsp; It protects the very valuable IP that development teams create.&nbsp; As such it&#8217;s important that it be reliable and secure.&nbsp; Building TFS on SQL Server went a long way toward accomplishing these goals.&nbsp; SQL provides a robust data platform that includes transactions for data [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/posts\/10401","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=10401"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/posts\/10401\/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=10401"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/categories?post=10401"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/tags?post=10401"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}