tags:

views:

823

answers:

7

What are the advantages and disadvantages of self-hosting something like a svn repository? All links and ideas are appreciated.

Off the top of my head:

Advantages of Self-hosting

  • Flexibility. On my own machine I can install whatever I want. If I would like to use a vcs like Bazaar and use Loggerhead instead of Trac, then right now there isn't really much choice beyond Launchpad, which has its warts
  • Save money. Costs add up over time especially for large teams
  • The free plans offered by sites like Assembla are not private. Anybody can have access to your code

Advantages of Paid hosting (ie: GitHub, Assembla, Google Code)

  • Robustness. You don't need to worry about your server catching fire because it's become somebody else's problem.
  • Less hassle. Don't need to be do all the system administration and tweaking of conf files. Instead you can just focus on the coding
+1  A: 

I find the web interface of external hosts to be hassles. Plus you can have however much space you want on your machine. Like you said, the maintenance can be a burden for self hosting though.

Cory Walker
+6  A: 

For production you should only use self hosting if you are professional sys admin. Can you answer yes to following questions (a bit linux oriented, but you should get an idea):

  • Can you react to system failure in minutes (I mean you need sleep at least. Do you have somebody to look after system while you are asleep?)
  • Can you spot a system break?
  • Can you remove exploits from your system?
  • Can you recompile kernel. If you can't remove exploits?
  • Can you configure the system for optimal performance?
  • Are you willing to pay for UPS, backup storage and alternative internet provider?

If you can answer yes to these questions benefits are very atractive and I would go with it.

On the other hand hosting development environment can be managed by administrator of any level especially when there are such easy to use servers like Ubuntu.

Sergej Andrejev
In terms of production vs. development, what does this mean in the context of source code hosting?
Jess Bowers
+1  A: 

How big is your project? If it is not too big just get an account at http://www.beanstalkapp.com That is what I did. I do not have to worry about any setups and can focus on the actual development. If your situation is more complex self-hosting is worth considering. But keep in mind that you would have to take of backups too and that an update of the server screw a lot of things up.

Christian Stade-Schuldt
+1  A: 

This ties into the server catching fire, but one key advantage of external hosting is that it's (presumably) backed up automatically. Doing your own backups is a hassle, and ends up being less reliable than what you'd get from Google.

DNS
+1  A: 

With self-hosting there comes great responsibility.

  • you have to backup everything
  • you need spareparts for your hardware
  • if you have stuff that is important you need redundant hardware
  • you don't have real holidays. if something breaks you have to fix it
Zoran Zaric
+3  A: 

You specifically asked about hosting a subversion repository, so the first disadvantage that comes to mind is data protection. I personally would never trust a third-party with my source code, except for open source code or code of an unimportant side project. Source code is a very important asset for a ISV, so trusting a third-party to protect your source code doesn't sound like a good idea.

And even if it's not about source code, outsourcing other critical parts of you business such as email, accounting/invoicing* is just asking for trouble. And it's not like you don't have to care about backups anymore when you outsource your data hosting. You still should backup your data, in case the hosting company screws up.

*) With outsourcing accounting/invoicing I mean all those new hosted invoicing apps, not getting help from an accountant of course

Dennis G.
I see this argument all the time on /., but I don't think it holds much water. Money is a very important asset as well, but you wouldn't want to keep gold bullions in the basement of your business.
Calvin
Considering that companies are leaking/losing data all the time (think credit card numbers, customer lists etc), I think it's very reasonable not to trust a third-party company with protecting your source code. Comparing this to a bank protecting your money is kinda silly.
Dennis G.
+1  A: 

In addition to what others have already mentioned, there are also benefits specific to using cloud services by companies like Amazon, Yahoo, Google, Microsoft, etc. Despite what some might claim, self-hosting is not inherently "safer." In most cases, it's quite the opposite actually. This is because most small-to-medium-sized companies do not have the resources to provide the level of reliability and redundancy that mega-corporations like Microsoft or Amazon can. Unless you are hosting source code for a top-secret defense project or other projects where the threat of espionage is very real, the greatest threats to your code and your business are more mundane things like server/network downtime.

  • Redundancy: Cloud services provide levels of redundancy that most businesses simply cannot obtain on their own. This includes data redundancy (back-ups/RAID), hardware redundancy (components/equipment), and geographical redundancy (multiple server locations across the globe). If a natural disaster hits your city, is your data going to be safe?
  • Multi-tenancy: Each small business by itself cannot afford 24/7 support staff and multi-million dollar equipment. But pooling their resources together through a Cloud service affords them (through centralization and better resource utilization/higher efficiency) access to a much higher level of service.
  • Security: Related to multi-tenancy, by centralizing the data of thousands of businesses, this allows security resources to be much more tightly focused.

Lastly, it should be noted that most commercial hosting providers offer co-location and dedicated hosting. And even cloud service providers allow customers to configure their "server" however they want, and installing/running whatever applications on it they want. So you can have a great deal more freedom than that offered by $10/month web hosting.

Calvin