<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7401846799923654829</id><updated>2011-12-08T08:26:34.746-08:00</updated><category term='Subversion support'/><category term='ALM'/><category term='Subversion clustering'/><category term='agile'/><category term='social coding'/><category term='wandisco'/><category term='uberSVN'/><category term='free Subversion download'/><category term='Mac OS X'/><category term='svnsync'/><category term='multi-site'/><category term='svk'/><category term='multisite'/><category term='Subversion 1.7'/><category term='Apache Subversion'/><category term='replication'/><category term='subversion'/><category term='backup'/><title type='text'>Subversion in the Enterprise</title><subtitle type='html'>Subversion, the source code management system, is growing exponentially. This growth is in part fueled by enterprise adoption. What does an enterprise need in order to implement Subversion?</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://subversionee.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7401846799923654829/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://subversionee.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>SubversionMan</name><uri>http://www.blogger.com/profile/06873247322514342365</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-HHeLiEpYVEc/TbxVyokdFbI/AAAAAAAAABI/-rYKT-Ogjfs/s220/jim_campigli.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7401846799923654829.post-2372584130443742493</id><published>2011-06-15T10:46:00.000-07:00</published><updated>2011-06-15T10:48:38.313-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='free Subversion download'/><category scheme='http://www.blogger.com/atom/ns#' term='wandisco'/><category scheme='http://www.blogger.com/atom/ns#' term='Subversion 1.7'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache Subversion'/><title type='text'>The First Subversion 1.7 Alpha Release is Available Now and The Community Needs Your Feedback</title><content type='html'>&lt;p&gt;The long awaited and highly anticipated release of Subversion 1.7 is  almost upon us.  Like any successful open source project, Subversion  needs active participation and feedback from its user community.      This  is especially true in the case of 1.7,   given its emphasis on  client-side performance and  new client tools.  That's why &lt;a href="http://www.wandisco.com/subversion/download/1_7-alpha"&gt;Subversion 1.7.0 alpha-1&lt;/a&gt; has now been made available for user testing.    Major 1.7 enhancements include:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;HTTPv2- a protocol rewrite designed to enhance performance by  reducing the number of round trips between the client and the server  with every request.&lt;/li&gt;&lt;li&gt;WC-NG - a rewrite of the working copy library that enhances  performance  by centralizing metadata storage and provides a foundation  for supporting features such as shelving and offline commits in future  releases.&lt;/li&gt;&lt;li&gt;svnrdump -  a new client tool that provides the same functionality as  &lt;code&gt;svnadmin dump&lt;/code&gt; and &lt;code&gt;svnadmin load&lt;/code&gt;,   but  on remote repositories.   There's no need for administrator   access to the source or target repository on on the remote server's  filesystem.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;A complete list of what's new is available at  &lt;a href="http://subversion.apache.org/docs/release-notes/1.7.html"&gt;http://subversion.apache.org/docs/release-notes/1.7.html&lt;/a&gt;.  Download 1.7 now at: &lt;a href="http://www.wandisco.com/subversion/download/1_7-alpha"&gt;http://www.wandisco.com/subversion/download/1_7-alpha&lt;/a&gt;.  Contribute to the success of this major new release by providing your feedback at:  &lt;a href="http://www.svnforum.org/forums/56-Apache-Subversion-1.7.0-Alpha-Support"&gt;http://www.svnforum.org/forums/56-Apache-Subversion-1.7.0-Alpha-Support&lt;/a&gt;  .   This is your chance to make a positive impact on the world's most  popular version control system and its more than five million users.&lt;/p&gt; &lt;p&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;WANdisco, Inc - http://www.wandisco.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7401846799923654829-2372584130443742493?l=subversionee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://subversionee.blogspot.com/feeds/2372584130443742493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7401846799923654829&amp;postID=2372584130443742493' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7401846799923654829/posts/default/2372584130443742493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7401846799923654829/posts/default/2372584130443742493'/><link rel='alternate' type='text/html' href='http://subversionee.blogspot.com/2011/06/first-subversion-17-alpha-release-is.html' title='The First Subversion 1.7 Alpha Release is Available Now and The Community Needs Your Feedback'/><author><name>SubversionMan</name><uri>http://www.blogger.com/profile/06873247322514342365</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-HHeLiEpYVEc/TbxVyokdFbI/AAAAAAAAABI/-rYKT-Ogjfs/s220/jim_campigli.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7401846799923654829.post-164581615451154470</id><published>2011-06-02T18:56:00.000-07:00</published><updated>2011-06-03T10:14:16.579-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='free Subversion download'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS X'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache Subversion'/><title type='text'>Support for Mac OS X Added to the World’s Most Comprehensive Set of Fully Tested Free Subversion Binaries</title><content type='html'>&lt;div class="entry-content"&gt;       &lt;p&gt;Certified Subversion 1.6.17 binaries are now available for the  Mac OS X platform.  These binaries work with Mac OS X versions 10.5.x  and 10.6.x on PPC and Intel 32 and 64 bit architectures.  This software  provides a complete, fully tested version of Subversion based on the  most recent stable release, including the latest fixes.&lt;/p&gt; &lt;p&gt;To upgrade to the newest release of Subversion on Mac OS X and take  advantage of the fixes and enhancements that it offers go to:&lt;a href="http://www.wandisco.com/subversion/download"&gt;  &lt;/a&gt;&lt;a href="http://www.wandisco.com/subversion/download"&gt;http://www.wandisco.com/subversion/download&lt;/a&gt;.  You can register for free community support for the software at: &lt;a href="http://www.svnforum.org"&gt;www.svnforum.org&lt;/a&gt;.  &lt;a href="http://www.wandisco.com/subversion/support"&gt;Professional support&lt;/a&gt;  is also available if you require secure, high quality online, phone and  email support with guaranteed response times and automated access to  the latest fixes and updates.&lt;/p&gt;   &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;WANdisco, Inc - http://www.wandisco.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7401846799923654829-164581615451154470?l=subversionee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://subversionee.blogspot.com/feeds/164581615451154470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7401846799923654829&amp;postID=164581615451154470' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7401846799923654829/posts/default/164581615451154470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7401846799923654829/posts/default/164581615451154470'/><link rel='alternate' type='text/html' href='http://subversionee.blogspot.com/2011/06/support-for-mac-os-x-added-to-worlds.html' title='Support for Mac OS X Added to the World’s Most Comprehensive Set of Fully Tested Free Subversion Binaries'/><author><name>SubversionMan</name><uri>http://www.blogger.com/profile/06873247322514342365</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-HHeLiEpYVEc/TbxVyokdFbI/AAAAAAAAABI/-rYKT-Ogjfs/s220/jim_campigli.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7401846799923654829.post-346825192514594404</id><published>2011-06-01T14:45:00.000-07:00</published><updated>2011-06-03T10:31:18.167-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='free Subversion download'/><category scheme='http://www.blogger.com/atom/ns#' term='wandisco'/><category scheme='http://www.blogger.com/atom/ns#' term='Subversion support'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache Subversion'/><title type='text'>Subversion 1.6.17 Now Available</title><content type='html'>&lt;div class="entry-content"&gt;       &lt;p style="text-align: left;"&gt;Subversion 1.6.17 was just released  today.     This newest version provides several key enhancements as well  as bug fixes.     Most notably, 1.6.17 includes major improvements in  checkout performance for large working copies on Windows, greater  efficiency of ‘blame – g’  for users dealing with a large amount of  mergeinfo and improved error handling on Windows.     A detailed list of  the changes included in this new release is available at: &lt;a href="http://svn.apache.org/repos/asf/subversion/tags/1.6.17/CHANGES"&gt;Subversion 1.6.17 Changes&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;Release notes for the entire 1.6.x series can be found at:  &lt;a href="http://subversion.apache.org/docs/release-notes/1.6.html"&gt;http://subversion.apache.org/docs/release-notes/1.6.html&lt;/a&gt;.&lt;p style="text-align: left;"&gt;To upgrade to this latest release of Subversion and take advantage of the fixes and enhancements that it offers go to:  &lt;a href="http://www.wandisco.com/subversion/download"&gt;http://www.wandisco.com/subversion/download&lt;/a&gt;&lt;/p&gt;   &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;WANdisco, Inc - http://www.wandisco.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7401846799923654829-346825192514594404?l=subversionee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://subversionee.blogspot.com/feeds/346825192514594404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7401846799923654829&amp;postID=346825192514594404' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7401846799923654829/posts/default/346825192514594404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7401846799923654829/posts/default/346825192514594404'/><link rel='alternate' type='text/html' href='http://subversionee.blogspot.com/2011/06/subversion-1617-now-available.html' title='Subversion 1.6.17 Now Available'/><author><name>SubversionMan</name><uri>http://www.blogger.com/profile/06873247322514342365</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-HHeLiEpYVEc/TbxVyokdFbI/AAAAAAAAABI/-rYKT-Ogjfs/s220/jim_campigli.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7401846799923654829.post-8861451486043905617</id><published>2011-04-30T11:20:00.000-07:00</published><updated>2011-04-30T18:06:12.547-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='uberSVN'/><category scheme='http://www.blogger.com/atom/ns#' term='free Subversion download'/><category scheme='http://www.blogger.com/atom/ns#' term='wandisco'/><category scheme='http://www.blogger.com/atom/ns#' term='ALM'/><category scheme='http://www.blogger.com/atom/ns#' term='subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='social coding'/><title type='text'>The Next Frontier of Enterprise Software Development: Social Coding For Subversion</title><content type='html'>&lt;!--StartFragment--&gt;  &lt;p class="MsoNormal" style="margin-top:4.5pt;margin-right:0in;margin-bottom:4.5pt; margin-left:0in"&gt;&lt;span class="Apple-style-span"  style="font-family:Arial;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-top:4.5pt;margin-right:0in;margin-bottom:4.5pt; margin-left:0in"&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-GB"  style="font-family:Arial;mso-bidi-font-family:Arial;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-top:4.5pt;margin-right:0in;margin-bottom:4.5pt; margin-left:0in"&gt;&lt;span lang="EN-GB"  style="font-family:Arial;mso-bidi-font-family:Arial;"&gt;WANdisco recently unveiled &lt;a href="http://www.ubersvn.com/"&gt;uberSVN&lt;/a&gt; - a major new product &lt;a href="http://www.ubersvn.com/download"&gt;available free of charge&lt;/a&gt; that transforms Subversion into an open, extensible platform for application lifecycle management (ALM) .&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;In addition to plug-and-play flexibility and rich system and user administration capabilities, &lt;a href="http://www.ubersvn.com/"&gt;uberSVN&lt;/a&gt; provides the first-ever social coding environment for Subversion, taking enterprise software development beyond the limits of email, wikis, defect trackers, peer-code-review-tools and other applications typically used to manage projects.     &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-top:4.5pt;margin-right:0in;margin-bottom:4.5pt; margin-left:0in"&gt;&lt;span lang="EN-GB"  style="font-family:Arial;mso-bidi-font-family:Arial;"&gt;uberSVN’s social coding environment reflects the convergence of social networking paradigms represented by Facebook and Twitter that foster instant communication and the collaborative &lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;development models of open source communities where software with features similar to these social networking sites was first used. &lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;And it’s having the same positive impact on software quality and developer productivity behind corporate firewalls that it’s had in the open source communities that deliver such market-dominating software as the Apache web server, Linux operating system and even Subversion itself. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-top:4.5pt;margin-right:0in;margin-bottom:4.5pt; margin-left:0in"&gt;&lt;span lang="EN-GB"  style="font-family:Arial;mso-bidi-font-family:Arial;"&gt;uberSVN is organized around development teams and their activities. Each team has a home page that profiles the team members, lists the projects they’re working on, repositories they’re using and their latest activity and status. Team members can see each other’s real-time progress by simply subscribing to Twitter-like feeds that managers can also monitor.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-top:4.5pt;margin-right:0in;margin-bottom:4.5pt; margin-left:0in"&gt;&lt;span lang="EN-GB"  style="font-family:Arial;mso-bidi-font-family:Arial;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-top:4.5pt;margin-right:0in;margin-bottom:4.5pt; margin-left:0in"&gt;&lt;span lang="EN-GB"  style="font-family:Arial;mso-bidi-font-family:Arial;"&gt;With uberSVN, just like developers in an open source community, software engineers in corporate IT environments can rapidly exchange information and continually learn from one another.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;The overall skill level of the development team goes up and the all-too-common pitfall of reinventing the wheel is avoided.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;The end result is higher quality software delivered in far less time.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-top:4.5pt;margin-right:0in;margin-bottom:4.5pt; margin-left:0in"&gt;&lt;span lang="EN-GB"  style="font-family:Arial;mso-bidi-font-family:Arial;"&gt;uberSVN is free.  Download it now at: &lt;a href="http://www.ubersvn.com/download"&gt;http://www.ubersvn.com/download&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;  &lt;!--EndFragment--&gt;&lt;div class="blogger-post-footer"&gt;WANdisco, Inc - http://www.wandisco.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7401846799923654829-8861451486043905617?l=subversionee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://subversionee.blogspot.com/feeds/8861451486043905617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7401846799923654829&amp;postID=8861451486043905617' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7401846799923654829/posts/default/8861451486043905617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7401846799923654829/posts/default/8861451486043905617'/><link rel='alternate' type='text/html' href='http://subversionee.blogspot.com/2011/04/next-frontier-of-enterprise-software.html' title='The Next Frontier of Enterprise Software Development: Social Coding For Subversion'/><author><name>SubversionMan</name><uri>http://www.blogger.com/profile/06873247322514342365</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-HHeLiEpYVEc/TbxVyokdFbI/AAAAAAAAABI/-rYKT-Ogjfs/s220/jim_campigli.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7401846799923654829.post-971719451839185195</id><published>2010-02-22T06:42:00.000-08:00</published><updated>2010-02-22T10:59:52.438-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='Subversion clustering'/><category scheme='http://www.blogger.com/atom/ns#' term='multisite'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='replication'/><category scheme='http://www.blogger.com/atom/ns#' term='multi-site'/><category scheme='http://www.blogger.com/atom/ns#' term='svnsync'/><title type='text'>Making Subversion Agile in a Distributed Environment.</title><content type='html'>&lt;!--StartFragment--&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span" style=";font-family:Arial;font-size:11px;"  &gt; &lt;/span&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Agile development is iterative and incremental.&lt;/span&gt;&lt;span style=""&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;It requires continuous build-test-deploy cycles and continuous communication.&lt;/span&gt;&lt;span style=""&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Your SCM, whether it’s Subversion or any other, is the key enabler for communication about the most important aspect of any software development project: the current state of your code.&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:Arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;The biggest challenge to effective agile development in a distributed environment lies in maintaining the same level of communication, the same level of continuous integration and the same level of Subversion repository access that’s possible when everyone works from a single location. &lt;/span&gt;&lt;span style=""&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;While you can partially overcome the effects of distance by putting certain practices into place, the implementation architecture and tools you choose can either help or hurt your efforts to be agile.&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Central Subversion server and proxy server solutions like svnsync often can’t address requirements for high levels of communication and continuous build integration in large distributed organizations because: &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style=""&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:7pt;"  &gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Network latency causes remote developers to check out source code and commit changes infrequently. &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Merge conflicts and other problems aren’t uncovered until later in the development cycle, resulting in broken builds, extra QA and rework.&lt;span class="Apple-style-span"  style="font-size:11px;"&gt;&lt;span class="Apple-style-span"  style="font-size:11px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:7pt;"  &gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;The latest changes aren’t available from remote sites, making continuous build integration impossible.&lt;/span&gt;&lt;span style=""&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family:Arial;"&gt;    &lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Proxy server solutions such as svnsync have the same network latency issues for write transactions that &lt;span class="Apple-style-span"  style="font-size:medium;"&gt;     central server implementations have.  I&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;n addition, if the replication of a write transaction from the master to a read-only slave fails, with svnsync there’s no built-in capability for catching the error and retrying the failed transaction.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span style=""&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; If an IT organization wants the flexibility to allow all of its sites to run builds in parallel so that remote developers aren't dependent on a central build team's schedule and time zone differences, this won't be practical with a proxy server solution if build scripts include write steps that can only take place on the master server.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style=""&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:7pt;"  &gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Agile development requires a high level of availability.&lt;/span&gt;&lt;span style=""&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Central server and proxy server implementations have a single point of failure inherent in their architectures.&lt;/span&gt;&lt;span style=""&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;This limits availability when the central or master server crashes, the network connection is lost, or the server has to be taken offline for maintenance    &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style=""&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:7pt;"  &gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;If development takes place at only one location, with a large enough team, the combination of development activity and continuous build cycles on a central Subversion server can turn it into a performance bottleneck as well as a single point of failure, slowing down both developers and the build team.&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;span class="Apple-style-span"  style="font-size:11px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;In contrast to central server or proxy server solutions, with &lt;a href="http://www.wandisco.com/subversion/multisite/"&gt;Subversion MultiSite’s&lt;/a&gt; peer-to-peer architecture there is no single point of failure, or performance bottleneck.&lt;/span&gt;&lt;span style=""&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Distributed Subversion servers are fully readable and writable at LAN-speed at every location and kept continuously in sync by &lt;a href="http://www.wandisco.com/pdf/WANdisco_DConE_White_Paper.pdf"&gt;WANdisco’s unique active-active replication&lt;/a&gt; capability.&lt;/span&gt;&lt;span style=""&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Each site can perform builds and test locally with the latest source code, regardless of where it originates. In a distributed environment, this provides the support necessary for continuous build integration that detects problems early and keeps software development projects from going over-budget.&lt;/span&gt;&lt;span style=""&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Delays caused by broken builds and scheduling conflicts with a centralized build team go away. &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;In addition, because &lt;a href="http://www.wandisco.com/pdf/WANdisco_DConE_White_Paper.pdf"&gt;WANdisco’s replication technology&lt;/a&gt; turns distributed Subversion repositories into mirrors of each other, continuous hot backup is achieved by default. &lt;a href="http://www.wandisco.com/subversion/multisite/"&gt;Subversion MultiSite&lt;/a&gt; leverages this with automated recovery features that allow one site to recover from any other after a network outage or server crash.&lt;/span&gt;&lt;span style=""&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;These capabilities can also be used to take servers offline for routine maintenance without interrupting user access, making 24-by-7 operation possible. As a result, Subversion MulitiSite delivers a higher level of availability in a globally distributed environment than a central server can with everyone at the same location. Downtime is eliminated and business continuity is insured.    &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;a href="http://www.wandisco.com/subversion/clustering/"&gt;Subversion Clustering&lt;/a&gt; is built on the same replication technology as &lt;a href="http://www.wandisco.com/subversion/multisite/"&gt;Subversion MultiSite&lt;/a&gt; and delivers the same automated recovery capabilities that enable full 24-by-7 operation, with immediate and transparent failover.&lt;/span&gt;&lt;span style=""&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;It allows Subversion to be deployed in an active-active cluster over a LAN and removes the single point of failure and performance bottleneck of a central Subversion server. It provides truly shared nothing clustering.&lt;/span&gt;&lt;span style=""&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;There is no sharing of disk, CPU or memory between servers in a cluster. Intelligent load balancing capabilities optimize performance even further by taking each server’s current load into account before routing requests, rather than relying on simplistic round-robin approaches.&lt;/span&gt;&lt;span style=""&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;a href="http://www.wandisco.com/subversion/clustering/"&gt;Subversion Clustering&lt;/a&gt; is often used to improve Subversion’s performance by spreading the load created by continuous builds across a cluster of servers at large sites.    &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;a href="http://www.wandisco.com/subversion/clustering/"&gt;Subversion Clustering&lt;/a&gt; can be implemented standalone, or in combination with &lt;a href="http://www.wandisco.com/subversion/multisite/"&gt;Subversion MultiSite&lt;/a&gt; to combine local clusters into an active-active WAN cluster that can be monitored and administered from one location. Remote users are routed to the closest site where Subversion servers are available. &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Distributed software development reduces labor costs and provides access to wider talent pools and global markets. Agile development delivers cost-savings by catching problems before unplanned rework and QA leads to missed deadlines, and being flexible enough to allow software to change as fast as user requirements. In order to achieve this, the right processes have to be combined with the right technology to overcome the impact of distance on communication between developers. The bottom line is that when agile development is implemented successfully in a distributed environment, the greatest cost-savings and productivity improvements possible can result.&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;!--EndFragment--&gt;&lt;div class="blogger-post-footer"&gt;WANdisco, Inc - http://www.wandisco.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7401846799923654829-971719451839185195?l=subversionee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://subversionee.blogspot.com/feeds/971719451839185195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7401846799923654829&amp;postID=971719451839185195' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7401846799923654829/posts/default/971719451839185195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7401846799923654829/posts/default/971719451839185195'/><link rel='alternate' type='text/html' href='http://subversionee.blogspot.com/2010/02/making-subversion-agile-in-distributed.html' title='Making Subversion Agile in a Distributed Environment.'/><author><name>SubversionMan</name><uri>http://www.blogger.com/profile/06873247322514342365</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-HHeLiEpYVEc/TbxVyokdFbI/AAAAAAAAABI/-rYKT-Ogjfs/s220/jim_campigli.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7401846799923654829.post-8503258950284982847</id><published>2009-07-28T20:18:00.000-07:00</published><updated>2009-07-29T10:34:32.190-07:00</updated><title type='text'>WebDAV HTTP, or SVN RA?</title><content type='html'>&lt;strong&gt;&lt;br /&gt;&lt;div&gt;&lt;/strong&gt;&lt;/div&gt;The answer to this question isn’t as simple as deciding which protocol is faster. Even WebDAV advocates will usually admit that SVN RA is faster for most operations. In fact, support for a new HTTPv2.0 protocol that removes much of the overhead of the current WebDAV HTTP protocol is planned for Subversion 1.7 out early next year. However, the vast majority of development organizations don’t see the performance differences between the current WebDAV HTTP protocol and SVN RA as noticeable enough to users over a LAN in most cases to overcome the significant advantages WebDAV HTTP offers over SVN RA. The user experience over a WAN may be a different story, but I’ll come to that later.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The key advantages provided by WebDAV HTTP over SVN RA include&lt;/strong&gt;:&lt;br /&gt;&lt;br /&gt;• Web browser access to Subversion repositories through Apache.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;• The ability to leverage the authentication and authorization options offered by Apache including its native LDAP integration.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;• Standardized network encryption (SSL) and certificate handling.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;• Complete logging capabilities that don’t exist using SVN RA with svnserve.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;• Use of a standard port (80) that makes it easy to go through corporate firewalls.&lt;br /&gt;&lt;br /&gt;Subversion started out using WebDAV HTTP with Apache. SVN RA with SSH came along later as a way to make it easier for CVS shops that were using CVS’ pServer protocol with SSH to migrate to Subversion without having to redo their security infrastructure. If you aren’t moving from CVS to Subversion, and have to set up SSH user accounts on the server from scratch, there can be significant effort involved. In addition, SSH introduces performance overhead of its own in comparison to SSL.&lt;br /&gt;&lt;br /&gt;In a globally distributed development organization with remote users accessing a central Subversion repository over a WAN connection, the performance differences between WebDAV HTTP and SVN RA are more noticeable to users, but either way WAN latency will have a big impact on remote developer productivity. HTTPv2.0 is designed to close this gap by removing as many network round trips as possible over a LAN or a WAN between clients and the Apache Web server front-ending Subversion. Network round trips that the current WebDAV HTTP protocol generates due to CHECKOUT requests that happen before each PUT, and unnecessary PROPFIND requests will go away. The ability to pipeline requests and process them in parallel whenever possible are some of the other major changes coming. In addition, much of the handshaking that takes place using the current WebDAV HTTP protocol to establish connections and authenticate users, before they can even access the repository will be gone.&lt;br /&gt;&lt;br /&gt;Yet without a distributed solution for Subversion, the same problems of WAN latency, degraded central server performance as the number of remote users grows, excessive network bandwidth usage due to unnecessary read operations, and availability will still be significant issues that will negatively impact developer productivity. I’ve covered these points in detail in two recent posts:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://subversionee.blogspot.com/2009/05/can-globally-distributed-development.html"&gt;Can Globally distributed Development Really be Supported with a Central Subversion Server? &lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://subversionee.blogspot.com/2009/07/centralized-vs-distributed-debate.html"&gt;The Centralized vs, Distributed Debate Continues.&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://www.wandisco.com/subversion/multisite/"&gt;Subversion MultiSite&lt;/a&gt;, which will support the new HTTPv2.0 protocol when it becomes available with Subversion 1.7 already addresses these same issues over a WAN that HTTPv2.0 will when it comes out, in addition to overcoming the downsides of a central Subversion server implementation that HTTPv2.0 won't address.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.wandisco.com/subversion/multisite/"&gt;Subversion MultiSite &lt;/a&gt;minimizes WAN round trips and network bandwidth usage in three ways:&lt;br /&gt;&lt;br /&gt;1. &lt;a href="http://www.wandisco.com/subversion/multisite/"&gt;Subversion MultiSite &lt;/a&gt;maintains persistent physical connections between repository replicas at each site. This means that the overhead of opening and closing a connection with each request over the WAN (i.e., the 3-way TCP handshake) is eliminated already. &lt;a href="http://www.wandisco.com/subversion/multisite/"&gt;Subversion MultiSite &lt;/a&gt;users don’t have to wait for HTTP v2.0 to address this over the WAN.&lt;br /&gt;&lt;br /&gt;2. &lt;a href="http://www.wandisco.com/subversion/multisite/"&gt;Subversion MultiSite &lt;/a&gt;sends an entire commit, which could include hundreds of HTTP PUTs (one for each file in a commit) over a single connection, rather than opening and closing a connection for each PUT, as WebDAV HTTP would do on its own today.&lt;br /&gt;&lt;br /&gt;3. &lt;a href="http://www.wandisco.com/subversion/multisite/"&gt;Subversion MultiSite &lt;/a&gt;doesn't generate any WAN traffic unless it is absolutely necessary. Developers checkout from their local Subversion repository replica, so there are no remote reads. Only commits and other writes generate WAN traffic.&lt;br /&gt;&lt;br /&gt;The bottom line is that if WAN latency is driving you toward SVN RA, in spite of the major benefits offered by WebDAV, &lt;a href="http://www.wandisco.com/subversion/multisite/"&gt;Subversion MultiSite &lt;/a&gt;makes giving up those benefits unnecessary and allows an IT organization to overcome the other significant challenges presented by globally distributed development.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;WANdisco, Inc - http://www.wandisco.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7401846799923654829-8503258950284982847?l=subversionee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://subversionee.blogspot.com/feeds/8503258950284982847/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7401846799923654829&amp;postID=8503258950284982847' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7401846799923654829/posts/default/8503258950284982847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7401846799923654829/posts/default/8503258950284982847'/><link rel='alternate' type='text/html' href='http://subversionee.blogspot.com/2009/07/webdav-http-or-svn-ra-answer-to-this.html' title='WebDAV HTTP, or SVN RA?'/><author><name>SubversionMan</name><uri>http://www.blogger.com/profile/06873247322514342365</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-HHeLiEpYVEc/TbxVyokdFbI/AAAAAAAAABI/-rYKT-Ogjfs/s220/jim_campigli.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7401846799923654829.post-8542876882064197758</id><published>2009-07-10T16:51:00.000-07:00</published><updated>2009-07-10T17:44:58.322-07:00</updated><title type='text'>The Centralized vs. Distributed Debate Continues</title><content type='html'>After my previous post, “&lt;a href="http://subversionee.blogspot.com/2009/05/can-globally-distributed-development.html"&gt;Can Globally Distributed Development Really be Supported with a Central Subversion Server?&lt;/a&gt; ” CollabNet’s Jack Repenning recently responded with a post of his own: “&lt;a href="http://blogs.open.collab.net/oncollabnet/2009/06/optimizing-globally-distributed-enterprise-source-management.html"&gt;Optimizing Globally Distributed Source Management&lt;/a&gt;”.&lt;br /&gt;&lt;br /&gt;Needless to say, everyone at WANdisco has tremendous respect for Subversion and what the Subversion community has achieved. We’ve built a significant portion of our business around Subversion because of that respect. My post had everything to do with implementation architecture and nothing to do with the quality of Subversion. In fact, it could have been taken and applied to a debate over whether or not to centralize or distribute a database, or any other application.&lt;br /&gt;&lt;br /&gt;And while Jack and I still agree on the list of tradeoffs in the centralized versus distributed debate, including his additional item of enterprise workflow, we still see different outcomes:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;WAN costs&lt;/strong&gt;, in terms of bandwidth and latency in large corporations are not merely a problem of, “…configured “Quality of Service” policies colliding with evolving use patterns which can be reconfigured…” WANdisco’s Fortune Global 1000 customers moved away from relying on a central Subversion server, even though they did control their networks and had ample resources to obtain extra bandwidth. Some of them are even network service providers. The bottom line is that no matter how good the network is, there’s still the unavoidable speed of light problem, which gets compounded by the number of WAN round trips required to complete a transaction. Then there’s always the risk of timeouts with each network hop as data gets transmitted over a WAN. There’s no forward recovery after a timeout, so transactions have to be resubmitted and data can be lost. Finally, if remote users lose their connection to the central server, they have no repository access at all.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Server performance&lt;/strong&gt; can be addressed up to a point by adding more memory, CPU or disk. Some of WANdisco’s customers, including those that actually manufacture servers, did just that, or asked their hosted service provider do it for them as a stopgap. But no increase in the capacity of a central server can get away from the fact that it’s a single point of failure that’s destined to become a performance bottleneck again. Distributing Subversion repositories with the right solution gives IT organizations the ability to balance workload across their development sites and locate data close to users, which by default leads to better performance, scalability and availability (the next item on the list) in a way that no central server implementation can.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Availability &lt;/strong&gt;is ultimately a function of the fail-over and disaster recovery features of an implementation, and since there must be something to restore from, the backup solution. Most large data centers rely on disk mirroring, coupled with backups taken at regular intervals in case the mirrors fail, to provide the data to restore from. There are three challenges with disk mirroring solutions: (1) they’re designed primarily to protect against disk failure, not total server failure, so the application still has to be brought up on another server, (2) some manual intervention is required so the risk of human error leading to data loss and extended downtime is real and (3) they only work over distances covered by a metro-LAN at best, not a WAN.&lt;br /&gt;&lt;br /&gt;Continuous hot backup and automated disaster recovery are included with &lt;a href="http://http//www.wandisco.com/subversion/multisite/"&gt;Subversion MultiSite&lt;/a&gt;, so there’s no need to rely on disk mirroring solutions and incremental backups, or manual procedures of any kind. Servers can even be taken offline for routine maintenance without interrupting user access, making full 24 by 7 operation a reality in a global environment. As soon as a server comes back online it catches up automatically with the other servers.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Enterprise work flow&lt;/strong&gt; in this context refers to the ability to map and selectively replicate groups of Subversion repositories to only those sites where the development teams that use those repositories are located. As projects, teams and locations shift and change the replication map needs to change with them.&lt;br /&gt;&lt;br /&gt;While this can get complicated without the right tools, large enterprises have implemented Subversion MultiSite partly on the basis of its ability to handle selective replication. They didn’t see it as a problem when they moved away from a central server.&lt;br /&gt;One of the key features provided by &lt;a href="http://www.wandisco.com/subversion/multisite/"&gt;Subversion MultiSite&lt;/a&gt; is the ability to administer all sites from a single location. Selective replication is just one facet of this.&lt;div class="blogger-post-footer"&gt;WANdisco, Inc - http://www.wandisco.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7401846799923654829-8542876882064197758?l=subversionee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://subversionee.blogspot.com/feeds/8542876882064197758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7401846799923654829&amp;postID=8542876882064197758' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7401846799923654829/posts/default/8542876882064197758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7401846799923654829/posts/default/8542876882064197758'/><link rel='alternate' type='text/html' href='http://subversionee.blogspot.com/2009/07/centralized-vs-distributed-debate.html' title='The Centralized vs. Distributed Debate Continues'/><author><name>SubversionMan</name><uri>http://www.blogger.com/profile/06873247322514342365</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-HHeLiEpYVEc/TbxVyokdFbI/AAAAAAAAABI/-rYKT-Ogjfs/s220/jim_campigli.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7401846799923654829.post-8245043820839377426</id><published>2009-05-06T17:04:00.000-07:00</published><updated>2009-05-06T18:59:56.652-07:00</updated><title type='text'>Can Globally Distributed Development Really be Supported with a Central Subversion Server?</title><content type='html'>Based on the feedback we’ve received from our customers and prospects, the answer to this question is a resounding no, at least not in a distributed development organization of any size, with a number of users at remote sites.&lt;br /&gt;&lt;br /&gt;There are essentially three major obstacles that distributed development organizations will run into with a central server approach:&lt;br /&gt;&lt;br /&gt;1. WAN Latency.&lt;br /&gt;&lt;br /&gt;WAN latency becomes a problem not only because of increased network traffic as the number of remote users grows, but also due to the fact that every remote request entails a WAN penalty. Even though Subversion clients only send changes to the central server when modifications to existing source code files are committed, when a new source code file is committed, or an existing file is checked out, the entire file is sent over the WAN.&lt;br /&gt;&lt;br /&gt;2. Degradation of the Central Server’s Performance.&lt;br /&gt;&lt;br /&gt;This results not only from the extra load generated by increasing numbers of remote users, but also from read transactions that would otherwise be unnecessary if those users had access to a local copy of the Subversion repository. A frequent pattern that arises with a central Subversion server configuration is that multiple developers at the same remote locations repeatedly perform checkouts, updates and other read operations against the same files.&lt;br /&gt;&lt;br /&gt;These repeated, unnecessary reads use up central server memory and processor capacity, as well as network bandwidth.&lt;br /&gt;&lt;br /&gt;3. Availability.&lt;br /&gt;&lt;br /&gt;The ultimate weakness with a central server approach is its single point of failure architecture, and the impact this has on repository availability. When the network connection is lost, remote users have no repository access at all. Even a transient WAN connection failure between a remote Subversion client and the central server can slow down developers at remote sites if it takes place during a large commit, since the entire commit will have to be resubmitted.&lt;br /&gt;&lt;br /&gt;Obviously, if the server hosting the repository is down for any reason, all users will be impacted, not just those at remote locations, unless a backup is available. Even if a backup server is available, the time involved in bringing it into service can be significant, and, there’s always the risk of data loss and extended periods of downtime due to human error during the recovery&lt;br /&gt;process.&lt;br /&gt;&lt;br /&gt;The arguments typically used in favor of a central server approach are that everyone works from a single consistent copy of the repository, maintenance and administration are only required at one location, and overall control can be implemented more effectively from both a project management and data security perspective. The bottom line for advocates of supporting globally distributed development with a central Subversion server is that these perceived benefits greatly outweigh any gains that might be achieved by distributing Subversion repositories.&lt;br /&gt;&lt;br /&gt;Let’s take each of these arguments and examine their validity in light of the available alternatives.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Single Consistent Copy of the Subversion Repository.&lt;br /&gt;&lt;br /&gt;The first argument that advocates of a central server approach make is that it’s the only way to maintain a single consistent copy of the repository.&lt;br /&gt;&lt;br /&gt;There are a number of master-slave solutions available that provide a partial response to this argument. The most commonly used is svnsync, introduced with Subversion 1.4. While svnsync and the other solutions do offer the advantage of allowing remote site developers to access a local read-only slave mirror of a master Subversion repository, the slaves are only as current as the last instance of replication from the master. The lag time between each instance of replication often leaves developers at remote sites checking out stale versions of source code files. This in turn leads to update conflicts when remote developers perform their commits against the master. This then requires them to perform updates over the WAN against the master to get the latest revision and resolve any conflicts before reattempting their commit. This can negate some of the expected improvements in network performance and developer productivity, because read operations still have to be performed over the WAN. Finally, the master repository represents a single point of failure for write operations.&lt;br /&gt;&lt;br /&gt;In contrast to a master-slave approach, &lt;a href="http://www.wandisco.com/subversion/multisite/"&gt;Subversion MultiSite &lt;/a&gt;relies on a peer-to-peer architecture with no single point of failure. All of the repository replicas are readable and writeable for the entire code base, and consistency across the repositories is guaranteed. In addition, WANdisco’s active-active replication capability allows developers at all locations to work at LAN speed over a WAN for both read and write operations, while at the same time keeping all of the repository replicas continually in sync. In effect Subversion MultiSite delivers one-copy equivalence across a system of distributed Subversion repositories, and provides the same user experience that would be achieved if all of the developers worked at one location over a LAN against a single repository, instead of thousands of miles apart.&lt;br /&gt;&lt;br /&gt;Maintenance and Administration.&lt;br /&gt;&lt;br /&gt;The second major argument in favor of a central repository is that maintenance and administration only have to be performed at one location.&lt;br /&gt;&lt;br /&gt;While this may sound like a major benefit at first glance, for remote developers there can be a significant negative impact if they are separated from the central server site by large time zone differences, and either the network connection or the server goes down during their location’s normal working hours. From the remote site’s perspective, it can take until the next business day to restore access.&lt;br /&gt;&lt;br /&gt;In addition, in a typical Subversion implementation, not only Subversion, but Apache and the operating system have to be maintained as well. It is true that if Subversion repositories are distributed, maintenance, particularly in the area of applying patches and performing upgrades becomes more of a challenge. If it’s handled inconsistently, problem resolution can become incredibly complex, resulting in data loss and extended periods of downtime.&lt;br /&gt;&lt;br /&gt;WANdisco addresses these challenges by making it possible to monitor and administers servers at all sites from a single location. In addition, Subversion MultiSite is now available as a &lt;a href="http://www.wandisco.com/subversion/multisite/appliance/"&gt;virtual software appliance&lt;/a&gt;, with access to an update server. Patches and upgrades can be applied automatically for all of the components of the implementation, including Subversion, Apache, and the operating system at each location, eliminating the risks inherent in performing these tasks manually.&lt;br /&gt;&lt;br /&gt;Backup and Recovery&lt;br /&gt;&lt;br /&gt;Since &lt;a href="http://www.wandisco.com/subversion/highavailability/"&gt;backup and recovery &lt;/a&gt;is such an important aspect of Subversion repository maintenance and administration, I’d like to discuss it briefly here. In an upcoming post, I’ll cover this topic in more detail.&lt;br /&gt;&lt;br /&gt;With a central server approach, backup and recovery solutions typically either rely on disk mirroring, or svnadmin scripts used to copy the repository to a standby backup server. In any event, even if a backup server is available, the lag time involved in bringing it into service can be significant. In addition, there’s always the risk of data loss and extended downtime resulting from human error during the failover and recovery process.&lt;br /&gt;&lt;br /&gt;Although master-slave solutions like svnsync can be used for backup and recovery, if the master goes down, the slaves are likely to be missing data that may be unrecoverable depending upon the nature of the master server failure. The extent of data loss will depend upon the lag time and size of the changes to the master since the last instance of replication.&lt;br /&gt;&lt;br /&gt;The other issue to be aware of is what actually gets replicated to the mirror slave repositories by the tool you’re using. For example, with svnsync, only the versioned repository data gets synchronized. Repository configuration files, user-specified repository path locks, and other items that might live in the physical repository directory but not inside the repository's virtual versioned filesystem are not replicated.&lt;br /&gt;&lt;br /&gt;With &lt;a href="http://http//www.wandisco.com/subversion/multisite/"&gt;Subversion MultiSite&lt;/a&gt;, continuous hot backup is achieved by default as a byproduct of active-active replication and all repository data is replicated. After an outage, recovery from any other site’s server is automatic.&lt;br /&gt;&lt;br /&gt;Overall Control.&lt;br /&gt;&lt;br /&gt;The third major argument used by advocates of a central Subversion server approach is that development projects can be managed more tightly. What happens in practice is often just the opposite.&lt;br /&gt;&lt;br /&gt;Many of our customers report that prior to implementing &lt;a href="http://http//www.wandisco.com/subversion/multisite/"&gt;Subversion MultiSite&lt;/a&gt;, remote developers often held back large commits until the end of the day or end of the week, using WAN latency as an excuse. This made it harder to monitor what everyone was doing on a day-to-day basis, and meant that it took longer to find out that developers didn’t understand the specs they were given. As a result, code was delivered that had to be rewritten and project deadlines were frequently missed.&lt;br /&gt;&lt;br /&gt;In terms of maintaining control from a data security perspective, the goal is to achieve consistent enforcement of security policy across all development sites. When Subversion MultiSite is implemented with &lt;a href="http://www.wandisco.com/subversion/accesscontrol/"&gt;Subversion Access Control&lt;/a&gt;, the security policy configuration is automatically replicated to all sites when it’s initially set up, as are any future changes. This guarantees that access control is enforced consistently at every location. Subversion Access Control also provides audit capabilities that track every user access to the repository and alert administrators whenever access violations occur.&lt;br /&gt;&lt;br /&gt;Data security as it relates to the contents of source code repositories has become a greater concern in recent years as IT organizations began to outsource development work to countries where enforcement of intellectual property rights is relatively weak. In addition Sarbanes-Oxley and other regulations have begun to reach into the IT organization, imposing requirements of their own. In an upcoming post, I’ll cover this topic in more detail and describe&lt;br /&gt;what’s really required to secure the intellectual property stored in souce code repositories in a globally distributed environment.&lt;div class="blogger-post-footer"&gt;WANdisco, Inc - http://www.wandisco.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7401846799923654829-8245043820839377426?l=subversionee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://subversionee.blogspot.com/feeds/8245043820839377426/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7401846799923654829&amp;postID=8245043820839377426' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7401846799923654829/posts/default/8245043820839377426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7401846799923654829/posts/default/8245043820839377426'/><link rel='alternate' type='text/html' href='http://subversionee.blogspot.com/2009/05/can-globally-distributed-development.html' title='Can Globally Distributed Development Really be Supported with a Central Subversion Server?'/><author><name>SubversionMan</name><uri>http://www.blogger.com/profile/06873247322514342365</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-HHeLiEpYVEc/TbxVyokdFbI/AAAAAAAAABI/-rYKT-Ogjfs/s220/jim_campigli.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7401846799923654829.post-5380546135958965169</id><published>2009-03-31T13:13:00.000-07:00</published><updated>2009-03-31T22:07:55.412-07:00</updated><title type='text'>Why Deliver Subversion MultiSite as a Software Appliance?</title><content type='html'>&lt;div&gt;Why Deliver &lt;a href="http://www.wandisco.com/subversion/multisite"&gt;Subversion MultiSite&lt;/a&gt; as a &lt;a href="http://www.wandisco.com/subversion/appliance"&gt;Software Appliance&lt;/a&gt;?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The answer to this question is that software appliances reduce the cost and complexity of installation, deployment and maintenance to an extent that no other delivery model can. For this reason our customers have readily embraced it. Indeed, many of them have already implemented other enterprise applications as software appliances.&lt;br /&gt;&lt;br /&gt;To understand why the software appliance approach makes such a significant difference, I’ll start by looking at the challenges posed by the other major implementation alternatives: traditional behind the firewall, and hosted software as a service (SaaS). I’ll then explain how the software appliance approach overcomes them, without sacrificing functionality or performance.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Traditional Behind the Firewall Implementations&lt;br /&gt;&lt;br /&gt;When IT organizations implement applications, they’re faced with a number of challenges. First of all, there’s the overhead of performing routine maintenance, including manually applying patches and performing upgrades, maintaining system availability and dealing with backup and recovery. Third party components around the enterprise application add to this complexity. For example, in the case of operating systems there are literally hundreds of Linux distributions or distros as they’re called, as well as various flavors of UNIX. When the application is part of a software stack consisting of multiple components such as web servers, or databases and your staff has varying degrees of skill with these components, the potential for human error goes up dramatically.  If patches are applied incorrectly to any of the components, problem resolution can become incredibly complex and  lead to extended periods of downtime.  &lt;br /&gt;&lt;br /&gt;In the case of ISVs, their own development cycles can become longer, since they face many of the same challenges as their customers. In addition, it’s unrealistic to expect software vendors to QA every new release of their products on every platform, particularly when the solution is part of a stack dependent on other components. Software vendors are effectively forced to choose specific platforms to make their products available on, in order to avoid being faced with an unmanageable QA and support burden. The downside for the software vendor is that this has the effect of limiting the size of their potential market. In addition, the support burden can still be high, even when a customer implements on a supported platform, if any of the components are installed and configured incorrectly, or a patch gets applied incorrectly. If these issues crop up during an evaluation, the result can be a longer sales cycle at best, or a lost opportunity at worst.&lt;br /&gt;&lt;br /&gt;Software as a Service (SaaS)&lt;br /&gt;&lt;br /&gt;As an alternative to in-house behind the firewall implementations, many IT organizations have turned to hosted software as a service (SaaS) solutions. SaaS offers the benefit of immediate deployment. It also leaves the maintenance and support burden primarily in the hands of the solution provider.&lt;br /&gt;&lt;br /&gt;However, many IT organizations don’t feel that the SaaS model is the best fit for some of their enterprise applications. This may include applications that require modification because of unique business processes, or applications that require integration with in-house legacy systems.&lt;br /&gt;&lt;br /&gt;This had led some vendors to introduce a hybrid model that combines the hosted SaaS approach with application delivery as a software appliance. WANdisco will soon be announcing a partnership with Amazon to leverage their EC2 service to offer this hybrid model for our enterprise enabled Subversion solutions, including Subversion MultiSite, Subversion High Availability, and Subversion Clustering. This will give our customers a full range of deployment options.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Software Appliance&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If the goal is to achieve the zero latency deployment and cost savings of SaaS, while at the same time maintaining the control, security and flexibility of behind the firewall implementations, the software appliance is the way to go.&lt;br /&gt;A software appliance is a software application combined with just enough operating system (JeOS), a stripped down version of Linux designed to meet just the needs of the specific application, so that it can run optimally on industry standard hardware, or in a virtual machine. The result is that environmental dependencies are virtually eliminated. In the case of the Subversion MultiSite Software Appliance in particular, this has the effect of reducing installation and deployment across multiple locations to a matter of minutes. In addition, maintenance is made even simpler by the fact that access to an update server is provided so that updates are applied automatically to all sites where the appliance has been deployed, virtually eliminating any room for human error.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The one area of concern some critics point to in the case of the software appliance delivery model is performance.  With the Subversion MultiSite Software Appliance there are no tradeoffs in performance or scalability. In fact, performance is often superior and scalability is much easier to achieve.&lt;br /&gt;&lt;br /&gt;In the case of performance, with a virtual software appliance all of the components, including the operating system, are configured for the specific application and virtual machine environment. rPath’s JeOS, (Just Enough Operating System) takes the existing general purpose Linux OS, strips it down, and tunes it specifically to meet the requirements of the Subversion MultiSite Software Appliance and the supported VM that it’s installed on. This optimized OS, with its smaller footprint consumes fewer resources, and delivers superior performance than deployment under a traditional fat OS designed to run on multiple pieces of hardware and support a broad range of applications. The rPath team that built and now provides support for JeOS is uniquely qualified in this area, as it consists of Linux experts from the original brain trust that developed Red Hat Linux, Red Hat Enterprise Linux and founded the Fedora project.&lt;br /&gt;&lt;br /&gt;In terms of the other components, the Subversion MultiSite Software Appliance includes an Apache Web server that has been preconfigured for optimal performance with Subversion MultiSite only. In many IT organizations that implement the standard Subversion MultiSite solution, the Apache Web server is often configured to support a number of applications, not just Subversion.&lt;br /&gt;&lt;br /&gt;Recent developments are also making the overhead imposed by the extra layer of software introduced by the hypervisor a non-issue. For example, VMware’s &lt;a href="http://www.vmware.com/technology/virtual-datacenter-os/infrastructure.html%20"&gt; vServices&lt;/a&gt; that provide direct access to the hardware infrastructure via device drivers. The applications receive services from JeOS, and JeOS communicates directly with the device drivers. Hardware manufacturers have also been implementing virtualization specific technologies to enhance performance for several years now. These improvements have taken virtualization to the point where any overhead it introduces may be completely submerged by limitations in network, storage or memory subsystems. In fact, some new virtualization solutions are even able to overcome memory and processor constraints built into many applications, delivering superior performance to what would be possible with a physical server implementation.&lt;br /&gt;&lt;br /&gt;In the area of scalability, when additional system resources are needed to support increased user and transaction loads, traditional implementations can be more difficult to scale because the OS is closely tied in with the hardware. Virtual software appliances like the Subversion MultiSite Software Appliance can easily be moved to faster machines, even on the fly, using tools such as VMware’s &lt;a href="http://www.vmware.com/products/vi/vc/vmotion.html"&gt;vMotion&lt;/a&gt; and similar offerings from other vendors.&lt;br /&gt;&lt;br /&gt;&lt;div style="width: 425px; text-align: left;" id="__ss_1204790"&gt;&lt;a style="margin: 12px 0pt 3px; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; display: block; text-decoration: underline;" href="http://www.slideshare.net/wandisco/subversion-mutlisite-appliance?type=presentation" title="Subversion MultiSite Appliance"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="width:425px;text-align:left" id="__ss_1204790"&gt;&lt;a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/wandisco/subversion-mutlisite-appliance?type=presentation" title="Subversion MultiSite Appliance"&gt;Subversion MultiSite Appliance&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=wandiscoappliancev5-090326142230-phpapp01&amp;rel=0&amp;stripped_title=subversion-mutlisite-appliance" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=wandiscoappliancev5-090326142230-phpapp01&amp;rel=0&amp;stripped_title=subversion-mutlisite-appliance" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"&gt;View more &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/wandisco"&gt;WANdisco&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;WANdisco, Inc - http://www.wandisco.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7401846799923654829-5380546135958965169?l=subversionee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://subversionee.blogspot.com/feeds/5380546135958965169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7401846799923654829&amp;postID=5380546135958965169' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7401846799923654829/posts/default/5380546135958965169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7401846799923654829/posts/default/5380546135958965169'/><link rel='alternate' type='text/html' href='http://subversionee.blogspot.com/2009/03/why-deliver-subversion-multisite-as.html' title='Why Deliver Subversion MultiSite as a Software Appliance?'/><author><name>SubversionMan</name><uri>http://www.blogger.com/profile/06873247322514342365</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-HHeLiEpYVEc/TbxVyokdFbI/AAAAAAAAABI/-rYKT-Ogjfs/s220/jim_campigli.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7401846799923654829.post-8402283175838089962</id><published>2008-06-09T22:18:00.000-07:00</published><updated>2008-06-10T12:09:28.447-07:00</updated><title type='text'>Multi-site Development and the Write-Thru Proxy</title><content type='html'>With Subversion 1.5, along with other notable new features such as built-in merge tracking, the WebDAV write-thru proxy will be introduced to simplify use of svnsync for Subversion deployments based around Apache 2.2.x.&lt;br /&gt;&lt;br /&gt;Prior to Subversion 1.5, users had to manually redirect their client to the master server whenever they executed a commit or other write transaction using the “svn switch -- relocate” command. The WebDAV write-thru proxy will now detect when a commit or other write command has been issued by a client connected to a slave repository. It will then automatically redirect the client to the master server. This should make life somewhat easier for end users, and help prevent unintended writes against slave repositories from leading to split-brain scenarios that can be difficult to recover from.&lt;br /&gt;&lt;br /&gt;However, the WebDAV write-thru proxy leaves svnsync’s master-slave architecture  unchanged. While svnsync does offer the advantage of local reads, eliminating WAN traffic that would otherwise take place between a remote client and a central Subversion server, writes only happen on the master. Thus, the master repository can become a single point of failure for write transactions. In addition, the lag time between each instance of master repository replication can result in users at remote sites checking out stale copies of source code files from their local slave. This in turn can lead to update conflicts when changes are committed against the master. If the replication process fails due to network outages or server crashes, there are no built-in recovery capabilities.&lt;br /&gt;&lt;br /&gt;In contrast, WANdisco’s Subversion MultiSite turns every Subversion repository into a peer of every other, and every repository is readable as well as writeable for the entire code base. Replication is triggered automatically when a write operation is done at any location, and transactional consistency is guaranteed across all of the repositories. Self-healing capabilities are provided to automate the recovery process after a network outage or server crash, and prevent any data loss.&lt;br /&gt;&lt;br /&gt;Although both svnsync and Subversion MultiSite support the WebDAV HTTP protocol, Subversion MultiSite only uses this protocol over a LAN. WANdisco’s own optimized protocol is used over a WAN on top of TCP/IP. The result is that commits consisting of hundreds of files are sent in a single pass during replication with Subversion MultiSite, rather than one-by-one as a series of HTTP PUTS, as is the case with svnsync. This enables Subversion MultiSite to deliver a significant performance boost over a wide area network.&lt;br /&gt;&lt;br /&gt;With svnsync, user information, including access privileges must be maintained consistently across all of the servers, and there are no built-in features to support this. When WANdisco’s Subversion Access Control solution is implemented with Subversion MultiSite, the security configuration is replicated automatically when it’s initially set up, as are any changes, insuring consistency across all of the servers.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To learn more check out: &lt;a href="http://www.wandisco.com/subversion/multisite"&gt;Subversion MultiSite. &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;WANdisco, Inc - http://www.wandisco.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7401846799923654829-8402283175838089962?l=subversionee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://subversionee.blogspot.com/feeds/8402283175838089962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7401846799923654829&amp;postID=8402283175838089962' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7401846799923654829/posts/default/8402283175838089962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7401846799923654829/posts/default/8402283175838089962'/><link rel='alternate' type='text/html' href='http://subversionee.blogspot.com/2008/06/multi-site-development-and-write-thru.html' title='Multi-site Development and the Write-Thru Proxy'/><author><name>SubversionMan</name><uri>http://www.blogger.com/profile/06873247322514342365</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-HHeLiEpYVEc/TbxVyokdFbI/AAAAAAAAABI/-rYKT-Ogjfs/s220/jim_campigli.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7401846799923654829.post-5908372629285935686</id><published>2007-08-05T15:46:00.000-07:00</published><updated>2007-08-06T09:00:03.461-07:00</updated><title type='text'>Get the WAN Out of the Way</title><content type='html'>Virtually every approach to globally distributed multi-site development &lt;br /&gt;using Subversion leaves the WAN in the way of developer productivity. In this post, I’ll explain why this is the case, and how it can be dealt with.&lt;br /&gt;&lt;br /&gt;The WAN performance that developers experience results from a combination of two factors:  (1) the number of WAN round trip times required to complete a write operation between a Subversion client and a master server, and (2) the available throughput on the network. &lt;br /&gt; I’ll focus on write operations over the WAN such as commits, since there are master-slave solutions like svnsync that allow developers to do checkouts, updates and other read operations locally, without generating WAN traffic.  However, read operations over the WAN may still be required with master- slave solutions like svnsync.  To understand why this is the case, see my earlier post, “Keeping Multiple Subversion Repositories in Sync.”&lt;br /&gt;&lt;br /&gt;Let’s examine the first factor impacting WAN performance, the number of WAN round trips.  With each Subversion commit using the SVN RA protocol (Subversion without Apache) up to six WAN round trips will take place between a remote developer’s Subversion client and the master Subversion server.  These WAN round trips are required to open the connection, authenticate the user, and write the commit to the master server.  This introduces some minimal latency, typically on the order of 2 to 3 seconds over a WAN.  If Subversion is implemented with Apache using the WebDAV HTTP protocol, &lt;br /&gt;4 WAN round trips will be incurred for each file in the commit, since each file will get transferred with its own separate HTTP put.  With a large number of files in a commit, several minutes of wait time can be incurred over a WAN.&lt;br /&gt;&lt;br /&gt;However, the real impact on developer productivity comes from the second factor, the amount of time required to transmit data at WAN-speed, based on the available throughput on the network.  For example, consider a commit consisting of 500MB of data sent over a WAN from India to the US.  Given that the typical E-1 line used between the US and India operates at approximately 2 megabits per second, it should take 2000 seconds, or a little over 33 minutes to transfer 500 MB.  This assumes an absolute best-case scenario in which there’s no competition with other network traffic at the same time, and everything goes smoothly without any connection loss or communication error between the client and the remote master server.    &lt;br /&gt;&lt;br /&gt;What if a remote site developer’s commits could be processed at LAN-speed, instead of WAN-speed? Given that most LANs operate at one gigabit per second, it should take about four seconds to transfer 500MB of data between the Subversion client and the server over a LAN.  Instead of waiting over 33 minutes under the best of circumstances, remote site developers would see their commits complete in four seconds!  Developers would check in their changes more frequently, rather than waiting until the end of the day, or end of the week as they would have done in the past, due to the pain of poor network performance.&lt;br /&gt;&lt;br /&gt;In addition, what if the distributed Subversion servers were kept in sync in real-time over the WAN?   The 33 minutes saved would be just the tip of the iceberg.  If  developers across all sites had access to the latest source code without having to wait for a master server to be copied to their local read-only servers, then update conflicts and other problems could be fixed as soon as they were found.  It would also be possible to achieve real-time collaboration between distributed development teams instead of having them work in silos.  As a result, less time would be spent on QA and rework, and a significant amount of time and cost would be squeezed out of the development cycle.&lt;br /&gt;&lt;br /&gt;WANdisco, with its &lt;a href="http://www.wandisco.com/php/product_detail.php?lname=subversion"&gt;unique active-active replication capabilities&lt;/a&gt;, allows all of this to be accomplished.  WANdisco delivers LAN-speed performance for both read and write operations, while keeping distributed Subversion repositories in sync in real-time.   WANdisco gets the WAN out of the way, so that all of the productivity improvements and cost-savings that IT organizations are seeking from globally distributed development can be achieved.&lt;div class="blogger-post-footer"&gt;WANdisco, Inc - http://www.wandisco.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7401846799923654829-5908372629285935686?l=subversionee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://subversionee.blogspot.com/feeds/5908372629285935686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7401846799923654829&amp;postID=5908372629285935686' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7401846799923654829/posts/default/5908372629285935686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7401846799923654829/posts/default/5908372629285935686'/><link rel='alternate' type='text/html' href='http://subversionee.blogspot.com/2007/08/get-wan-out-of-way.html' title='Get the WAN Out of the Way'/><author><name>SubversionMan</name><uri>http://www.blogger.com/profile/06873247322514342365</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-HHeLiEpYVEc/TbxVyokdFbI/AAAAAAAAABI/-rYKT-Ogjfs/s220/jim_campigli.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7401846799923654829.post-3475273709749881807</id><published>2007-04-10T14:20:00.000-07:00</published><updated>2007-04-19T16:27:01.123-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wandisco'/><category scheme='http://www.blogger.com/atom/ns#' term='subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='svk'/><category scheme='http://www.blogger.com/atom/ns#' term='svnsync'/><title type='text'>Keeping Multiple Subversion Repositories in Sync</title><content type='html'>&lt;span class="postbody"&gt;With &lt;a href="http://subversion.tigris.org"&gt;Subversion 1.4&lt;/a&gt;, &lt;a href="http://subversion.tigris.org/svn_1.4_releasenotes.html"&gt;svnsync&lt;/a&gt; was introduced for this purpose. The key problem with using svnsync for multiple Subversion repositories distributed over the WAN is its reliance on a master-slave architecture. While svnsync does provide the advantage of having local read-only repositories at each of the remote development sites, only the master repository is writeable. The master repository is then replicated to the read only slaves. However, the replication process can place a significant load on the network and servers. Because of this, replication tends to happen on an infrequent basis, leaving the read-only slave repositories that remote sites do their checkouts from out of sync with the master much of the time. As a result, commit failures due to update conflicts on the master repository can become a problem. In order to avoid commit failures, developers at the slave repository sites have to do updates over the WAN against the master Subversion repository before doing their commits. This can negate most of the expected network performance and developer productivity benefits of using svnsync in a distributed development environment.&lt;br /&gt;&lt;br /&gt;Other solutions such as &lt;a href="http://svk.bestpractical.com/view/HomePage"&gt;svk&lt;/a&gt; do allow multiple repositories to be readable as well as writeable, but there are no guarantees of consistency across the repositories. A commit can succeed on a developer’s local repository where there are no conflicts, and fail when it’s copied to other sites’ repositories due to update conflicts. This can make administration extremely difficult.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.wandisco.com"&gt;WANdisco&lt;/a&gt; solves these problems by turning distributed Subversion repositories into peers. All of the repositories are writeable, and consistency across the repositories is guaranteed. &lt;a href="http://www.wandisco.com"&gt;WANdisco&lt;/a&gt;’s active-active replication capabilities allow developers to work at LAN speed over the WAN for both read and write operations, while keeping all of the repositories in sync, in effect in real-time. WANdisco also provides self-healing capabilities that automate disaster recovery after a network outage or server failure.&lt;br /&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;WANdisco, Inc - http://www.wandisco.com&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7401846799923654829-3475273709749881807?l=subversionee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://subversionee.blogspot.com/feeds/3475273709749881807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7401846799923654829&amp;postID=3475273709749881807' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7401846799923654829/posts/default/3475273709749881807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7401846799923654829/posts/default/3475273709749881807'/><link rel='alternate' type='text/html' href='http://subversionee.blogspot.com/2007/04/keeping-multiple-subversion.html' title='Keeping Multiple Subversion Repositories in Sync'/><author><name>SubversionMan</name><uri>http://www.blogger.com/profile/06873247322514342365</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-HHeLiEpYVEc/TbxVyokdFbI/AAAAAAAAABI/-rYKT-Ogjfs/s220/jim_campigli.gif'/></author><thr:total>9</thr:total></entry></feed>
