5 ms·
Video: Tom Preston-Werner & Github's Architecture
- mojombo 16y agoIf you have any questions about our infrastructure that were not addressed in the video, I'll be happy to answer them here!
- rubyrescue 16y agoOne thing - if you're outsourcing to a third party (not rackspace) for sysadmin, it would be much cheaper to just use a colo with 'bare metal' machines you order yourself - so why do you use rackspace?
- mojombo 16y agoWe're a bootstrapped company and the initial capital outlay for servers would be a serious investment at this stage. Rackspace gives us access to hardware on-demand at monthly prices that fit our budget. In addition, we have a partnership deal with RS that gives us a discount on hardware. As we continue to grow, any of these criteria may change, at which point we will re-evaluate the situation.
- cmelbye 16y agoDo you have plans to open source Haystack at some point? It sounds very interesting.
- mojombo 16y agoWe've had discussions about selling Haystack licenses before, but that requires a fair amount of work to get it in shape to do so. It's possible we will open source it someday instead. Nothing has been decided at this point.
- cmelbye 16y agoOh, okay. Do you think you could share some specifics of it at some point (in a blog post like your architecture posts perhaps) so that open source clones could be made?
- kingkilr 16y agoSo pretty technical question about the svn support. It's my understanding that the way svn does certain operations basically requires massive responses, and svn doesn't support chunked responses; how do you guys not blow up on RAM serving those?
- schacon 16y agowe do basically just build up the response in memory (using a Rack::Response object), but the largest response is generally the size of the latest checkout, which is rarely very big, and only has to be there for a few seconds. if it becomes a problem, we can figure out how to buffer it differently pretty easily by replacing the rack response object we're using, but i doubt it will come to that.
- rubyrescue 16y agoI like the last point - "if you are building a server, either don't use Ruby or use EventMachine" Perfect timing, I'm giving a ten-minute talk on BERT and Ernie tonight at the Buenos Aires Ruby Meetup, this is a good reference to point people to.