GitHub Down with a 503
status.github.com
status.github.com
How do you know when that point is? Is there even data out there on how frequently big providers go down? (Not just Github, but stuff like aws, etc)
Generally, you don't care if GitHub [or your inhouse equivalent] is down when no one is working. Also, if it goes down in the middle of the night and the first guy in fixes it...the difference between 1 man hour down in the morning vs. 20 man hours during the day across an entire team is significant.
There are very valid reasons for both choices.
It is fortunate, then, that all GitHub customers are in the same timezone!
It might not be affordable for daily works, but perfect for critical issues.
Your question is too vague. Github is up enough that I don't care. However, it's down enough I wouldn't want to not be able to deploy because it's down. Therefore, I may mirror my repo somewhere else. That's easy because git is decentralized. It's a lot cheaper than running some alternative that I guarantee is always running. You can do this by simply pushing to a mirrored remote branch.
If you're just interested in the subject, research high availability.
(theoretically, if I could cache every repo I visit using squid-proxy, even if github has an hour downtime I can still access the repo's I visited in the past, not perfect, but it's something!)
BTW the official standing on dependencies in Go is to actually fork all deps you need, possibly using submodules or even vendorizing by adding src/* to your project VCS.
Let's see who the Saturday team is!
per docs at https://github.com/bower/bower oh....
As for the docs, it is somewhat crazy to think how much documentation is hosted by GitHub these days...
Even if they were only updated every 24 hours and had a limited history for each repo, it still seems like it would be a really useful fallback that they could put up when things like this happen.
I still have the tab opened now, saying "All systems operational"...
I've personally wondered about their stack but I imagine that has little to do with that--mostly Ruby though right?
"github.com is currently unreachable. We are investigating mysql cluster issues."
https://gist.github.com/kyledrake/e6046644115f185f7af0
More info:
http://www.theverge.com/policy/2014/5/9/5699510/web-hosting-...
Github's not only Git. Lots of services integrate with Github. Stuff like continuous integration, continuous deployment. If your system is built on those things, Github being down will prevent you from deploying.
What's the alternative, replicate everything in-house/self hosted? Should startup stop using third party service providers?
I continue to post comments like that because while I love GitHub, watching the community put all their eggs in GitHub's basket, especially when GitHub lives on top of a tool designed to avoid SPoFs, is concerning.
While I agree with the general gist of your comment, GitHub was entirely self-funded up until about a year ago or so. they didn't "get" funding, they made real money and reinvested it and grew.
You're saying it as if it were a bad thing.
Erm... Yes? You write that as if hosting your own repository is somehow a foolish or implausible thing to do.
Should startup stop using third party service providers?
Stop? Maybe, maybe not, it obviously depends on the circumstances.
Stop relying on them without a back-up plan? Absolutely. If you can't run your essential systems without GitHub, or any other third party system that isn't under your direct control, then you need better contingency planning.
Third-party services being in the critical path for applying code to systems is a recipe for outages and other trauma. If it impacts you enough to come to HN and leave the comment I replied to, you're doing it wrong -- there had absolutely better be a failsafe that does not involve GitHub and Travis in your architecture.
Do you really run an operation where you have soldered together all of your servers, created a data center inside your headquarters, within which you run all of your mission critical CI/testing/deployment services? Because unless you're one of a handful of tech companies, you didn't need to do that. If you still did I'd like to know why you did that, because in an era where even the CIA relies on third parties to accomplish mission critical tasks it doesn't seem to make a whole lot of sense.
And that trauma you are talking about - it doesn't happen. Not rarely, not ever. For years. Tonight I only happened to see that GitHub was down because I was looking at HN anyway.
The contrary. You represent the handful that didn't, and the "handful" of tech companies you suggest is much larger than you think.
Based on this comment and the recent reply in this thread I can tell you've mostly worked with small-scale architectures. Third party tooling and workflows do make a lot of sense at a small scale, but the point at which you outgrow those solutions comes a lot sooner than you think. When I arrived at Foursquare the entire operation was on Amazon; when I left a year and a half later, much of it was on physical equipment. And Foursquare is not a Google-scale operation -- virtualization and customer cotenancy just have a serious impact on SLA that is less pronounced at smaller scales.
It's easy to think your experiences represent the industry, as your comments suggest. It's also easy to think HN represents the industry, where startups reign supreme and everybody loves working Lean Devops. The fact is, neither of those statements are accurate, and beyond a six (or maybe seven) figure architecture you start having a harder time justifying third parties financially and operationally.
I do use Amazon currently, just as an off-site backup for on-site monitoring that I've built. That's common.
I'd still like to see an actual cost breakdown, because to me hiring a full-time staff of 5 or 10 people to run such an infrastructure, at $80,000/year or more a pop, seems like it could quickly get just as expensive or more expensive than outsourcing those costs to another organization.
There has to be some reason Netflix is able to justify placing their entire high bandwidth streaming operation on AWS, a third party that relies on full virtualization.
Github's uptime is good enough that I don't see anything inherently awful about a workflow that makes development difficult when Github is down, but any production deployment process that strictly requires anything beyond a working internet connection and a working server to deploy to is insane.
The days of isolating yourself from third parties are over be cause it really doesn't make sense to spend a bunch of man hours setting up and maintaining an infrastructure that GitHub - with the rare exception of tonight - specializes in and has an entire staff dedicated to keeping up and running. Third parties have become mission critical because they save money and time and are generally reliable.
If Travis CI or GitHub stop working I can do a number of things if I really need to deploy - for instance, push to production anyway, which, btw, is also hosted on a third party hosting provider. If several large services start falling like dominoes at once we have bigger problems than just whether my service is running.