Reddit has now been down for 30+ hours (reddit.com)
For the first time ever the admins have pushed a hand curated content (where did they get that one from?) to the top.
Seems to be like the community is well past the state of being angry when the site gets back up. They will be so glad that it is back at all. Need more donations Conde Nast?
48 comments
[ 3.4 ms ] story [ 109 ms ] threadEdit: Wierd, got downvoted. I do think this is related to the topic, so the failure of Amazon can have a domino effect, say, AWS fails -> Reddit fails -> HN sluggish/struggling -> ... Some times I really question the resilience of the social networks, as most of them may not be designed to handle 2x or 10x more load.
I know I did.
Seems to be like the community is well past the state of being angry when the site gets back up. They will be so glad that it is back at all. Need more donations Conde Nast?
They're letting back in members slowly, with Reddit Gold members having a larger chance of being allowed in: http://www.reddit.com/r/reddit.com/comments/gv63r/nobody_can... . Be sure to read the comments by jedberg, one of the reddit staff.
Edit: Now the top of reddit says:
>UPDATE: We are slowly getting our capacity back and as such allowing a random subsets of redditors access to the site as we increase capacity. Please check back soon, as you may be able to log in if you are lucky. Thanks!
Link: http://www.reddit.com/r/reddit.com/comments/gv6pg/only_reddi...
The three metrics mentioned so far all have issues, but I think I like yours the least.
Gold - "Thanks for helping fund the site. Hopefully your dollars will let us hire folks that will ensure this doesn't happen again." Age - "Thanks for sticking by our little site through all of our outages. We know you've had to put up with a lot, but we appreciate it." Karma - "Thanks for all the cats. We love cats."
I realize that I'm lumping a lot of users who post great informative content in with the "better drink my own piss" image macro crowd, but karma just doesn't seem like the best metric here.
It's also harder to come up with a good threshold for karma. Where do you draw the line? 10k karma? 100k? Are we only including comment karma or submission karma? Both?
At least the Gold members have, in general, unambiguously contributed to the site. I don't have a problem using that as the primary metric here.
(I should note that I'm a reddit plebeian in this regard. I have no golden dog in this fight.)
Just a straight refund, or...?
/me patiently waiting for it to come back up so that I can buy some for next week... :(
Engineers of reddit, take some initiative. Move off aws. I dont care how hard it is, look at the outages you've suffered. Look at the problems you've had. Havent you figured it out yet? Get some physical hardware with rackspace and sort it out.
Please understand this comment is not meant to attack anyone but I am frustrated with people shifting blame and not taking responsibility. If your down 30 hours then you have failed.
edit: JonnieCache mentioned Conde Naste will not let them hire more people. Obviously we know where the fault lies then.
Yeah, I imagine the situation is more complicated than that, but look into some of the reddit blogposts and some of the admins comments on here for more details. There was a lot of stuff in the big 'AWS is down' thread about it, something about CN giving them an unlimited operating budget but a tiny, non negotiable hiring budget. God knows.
We don't know what's going on so I think it's a bit unfair to speculate.
But is there any evidence that Reddit is profitable? Would having a more stable platform honestly have much of an impact on that? Server issues aside, they seem to be doing pretty well in terms of page views and user acquisition.
They're an organization in flux, and when you're in that state, the priority is survival.
I don't really see how you can have a functional DR plan for a site the size of Reddit with fewer than 10 people.
Of course, I've never been involved with keeping a site the size of Reddit operational, and I suspect the number of people required to do the kind of migration you're suggesting is an obvious choice would require Reddit to at least quadruple their staff.
I guess they could do it now, but odds are they would end up having to put Reddit in read-only mode for a week to do a proper migration with as tiny a staff as they have. And it's not clear that just throwing dedicated hardware at the problem would solve it.
You can definitely have a good plan, and be able to execute on that plan, with fewer people. I was lucky enough to work in a team that was running the search backend for a big internet company. Tens of thousands of machines, constant code, config and data pushes, configuration management, os images, kernel, etc. The team was responsible for developing and running the tools needed to keep the site up even when a whole datacenter lost power and you had to shift load from one coast to the other. The size of that team was much lower than 10 people.
Obviously Reddit will have to invest in both infrastructure and human resources to get there, but it can be done.
Does the size of their site matter? Perhaps. Does it require 10 engineers to get a DR strategy going and be able to implement it? No. If you clearly plan this ahead of time, if all the pieces are in place then no it will not take that many. If I was to take into account multiple pieces of infrastructure it could still be done. DR is not about getting the exact same infrastructure up. Its about keeping the business running, its about staying alive and in those situations usually you try the minimal that will get you there. Do I really need my back end reporting and emailing systems when shit hits the fan? No. Messages will queue up and when those systems come online later they'll take care of it.
Am I simplifying it? Perhaps so lets take an example.
In your current infrastructure you've got 100 servers, you got a couple load balancers, 40 webservers, 30-40 app servers and 20 database servers. Load balancers a dummy HA thing where something like haproxy, nginx, keepalived, lvs or something else runs, the second one is just the backup that takes over when the first dies. Those are static configs that dont take much to get up and running somewhere else. 40 webservers. So in my place of work each webserver is identical and any one of those can go down without affecting the other. Usually thats varnish, nginx, apache or something of the like in the front end maybe proxying off to rails apps, php or python. Each server has no dependency except on the database. Got some mid caching layer like memcached? Ok well you'd have one per webserver in a cluster and those things drop in and out with ease. App servers follow suit if you know how to build systems that are not tightly coupled and deal with asynchronous requests. Alot of it comes down to queues and message passing. Obviously there are some inter dependencies which you cant help and if you can solve some of it with intermediary haproxy balancing then great. So far I feel like all of these things can easily be setup on servers anywhere else and code can be frequently updated.
The real complexity is in data stores. I assume in companies with more than 20 machines they may have chosen multiple datastores for different purposes so it doesnt all live in one place. Yes that adds to the difficulty of things but you have to break things down and work on each one at a time. If you're smart you'll have used something that can be replicated, has multi master or is clustered in most cases you dont even have to worry about it because almost every popular datastore these days have those capabilities. Lets look at mysql. Most of the time people go with basic master slave replication and move to master with multiple slaves so you can offload reads. If you're replicating within the one place then theres no reason you cant replicate offsite to your warm standby. If you do maintain that offsite slave then you've got an upto the minute copy of your database in the event of catastrophic failure. Now thats one database down, wha...
They simply don't have the manpower to do that.
I agree with your overall point that having a business continuity plan is required. They should be able to answer questions like how do we minimize impact when we lose one cassandra node or two, ebs gets corrupted, a whole avail-zone disappears, etc. I'm just saying that AWS provides the building blocks for you to do that.
ANY provider is going to have issues, the AWS actually gives you a bunch of nice options to easily handle those. I'm not saying that everyone should use Amazon, but don't take Reddits issues (I'm not familiar enough with their architecture to know where the fault really lies) to be the only data point for AWS reliability.
It's amazing how much has been done with it's development given how little they have to work with.