Choosing Git hosting service

download Choosing Git hosting service

If you can't read please download the document

description

This presentation can guide you how to decide with Git hosting service to use whether it will be on-premise solution or cloud-based solution.

Transcript of Choosing Git hosting service

  • 1. GIT HOSTING SERVICE guidelines for choosing the right oneYoram Michaeli [email protected] 2014

2. Congratulation!!! You've already made a major decision which is: working with GIT. You need now to decide: where to host the GIT repositories for the collaboration within your organization (and with others if needed)? Tip: moving from one hosting service to another is usually not a big issue, so this is not such a 'big deal' if you'll have the wrong decision. Still, it is better to make the right one. 2 3. There is no one solution that fits all organizations - each organization have different factors to consider while making that decision. 3 4. The main question to answer in most cases - is: should we host the GIT repositories locally on our servers or should we use a cloud-based hosting service. 4 5. For answering this question, you should basically consider those factors: Security Private or public (or both)? One client site or more? Will IT handle it? Performance Integration with other services Cost 5 6. Security Moving to a cloud-based service is still a big issue for many organizations, considering: Data security when hosted on the cloud. Network traffic security. Tip: in many cases, the data is more secure when hosted in the cloud-based service than behind your local firewall. 6 7. Private or public (or both)? Most organizations wants to keep the code private. Still, some code - in the open-source world - is public. In order to be able to publish the code you need it to be accessible from the web maintaining a public repository on a local server is not an easy and secure task. 7 8. One client site or more? Many organizations has more than one site where the users are located and should access the code. You can solve this issue using the VPN solution, firewall-rules/features or by putting the repositories in a cloud-based service. 8 9. Will IT handle it? Hosting a GIT repositories locally requires IT to: Handle Linux servers (can be an issue in many Windows-based organizations). Maintain the service (backup, installations/upgrades, troubleshooting, storage, hardware & network issues, etc.). 9 10. Performance GIT is considered to be much faster and reliable than other source-control systems. Still: Big repositories can be an issue for a slow network infrastructure. Some local solutions has bad performance. Slow intranet can cause bad performance. Using the wrong hardware for the hosted GIT service can be an issue as well. 10 11. Integration with other services GIT repositories usually integrate with other services such as CI-servers, issue-tracking service, and more. For good integration you should consider: Are those services hosted locally or on the cloud? How deep is that integration? Can that integration be solved for a mix of cloud-based and local services? Tip: sometimes you should consider moving the other services (from the could to a local server or the other way around) instead of deciding the location of GIT according to the other services location. 11 12. Cost The cost is a key factor for the discussed decision: Hosting GIT repositories locally requires hardware, human-resources and knowledge Some on-premise GIT-hosting solutions are expensive. Same goes for few cloud-based GIT-hosting solutions as well. 12 13. The following slides contains introduction and a comparison between some cloud-based GIT hosting services and between some on-premise solutions. Please be noticed that: Not all available solutions included:- There are other options such as Gitolite, GitWeb with Gerrit and more. - I've chose only services that includes features as such: pull/merge request, code-web-viewer and more beside the basic GIT repositories hosting feature.- Hosting services for open-source-only repositories are not covered here.Those services are being updated all the time. 13 14. Cloud-based GIT hosting services14 15. GitHub (cloud hosting service) GitHub is the largest code host available (more than 10 million repositories). Fair prices (see: https://github.com/pricing). Many features (see: https://github.com/features). Highly reliable (see: https://status.github.com/). Supports both private and public repositories. Support many programming languages. Special client-applications for Mac and Windows 15 16. Assembla Assembla is a large code hosting service (more than 1 million users). Fair prices (see: https://www.assembla.com/plans). Unlimited private repositories number.Many features (see: https://www.assembla.com/features?page=repositories#features). Supports only private repositories. Built in issue-tracking, task management and projects management. 16 17. BitBucket BitBucket is a large code hosting service. Fair prices (see: https://bitbucket.org/plans). Unlimited private repositories number.Many features (see: https://bitbucket.org/features). Supports both private and public repositories. Highly reliable (see: http://status.bitbucket.org/). Native integration with other Atlassian services (Jira, etc.). Provides the best (free) Mac and Windows client SourceTree that works with any Git hosting service. 17 18. Beanstalk Beanstalk is a large code hosting service. Fair prices (see: http://beanstalkapp.com/pricing). Many features (see: http://beanstalkapp.com/features ). Supports only private repositories. Fairly reliable (see: http://status.beanstalkapp.com/) 18 19. Cloud-based GIT hosting - comparison Hosting serviceGitHubPrivate repositories+Public repositories+BitBucketBeanstalk++++Fair pricesAssembla+Pons.Limitation on repos. number+Install base Known as the most advanced tool out thereCons.++Unlimited # of private repo.++Native integration with Atlassian services Install baseLimitation on repos. number19 20. On-premise GIT hosting solutions20 21. GitHub enterpriseGitHub enterprise on-premise is a fully featured service based on the advanced GitHub cloud-based hosting service. It is expensive and based on number of users (see: https://enterprise.github.com/pricing).21 22. GitLab GitLab is a free of charge (there is an option for a yearly support package) on-premise GIT hosting service. GitLab has a large community. GitLab runs only on Ubuntu and is ruby-based. GitLab includes all the common features (merge requests, code browsing, commits and branches tracking, etc.) 22 23. Stash Stash is Atlassian on-premise GIT hosting service. Stash has native integration with other Atlassian services (Jira, etc.). Stash is expensive prices based on users number (see: https://www.atlassian.com/software/stash/pricing). Stash is fully featured (see: https://www.atlassian.com/software/stash#whystash) Stash have an extendable API and Event mechanism 23 24. GitoriousGitorious is a free of charge on-premise GIT hosting service. Gitorious includes many common features (merge requests, code browsing, commits and branches tracking, etc.) 24 25. On-premise GIT hosting - comparison Hosting serviceGitHub enterpriseFree of chargeGitLabStash+High prices+++Common features+ +++Unlimited # of private repo.Gitorious+++APIPros.GitHub-based featuresInstall base, CommunityNative integration with Atlassian services, Extendable APICons.PricePerformancePrice 25 26. Bottom line, when selecting a GIT hosting service you should decide whether to host the service locally or use the cloud-based service and consider it according to: Security Private or public (or both)? One client site or more? Can and will IT handle it? Performance Integration with other services Cost Features 26