Tag Archive for 'multisite'

Page 2 of 2

Subversion MultiSite Enables Agility For the Distributed Enterprise

The Agile methodology has become a wildly popular approach for software development with close to 50% of development teams using at least some agile techniques based on different surveys. The responsibility of an agile team is to deliver value in the software they are creating and meet the criteria or objectives that determine success for the project and a common set of development “best practices” have arisen that are crossdisciplinary. Adopting these best practices can be especially challenging for collaborating agile teams that are distributed or have distributed members.

The Agile principles state that successive short development cycles, popularly referred to as rapid iterations, be used to develop software quickly in little bits (pun ;)) at a time. Different methodologies have arisen from the Agile principles like Scrum, XP, TDD, Crystal and others which define activities and process for agile teams. The process gets into the specific details for each discipline but agile teams enjoy a great amount of freedom for self organization as well as self definition which as a result teams may borrow one aspect of another methodology to apply to their own agile approach. Popular examples of this are the XP User Story or and the Scrum Backlog.

The common principles mixed together with the common practice of borrowing the best aspects of each discipline has helped popularize a set of software development best practices. These are practices which are good for any software development team but the popularity and nature of agile software development has led these practices to be commonly associated with agile specifically. Here is a list of the more common agile best practices:

  • Rapid Iteration
  • Continuous Integration
  • Parallel Development
  • Frequent Commits
  • Automated Testing
  • Code Review
  • Refactoring

If you are an enterprise considering a large scale adoption of agile software development practices then there are a number of challenges that you may be facing. Scaling Scrum is well documented in Ken Schwabers book “The Enterprise and Scrum” and he has special sections dedicated to the problems of distributed teams, distributed members and the scarce skills problem (eg: one DBA shared by many teams). Ken handles the issues associated with the organization and daily routine for Agile Scrum adopters, but what about the technical challenges especially those associated with the best practices I listed? This is an area where the value added services offered by WANdisco enter the conversation.

Using Subversion Multisite and Apache Subversion will enable teams to fully adopt an Agile practice like Scrum on an enterprise scale, especially where distributed teams or members are concerned. Here is how.

  1. Subversion Multisite instantly synchronizes development changes between locations. This means that distributed teams always work against a local source code repository, without which frequent commits, continuous integration, code reviews and parallel development might not be possible at all or at best will be severely hindered if users are required to connect across the internet to access the source code repository (for read or write activities)
  2. Multisite also supports local clustering option, an enterprise that sets up two or three load balanced Subversion servers will better handle the increased traffic from frequent commits and especially from continuous integration where automated tests and builds are being performed continuously and using up a lot of server resources.
  3. Multisite leads to improved team communication, imagine a tester working in Los Angeles getting the latest build locally almost immediately after a task is committed in New York (again locally). When each site has access to a complete replicated copy of the source code repository many things are possible and the usual downtime related to downloading a new build off a remote server or uploading a set of new changes to a remote server can be entirely eliminated.

An enterprise that is considering or has already adopted agile practices will also want to adopt the software best practices. Given the nature of agile development and rapid iterations adopting these best practices are critical and with Subversion Multisite many of the technical challenges facing distributed teams can be easily solved. There are of course other benefits to Multisite such as built in disaster recovery, guaranteed uptime that will also interest any enterprise and the value offered to Agile teams will be indispensable especially as the Agile usage scales upwards.

Intro to Subversion Access Control 4.1

Big plans are brewing at WANdisco for 2012, and one project that has just been completed, is Subversion Access Control 4.1.

Access Control 4.1 includes a revamped user interface. The new look makes it easier for users to navigate through the security features offered by Access Control and setup new rules and permissions for Subversion repositories and paths.

The ‘Group’ concept has been replaced with “Teams’ and a new feature has been added to allow the designation of “Team Leader” who is then granted some administrator privileges. Specifically, the Team Leader is able to setup user access rules to a pre-defined repository path (or paths).

We are calling this new feature Delegated Admin since it allows granting of some administrator privileges to users. The context of how this feature could be used might be best described in terms of business units for an enterprise corporation. Consider the following scenario.

A company has 100 Apache Subversion users split into 10 teams, each associated with a separate BU, each team has its own Subversion repository. In the past, Access Control admin can go in and setup repository security rules that applies to all 100 users and repositories. With delegated admin the Access Control administration can create 10 new Teams and assign a Team Leader to each one, specifying the Repository that team should have access to. From there, the Team Leader can log into the system, add/remove the users for the team, and setup multiple rules needed to properly manage those Subversion assets.

Effectively what delegated admin does is allow Team Leaders, people in charge of their respective Business Units, to define and configure their own team rules. Access Control supports the concept of nested-teams which is called Sub-Teams (see screenshot) and this would even allow you to further organize teams from larger sections into multiple sub-sections (eg: West Coast Branch –> Plugins Team; West Coast Branch –> Application Team) and designate a team leader at each level to manage users and rules.

The role of the Access Control administrator now is to simply define Team Leaders and the resources which they can direct access over. Once defined the Team Leader can only create rules that affect their resources meaning the West Coast Branch won’t be able to setup access rules for the East Coast Branch’s repositories and vice-versa.

The ability to delegate some administrator functionality to Team Leaders, and in the context of specific Subversion paths and repositories, is a powerful new feature that will empower enterprise organizations and save time and money. Team Leaders are able to set access restrictions based on the need and requirements of their given team or business unit and no longer have to rely on a single administrator to do that for them.

WANdisco Updates Subversion Access Control

We’re pleased to announce a substantial update to our complete authorization, audit and access control solution for Enterprise Subversion, Subversion Access Control.

Subversion Access Control 4.1 is an innovative security solution for Apache Subversion that provides full audit, authorization and access control capabilities that go well beyond what Subversion offers on its own. Some of the key benefits to employing Access Control include:

  • Delegated administration option that allows the root administrator to create teams and delegate administration authority to team leaders.
  • Automatic synchronization of Subversion Access Control with LDAP user and group configuration. Subversion Access Control automatically picks up LDAP user and group membership changes and assigns new users to the Subversion team that corresponds to their LDAP group.
  • Comprehensive audit capabilities that report every repository access attempt down to the file level, showing user, Subversion command, date and time and whether access was allowed or denied. Security administrators receive immediate alerts for any access violations.
  • Can be implemented standalone or in combination with Subversion MultiSite 4.1 for distributed development teams. With Subversion MultiSite, security policy changes made at one location are immediately replicated to every other to enforce consistency across all sites.

Subversion Access Control 4.1 is a substantial update for the product, not only adding a list of new functionality, but completely overhauling the underlying access model. The access control lists previously required to maintain complex security policies, have been replaced by an all-new, streamlined approach that applies access rules to hierarchical teams. For more information on what’s new and noteworthy in this update, see the Release Notes.

WANdisco will be hosting a free hour-long ‘Introducing Subversion Access Control 4.1’ webinar on April 12th. Early registration is recommended, as space is limited.

Total Economic Impact of Subversion MultiSite

It’s been ten years since the Agile Manifesto was published, and Agile is still a buzzword for the software industry, but Subversion’s single point of failure can be a problem for distributed teams looking to implement agile practices. Subversion MultiSite combines Subversion with WANdisco’s value-added features, which are particularly useful for keeping distributed teams agile. Crucially, Subversion MultiSite removes the potential bottleneck of Subversion’s single point of failure. With Subversion MultiSite, all repositories and fully readable and writeable, and remote developers aren’t dependent on a centralized build team.

Other key benefits of Subversion MultiSite include:

  • Automatic failover – individual servers or an entire site can be taken offline for planned outages, without interrupting user access. Of course, this automatic failover also applies to unplanned outages.
  • Built-in, automatic and continuous hot backup – as each server is a mirror of every other, and they are kept continuously in sync, recovery is automatic. As soon as the failed server comes back online, Subversion MultiSite retrieves all the transactions committed to the other servers in the Subversion cluster, during the outage. Whenever a server, or an entire site fails, users won’t notice and administrators won’t have to do anything – failover is truly transparent.
  • Ability to run builds at every site immediately – eliminates time wasted while waiting for a build to happen in a different time zone.
  • LAN speed performance – users at every location experience LAN-speed performance for both read and write operations.
  • Synchronization of all servers in a cluster – whether they’re located over a LAN or a WAN. This is achieved by replicating changes made against one server, to all the other servers, in real-time.
  • No additional hardware required – Subversion MultiSite is typically installed on the same server as Subversion or Apache, at each site.
  • Eliminates the need for disk mirroring solutions – no administrator intervention is required to achieve recovery.
  • Allows distributed systems to scale to support new sites/users – new nodes can be added to a distributed system, or existing nodes can be removed without interrupting the operation of the remaining nodes.

But, what is the actual economic impact and potential return on investment, for enterprises deploying Subversion MultiSite? Our latest report, illustrates the financial impact on a company employing Subversion MultiSite to replicate distributed Subversion servers. The report looks at the idle time saved, changes in bug fix rate, and the general benefits the company experienced from deploying Subversion MultiSite. The report employs the four fundamental elements of TEI in evaluating Subversion MultiSite:

1) Costs and cost reduction.
2) Benefits to the entire organization.
3) Flexibility.
4) Risk.