Git as a Service

Git MultiSite Solves Availability and Management Challenges

As an enterprise SCM administrator you’re a service provider to development organizations.  You may even have a formal Service Level Agreement (SLA) that identifies the allowed mean time between failures (MTBF) and mean time to recovery (MTTR) among other metrics. In layman’s terms, development teams expect their SCM system to be secure, highly available, and high-speed. So how do you provide Git as a service to a global development team?

Availability

First, you need to ensure availability:

  • Data integrity. How do you safeguard against potential data corruption?

  • Outages. How do you prevent downtime and meet your SLA requirements for MTBF and MTTR?

  • Performance. How do you scale up the Git service to handle more users, more sites, and more build automation?

Active-active replication provides a unique solution for each of these concerns. Each replicated peer node in an active-active deployment has a full copy of repository data, and each node periodically validates itself to detect any corruption. If one of the nodes falls out of sync due to subtle data corruption on its file system, you’ll see a warning in the Git MultiSite administration console.

Similarly, an active-active deployment provides failover out of the box. Git users can simply start using another node as their Git remote in the event of failure, or a load balancer can transparently redirect them to another node. This built-in failover provides a zero down time solution, yielding an excellent MTBF and MTTR.

Simple HA/DR Configuration.  Note that all five nodes in this example are replicated peers; marking them as ‘HA’ or ‘DR’ nodes is simply by convention

Simple HA/DR Configuration. Note that all five nodes in this example are replicated peers; marking them as ‘HA’ or ‘DR’ nodes is simply by convention

Finally, additional read-only nodes can be added to the deployment to service build automation, while end user traffic can be handled by adding more writable nodes. Every commit is done locally, and depending on your deployment configuration, data may never have to transfer over a WAN for the commit to complete. If you are supporting users at multiple locations with servers in several data centers, you’ll appreciate the performance and flexibility that active-active replication provides.

Supporting Users in Multiple Data Centers with Flexible Replication Groups. In this example, replication groups support granular replication to different sites based on repository type and security.

Supporting Users in Multiple Data Centers with Flexible Replication Groups. In this example, replication groups support granular replication to different sites based on repository type and security.

 

Security

Next, you need to be concerned about the security of your data. This includes:

  • Access control

  • Security of data in transit

  • Security of data at rest

  • Controlling where and how Git repositories are used

Once again, Git MultiSite covers all the bases. Git MultiSite works with WANdisco’s own access control product, and also interfaces with leading third party solutions like Gitolite. It works with secure Git transmission protocols like HTTPS and SSH, and because it is a pure Git solution with no closed back-end storage, it is compatible with disk encryption mechanisms.

Git MultiSite also offers selective replication to control where and how your repositories are accessed. Flexible replication groups can be configured to limit where sensitive repositories are replicated, and can designate read-only nodes. If you need to push a subset of your repositories to a public cloud for deployment purposes, it’s as simple as setting up a new replication group.

 

Read-only nodes used to serve deployment repositories

Read-only nodes used to serve deployment repositories

Management

Just like any other IT service, Git repositories and servers must be managed properly. You’ll need proper reporting, auditing, and administration tools.

Git MultiSite’s administration console is your entry point to a comprehensive solution. In the console you can see the status of every node and repository, define their replication behavior, and induct new servers and repositories as they become available. More detailed deployment metrics can be obtained by sending information from Git MultiSite into a collation tool like Graphite; the REST API provides a useful integration point.

 

Git MultiSite Global Management

Git MultiSite Global Management

 

Auditing can be accomplished in several ways. Git MultiSite’s logs contain a rich history of how the deployment is configured, and normal system logs (e.g. from Apache or SSHD) provide another layer of information.

 

Enterprise Git

The short answer to all of these concerns is that you need Git to be an enterprise software solution, just like your databases, email servers, and other critical infrastructure. WANdisco provides the total package. Git MultiSite solves the availability, security, and management challenges of Git, and is backed by WANdisco’s Git support and services offerings. Eventually you’ll need to pick up the phone and get help quickly for a problem, and WANdisco has a team of experts ready to help.

Contact us for a free Git MultiSite trial and get started on your way to providing an outstanding Git service to your development organization.

0 Responses to “Git as a Service”


  • No Comments

Leave a Reply