Git is an open-source, distributed version control system that can be used with a variety of source code hosting solutions. Which Git hosting provider you choose depends on several factors including how your team collaborates, what your technical needs are, and how much of the infrastructure maintenance you want to take on. This article takes a look at what factors to consider when evaluating Git hosting solutions for your team.

Collaboration features

A Git server can be so much more than a view into your code repository. Most solutions include a variety of features to help your team collaborate, such as:

  • Agile project management tools: Templates and integrations across products that are tailored for teams using Agile development, including features to plan, organize, and work through your backlog using Scrum or Kanban.
  • Visual backlogs: Card walls and visual project planners give teams a way to visualize what work is in progress, quickly update status, and identify bottlenecks and risks.
  • Issue tracking: Source control integrated with issue tracking makes traceability easy and includes a rich history of what changes were made, when, and by whom.
  • Review workflows: Check-in and merge rules ensure proper reviews and signoffs are completed before code is released to testing and production.
  • Wikis: A centralized knowledge base of best practices and team processes allows teams to onboard quickly and share knowledge. A wiki format encourages frequent edits to keep your documentation up to date.

Scalability

When choosing a Git hosting solution, it’s important to consider what the future might look like for your product and what that would mean in terms of scale. Do you expect your team or company to grow significantly? Then finding a platform that can accommodate additional users with minimal disruptions to your project is important. Will your storage needs change over time? If you are working on a project that will add large file assets later in development, be sure to choose a hosting solution that can dynamically scale to meet your needs while still staying within your budget and other requirements.

Pricing

The two main pricing models are subscription-based and usage-based. Usually, you can start with a free trial, which may last a certain amount of time or until the number of users passes a certain threshold. After that, the most common model is a cost per user per month, which may include additional fees for extra storage, data transfers, or advanced security. A usage-based model might include charges based on the number of compute hours used or the amount and type of storage needed. Sometimes there are additional flat monthly fees for features like Copilot.

If you prefer predictable monthly expenses, consider the subscription model. If your usage fluctuates or if you prefer paying for resources based on actual consumption, a usage-based model could be more suitable.

Git Cloud hosting vs On-Premises

Cloud hosting has several benefits, including lower upfront cost, lower human cost, and greater flexibility and scalability. On-premise hosting requires investments in hardware and infrastructure in addition to people to set up and maintain the hardware and software long term. The role of ensuring security and uptime also falls to these in-house teams. 

On the other hand, cloud hosting shifts much of the security and operational SLAs to the cloud service provider, which means you can maintain a smaller DevOps team focused on the operations critical to your specific needs. Cloud hosting also allows teams to rapidly scale up and down while an on-prem setup would require purchasing and deploying new hardware that cannot be returned if you need to scale back down later.

Self-Hosted vs Managed Git Hosting

To save even more time and resources you can leverage a Git hosting provider. In addition to the cloud benefits mentioned above, managed cloud hosting further reduces your operational costs by moving all operations, security, data loss prevention, and scalability work to a hosting provider. You won’t need a DevOps team in house and will be able to focus more of your human resources on creating great products. Leveraging an experienced DevOps team for outsourcing your Git hosting is often a quicker way to ensure project success and save money in the long run.

Compliance requirements

Compliance is a critical component of software development today and choosing a Git hosting solution that supports the compliance requirements for your project is important. Not all compliance standards apply to all projects – you’ll need to understand what data your project is processing and storing and then evaluate if it applies to any of the current compliance standards. Here are examples of common standards:

  • GDPR: The General Data Protection Regulation (GDPR) is a privacy and security law in the European Union that gives people visibility into how their personal data is being collected, used, and stored and gives them the ability to request deletion of personal data.
  • HIPAA: The Health Insurance Portability and Accountability Act of 1996 (HIPAA) is a U.S. federal law that created standards for privacy and security of patient health information.
  • NIST SSDF: The Secure Software Development Framework (SSDF) was created by the U.S. National Institute of Standards and Technology (NIST) to outline software security and development best practices.
  • PCI DSS: The Payment Card Industry (PCI) Data Security Standard (DSS) is a security standard for handling credit card information and payments.
  • SOC 2 Type II: The System and Organizations Control (SOC) is a collection of audits a company can have done to verify compliance with customer data across five areas: data security, availability, integrity, confidentiality, and privacy.

Security features

There are several security features you’ll want to look for in a Git server to ensure your codebase is protected – from outside attacks and from internal mistakes. Having a dedicated, single-tenant environment is a more secure option than sharing a tenant with other companies. Within your instance you can further secure your repo by using branch protection and granular user permissions to restrict user access further. These features enable individuals assigned to specific project components to perform only the tasks necessary for their role.

Branch protection rules can also enforce code reviews, status checks, signed commits, and other quality control mechanisms to prevent the introduction of security bugs into your main branches. Many Git hosting solutions will also have built-in code scanning that automatically scans for security vulnerabilities and for keys, tokens, and passwords stored in code files. Finally, you should also evaluate your backup and disaster recovery scenarios to make sure the Git hosting solution you choose will meet all of your needs without too much overhead or manual effort.

Git Hosting on Assembla

Git hosting through Assembla comes with Perforce or Subversion to enable end-to-end workflows across cross-functional teams. Perforce Cloud and Assembla Cloud are designed for teams of 1-100 users using a shared multi-tenant environment. For teams of over 100 users, Perforce Enterprise and Assembla Enterprise offer fully managed, single-tenant hosting with custom data residency and tailored configurations. Both plans offer predictable, subscription-based billing. For more details on the features of each plan, see our Pricing page.

If you’re ready to begin hosting your Git repositories on Assembla, go here to start a free 14 day trial of Assembla. Our team would love to talk with you about how our solutions can meet your development needs.