News for hackers. Stuff that matters.
Re:Coding Horror and blogs.stackoverflow.com experience "100... by nkohari on Friday December 11, 2009 @03:16PM (#990365)
To be fair, Atwood thought his hosting provider (CrystalTech) was backing up his system. As it turns out, their entire VM backup solution failed silently, so everyone thought the backups were being made.

If anything, I'd say this is a sign not to work with CrystalTech.

Re:Coding Horror and blogs.stackoverflow.com experience "100... by InclinedPlane on Friday December 11, 2009 @06:37PM (#990786)
Also to be fair the backup process Atwood uses for Stack Overflow proper (et al) appears to be much more robust (regular offsite backups, etc.)

The failures in this case appear to be:

1. Not taking the robustness of his blogs seriously enough (a LOT of people make this mistake, especially with their own content).

2. Being overly trusting of the procedures of his hosting provider. He thought he could trust his hosting provider's "backups" since they are a big company with lots of customers and he paid money for said backups, turns out he got ripped off.

3. Forgetting the maxim that you have to own your core competencies, and existence should always be a core competency.

Re:Coding Horror and blogs.stackoverflow.com experience "100... by pvg on Friday December 11, 2009 @06:02PM (#990724)
It doesn't seem to be particularly fair to the hosting provider, really, to put their name on the failpage and to tweet about how it's half their fault. Especially after you've advocated redundant backups, implied that you have them, written about the advantages of hosting your images on S3. When a mishap reveals that you've actually done none of these things, it is more than a little disingenuous to try to emphasize your hosting provider's relatively minor role in making you look foolish.
Re:Coding Horror and blogs.stackoverflow.com experience "100... by akkartik on Friday December 11, 2009 @09:03PM (#990995)
Relatively minor?! They failed to do what they said they would. They destroyed data and borked up the backups.

If it wasn't Jeff Atwood but me, would it be more their fault? Or would I just be less disingenuous?

Nobody's calling them names, or threatening to take business elsewhere or anything. But it's good to get sunlight in there, show them consequences, when they fail you. When a company providing you with service fails, you're allowed to scream it from the rooftops if you feel like it.

Re:Coding Horror and blogs.stackoverflow.com experience "100... by pvg on Friday December 11, 2009 @09:21PM (#991010)
Their role in making him look foolish (what I said, incidentally) is indeed quite minor. If he'd actually done the things he advocated and, frankly, implied that he'd done, he'd still have his images, his downtime would have been close to zero and he'd probably get to write a triumphant article about the value of following his own sage advice.

Someone else pointed out in another comment, there's a good analogy to be drawn to Atwood's own words here: http://www.codinghorror.com/blog/archives/001079.html

Re:Coding Horror and blogs.stackoverflow.com experience "100... by akkartik on Friday December 11, 2009 @09:49PM (#991047)
"Their role in making him look foolish (what I said, incidentally) is indeed quite minor."

Fair enough. But he's not complaining about looking foolish (nor is grandparent as far as I can see). He's complaining about losing data.

In that link he isn't saying "it's your fault no matter what the world throws at you, suck it up." He's saying, "look harder at yourself before you decide somebody else is to blame." Not an issue here; can we agree it is their fault?

Re:Coding Horror and blogs.stackoverflow.com experience "100... by pvg on Friday December 11, 2009 @10:19PM (#991090)
for the record, I blame 50% hosting provider, 50% myself

Is his tweet. Sounds like blaming to me. I suppose it's a matter of personal taste but if you write about how you're serving your images off S3 and how everyone should be making redundant backups and then get bitten by the fact you somehow wrote about these things but didn't actually do them, you're not looking very hard at yourself.

My simple point is - if you're an advice-giver who's been shown to not follow his own advice on backups, don't compound it by being an advice giver who doesn't follow his own advice on humility.

Re:Coding Horror and blogs.stackoverflow.com experience "100... by akkartik on Friday December 11, 2009 @10:43PM (#991107)
"Sounds like blaming to me."

I thought we were arguing about whether he cares about looking foolish.

Of course he's blaming them. There's reason to blame them. Regardless of what he did or didn't do, they screwed up. In fact I think he's being very restrained and humble taking 50% of the blame. I'd be fucking pissed if that happened to me. Even if I restored from backups in 30 minutes (extremely optimistic).

"if you're an advice-giver who's been shown to not follow his own advice on backups, don't compound it by being an advice giver who doesn't follow his own advice on humility."

Again, the humility he was referring to was to assume first that it was your fault until you determine otherwise for sure. What's that got to do with them screwing up?

You're basically saying: if I act holier-than-thou and advocate backups, then Slicehost or Amazon can give me crappy service because I'm not allowed to 'blame' them or mention how they suck. Which is really weird.

(I feel for the guy. I'm sitting here yakking because I can't connect to my EC2 slice for the last n hours.)

Re:Coding Horror and blogs.stackoverflow.com experience "100... by pvg on Friday December 11, 2009 @11:16PM (#991138)
Heh, we are absolutely going to validate the 'comment value drops exponentially with nesting' rule.

I didn't say he deserves crappy service or that his provider didn't screw up by firing his VM into Neptune. What I'm saying is (in 17 different ways, at this point) - if you are a vocal advocate but don't actually practice or believe what you preach, you're not really an advocate or useful commentator but a hack. When circumstances (that incidentally and in part happen to be someone else's fault) expose you as somewhat of a hack, it's a little uncouth to be pointing fingers at others for their much more minor screw-ups. Being a hack is bigger screw-up than accidentally (or through negligence) firing someone's VM into Neptune, that's all.

Re:Coding Horror and blogs.stackoverflow.com experience "100... by cag_ii on Friday December 11, 2009 @05:54PM (#990703)
I'd argue that the general idea expressed in the post below applies as much to system administration as it does to programming. Rule #1: Take responsibility.

http://74.125.93.132/search?q=cache:xGcmkwq9zUkJ:www.codingh...

Re:Coding Horror and blogs.stackoverflow.com experience "100... by DTrejo on Friday December 11, 2009 @04:14PM (#990499)
If anything, I'd say this is a sign not to work with CrystalTech.

After a mistake like this, it may be a sign that they will never mess up again.

Re:Coding Horror and blogs.stackoverflow.com experience "100... by potatolicious on Friday December 11, 2009 @04:21PM (#990522)
I disagree - it's a sign that they will never mess up their VM backup system again.

It's also a sign that they lack experience and competence. So while your odds of suffering this problem are significantly lower, your odds of the infinite number of other problems are still troubling.

Re:Coding Horror and blogs.stackoverflow.com experience "100... by nkohari on Friday December 11, 2009 @04:42PM (#990576)
We actually had our app hosted at CrystalTech until a couple months ago. Earlier this year, they had a critical power outage, which took our site offline. That's one of the reasons we're not there anymore.
Re:Coding Horror and blogs.stackoverflow.com experience "100... by klodolph on Friday December 11, 2009 @06:51PM (#990816)
Well, I'm a bit more cynical than you. However, Jack in the Box is probably one of the least likely chains to experience an E. Coli O157:H7 outbreak (since 1993, at least).
Re:Coding Horror and blogs.stackoverflow.com experience "100... by dnsworks on Friday December 11, 2009 @03:37PM (#990405)
If you fail to audit and test your disaster recovery procedures on a regular basis, then you fail at competently maintaining your infrastructure. No excuses.
Re:Coding Horror and blogs.stackoverflow.com experience "100... by nkohari on Friday December 11, 2009 @04:12PM (#990495)
I'm not disagreeing, I'm just saying that before people get drunk on schadenfreude they should put themselves in Atwood's position. If you pay someone for a service you generally expect it to work when you need it.
Re:Coding Horror and blogs.stackoverflow.com experience "100... by mcantelon on Friday December 11, 2009 @05:08PM (#990625)
Yeah, but if you pay for a mission critical service and never bother testing it, you've pretty much passively decided to fail.
Re:Coding Horror and blogs.stackoverflow.com experience "100... by viraptor on Friday December 11, 2009 @06:38PM (#990791)
Joining the chorus of other people saying "WRONG".

Reason 1: I pay for my bank account one way or another. It's bank's responsibility to keep the system running and secure, not mine. Sometimes we just can't do everything ourselves and have to rely on others.

Reason 2: Many of us host something somewhere. How many do backups? How many of us check the backups? How many do check the backups checking process? (enter infinite recursion) You have to stop at some stage. You probably don't have enough time, or your time is not worth enough to check that.

He can recover most of his blog from the caches, because it was quite popular. I bet he'll be back with an almost complete archive in less than a week.

Re:Coding Horror and blogs.stackoverflow.com experience "100... by nettdata on Saturday December 12, 2009 @03:00AM (#991312)
You have the perfect right to just point and say "you were supposed to do that", while losing all of your data.

The rest of us will be quite happy to ensure that what we think is happening, actually is.

It's akin to a pedestrian getting hit by a car and then saying "I had the right of way". Yeah, maybe so, but now you're in the hospital breathing through a tube.

Those of us who checked for traffic before crossing the street are at home watching TV.

Re:Coding Horror and blogs.stackoverflow.com experience "100... by mcantelon on Friday December 11, 2009 @06:57PM (#990825)
The bank analogy is interesting and a good point, but the reality of ISPs is that they are less reliable, and less regulated, than banks.

If my income is dependent on data, I make sure it gets backed up. If it's an active project, I use my backups to build my dev environments so it's fairly obvious when a backup has failed.

Re:Coding Horror and blogs.stackoverflow.com experience "100... by thaumaturgy on Friday December 11, 2009 @08:19PM (#990962)
You have good habits, and that's sincerely commendable.

However, it really isn't fair to blame this kind of problem on the end user.

Are website developers also expected to keep the servers secure? If Apache isn't patched and up to date, is that the website admin's fault?

Service providers are paid to do a job. This one failed tremendously, and should lose a large chunk of business for it. I think Atwood is being far too kind in accepting 50% of the responsibility for the data loss.

To put it another way: the only reason to maintain your own backups of your site data -- aside from healthy paranoia -- is because you expect your service provider to fail at doing their job. And if that's the case, shouldn't you be finding a service provider that does it better?

Re:Coding Horror and blogs.stackoverflow.com experience "100... by antonovka2 on Friday December 11, 2009 @09:10PM (#991002)
To put it another way: the only reason to maintain your own backups of your site data -- aside from healthy paranoia -- is because you expect your service provider to fail at doing their job. And if that's the case, shouldn't you be finding a service provider that does it better?

If you don't expect your service provider to fail, you don't know anything about service providers.

Everybody fails.

Our colocation facility has redundant generator systems. They're tested regularly, and have handled failures previously. Yet, when the power went out, three of the backup generators failed, and our site (as well as Craigslist, Yelp, and others) was out for 45 minutes.

The cause? A bug in the backup generator's software: http://365main.com/status_update.html

Shit happens. Sometimes it's not your fault. You still need to prepare for it.

Re:Coding Horror and blogs.stackoverflow.com experience "100... by mcantelon on Friday December 11, 2009 @09:38PM (#991032)
>Are website developers also expected to keep the servers secure? If Apache isn't patched and up to date, is that the website admin's fault?

Getting hacked isn't as potentially catastrophic as not having backups. With backups, being hacked can be recovered from and the service provider changed.

>To put it another way: the only reason to maintain your own backups of your site data -- aside from healthy paranoia -- is because you expect your service provider to fail at doing their job.

A business doesn't expect its premises to burn down, but most have fire insurance in the event that this happens. Even if I don't expect my service provider to fail, there's no way to know that they won't and it makes sense to deal with this risk if the cost of dealing with it is reasonable and the cost of not dealing with it is catastrophic.

Re:Coding Horror and blogs.stackoverflow.com experience "100... by wvenable on Saturday December 12, 2009 @01:28AM (#991257)
> It's bank's responsibility to keep the system running and secure, not mine.

As others have pointed out, it is your responsibility to check your bank statements to ensure that all is secure. But also, with banks you're dealing with money that is easily replaceable. If your card is compromised that money is gone but if it's their fault (or criminal) the bank will replace that money. Your data is not replaceable -- when it's gone, it's gone.

"Many of us host something somewhere. How many do backups? How many of us check the backups? How many do check the backups checking process?"

True you do have to stop somewhere -- but there is due diligence and there's negligence. Making sure you are making offsite backups and periodically testing them is due diligence. On the otherhand, completely relying on someone else to backup your critical data is negligence. If your data is at all important to you, then you need to have a copy. But at some point you have to accept that you've done enough.

Re:Coding Horror and blogs.stackoverflow.com experience "100... by antonovka2 on Friday December 11, 2009 @09:02PM (#990994)
Reason 1: I pay for my bank account one way or another. It's bank's responsibility to keep the system running and secure, not mine. Sometimes we just can't do everything ourselves and have to rely on others.

You are responsible for reading your statement and ensuring that all activity is valid, much in the same way that you are responsible for ensuring the viability of your recovery strategy.

Reason 2: Many of us host something somewhere. How many do backups?

Anyone who wants to keep their data badly enough to pay (time, money) to do so. Coding Horror is a popular technology blog, and there's a significant cost in traffic and credibility when it fails.

Jeff Atwood lacked cognizance of the risks and made an incredibly poor technical and business decision in failing to validate correctness of his backups and implement a suitable recovery strategy.

Re:Coding Horror and blogs.stackoverflow.com experience "100... by viraptor on Friday December 11, 2009 @09:29PM (#991022)
You cut a lot from reason 2. The was an important part. I've seen a system where the backups were made. They were verified too. Only after an actual data loss it was discovered that the backup verification was faulty and half of the "verified" and "properly backed up" data was missing.

My point is that you can spend lots of hours trying to backup your data and verify its correctness. But unless you put it back into the actual working environment and check every single bit of it, you cannot be sure it was a proper backup - not with 1GB of information and certainly not with 1TB. And then after you verified that you can verify that you have backups, something will fail and a bunch of people will say "if you didn't check the backups properly, it's your fault". I've seen backup systems fail in amazing ways and will probably never again believe that you can be "sure".

Re:Coding Horror and blogs.stackoverflow.com experience "100... by jacquesm on Saturday December 12, 2009 @12:08PM (#991684)
It's interesting that you should mention banks. Banks routinely go under, and in almost all cases your deposits are only 'safe' up to a certain amount. Most data stores are worth well in excess of that amount, so if you could not reasonably expect a bank to hold on to a very large amount of data it stands to reason that you should not trust some service provider with data that has serious value without a secondary system in place.

After all, their liability will almost certainly be less than the value of your data, in which case there are two reasons to keep extra copies, both business continuity reasons and direct economic ones.

Re:Coding Horror and blogs.stackoverflow.com experience "100... by svv on Sunday December 13, 2009 @05:16AM (#992627)
Banks make a bad analogy.

Sure, it should be the bank's responsibility to keep accounts safe. However, the fact that bank accounts are considered to be "safe" is in a large part due to systemic factors like the existence of the Fed (as lender of the last resort), FDIC, general political climate of "too big too fail", etc. As mentioned above, banks actually do go under a lot; it's just not as noticeable to the clients as before [the central banks], but the cost is there. (And there's a whole discourse there of whether it's a good idea for monetary system to have this kind of environment in the long run.)

In any case, nothing of the sort applies to the hosting providers (or even can be applied, as insuring unique data is not the same as insuring amounts of money) -- so assuming that keeping data there is as safe as keeping money in the bank is not a viable comparison.

Re:Coding Horror and blogs.stackoverflow.com experience "100... by andrewvc on Saturday December 12, 2009 @11:36AM (#991657)
1. Banks are more reliable than hosting providers. 2. For a small personal site you don't need anything fancy, just make sure you've SFTP'd the files to your disk and snapshotted the DB once every couple months. My personal site is backed up by Rackspace cloud, but I still do an occasional rsync just in case they fuck up.
Re:Coding Horror and blogs.stackoverflow.com experience "100... by michaelneale on Saturday December 12, 2009 @11:14PM (#992385)
I think there analogies for both sides of the argument. In the case of bank accounts (or bank security) I don't test it by trying to break in, check how it works with id theft etc ;)

But for backups, at least in this (early) era of manage hosting/cloud, its probably not too onerous to test your plans etc...

Re:Coding Horror and blogs.stackoverflow.com experience "100... by krschultz on Friday December 11, 2009 @05:41PM (#990678)
Is codinghorror really mission critical? He will restore from some other backups. Downtime on a blog is not that big a deal other than people like to hate on Jeff Atwood. Now if he lost customer credit card records or something like that, then it would be warranted.
Re:Coding Horror and blogs.stackoverflow.com experience "100... by houseabsolute on Friday December 11, 2009 @05:54PM (#990706)
Doesn't Jeff derive a significant portion of his personal income from the site? If so, I'd say mission critical is a good way to describe it.
Re:Coding Horror and blogs.stackoverflow.com experience "100... by dinkumthinkum on Saturday December 19, 2009 @02:33AM (#1004577)
If codinghorror somehow allows Jeff to live without working then I would say it is pretty mission critical. Mission critical doesn't mean the Earth will blow up or something like that.
Re:Coding Horror and blogs.stackoverflow.com experience "100... by gorm on Friday December 11, 2009 @05:49PM (#990692)
The trick is to simulate a data loss before it happens.
Re:Coding Horror and blogs.stackoverflow.com experience "100... by pyre on Friday December 11, 2009 @05:18PM (#990641)
The same could be said for CrystalTech
Re:Coding Horror and blogs.stackoverflow.com experience "100... by mcantelon on Friday December 11, 2009 @05:26PM (#990662)
I don't think anyone's saying that CrystalTech didn't also fail.
Re:Coding Horror and blogs.stackoverflow.com experience "100... by joe_the_user on Friday December 11, 2009 @06:25PM (#990763)
Hmm,

It's a lesson on what can and can't be "just bought".

Security and backups both need some top-down hands involvement. Also US recent experience dikes and air defenses are important too.

Re:Coding Horror and blogs.stackoverflow.com experience "100... by Confusion on Friday December 11, 2009 @06:07PM (#990733)
Do you also test that your airbags work properly? I don't audit and test the safety measures on most of the equipment in my house: that's what I pay the supplier for and there'll be hell to pay when they screw it up. Similarly, I don't audit and test my disaster recovery procedures, because that is what I pay my hosting partner for.
Re:Coding Horror and blogs.stackoverflow.com experience "100... by klodolph on Friday December 11, 2009 @06:45PM (#990802)
"Reasoning by analogy"

The people who made your car were legally required to test your model of car by crashing it into another one and making sure the airbags work. This is also too expensive to test yourself. One does not modify an airbag system at all without retesting it.

Your hosting provider has no legal requirement to test their backup system. At best, they have a contractual obligation. And they don't know how to test recovering your site, because testing whether it works is a different process for each site. Additionally, it's cheap to test backup procedures. Most people have a spare computer somewhere (maybe not in the data center), and it should only take a few hours to restore a copy of your site. Once a year. For Chris's sake, you could probably do it in the background and put a movie on.

Re:Coding Horror and blogs.stackoverflow.com experience "100... by nomoresecrets on Sunday December 13, 2009 @12:45PM (#992906)
When you test airbags, you have to then replace them. This is possibly the worst car analogy ever :-)
Re:Coding Horror and blogs.stackoverflow.com experience "100... by brk on Friday December 11, 2009 @03:44PM (#990422)
Yes, but I'm not sure if your comment is targeted at CrystalTech or codinghorror?

You can't outsource liability.

If YOU are not testing YOUR backups. YOU fail.

Re:Coding Horror and blogs.stackoverflow.com experience "100... by jrockway on Friday December 11, 2009 @04:30PM (#990542)
It's a blog. How much time and money is worth spending on this?

(I backup my Slicehost account with their official service. If they die and my backup dies with it, that's fine; I don't have the time or money to do anything better.)

Re:Coding Horror and blogs.stackoverflow.com experience "100... by robryan on Friday December 11, 2009 @04:45PM (#990583)
I'd say a lot to Jeff, not only is it a popular blog standing alone and probably generates a decent income but it's also very important to him for cross promotion.
Re:Coding Horror and blogs.stackoverflow.com experience "100... by bad_user on Friday December 11, 2009 @04:53PM (#990599)
And do you think Jeff's blog just got less popular?
Re:Coding Horror and blogs.stackoverflow.com experience "100... by gaius on Friday December 11, 2009 @05:24PM (#990657)
He's not serving any AdWords off that page :-P
Re:Coding Horror and blogs.stackoverflow.com experience "100... by diN0bot on Friday December 11, 2009 @05:41PM (#990680)
his position as looking down on coding horror has somewhat moved to being part of the team. not necessarily a bad thing.
Re:Coding Horror and blogs.stackoverflow.com experience "100... by samdk on Friday December 11, 2009 @05:32PM (#990668)
You don't need to put much time or money into it. The bare minimum of a weekly cron-automated rsync job can be done in a few minutes, even if you've never done it before.
Re:Coding Horror and blogs.stackoverflow.com experience "100... by PStamatiou on Friday December 11, 2009 @08:48PM (#990985)
If I was in his shoes, yeah I'd be freaking out too and trying to get everything recovered ASAP. Then again my blog pays more than my (startup) job so that's why I care about it.
Re:Coding Horror and blogs.stackoverflow.com experience "100... by Confusion on Friday December 11, 2009 @06:09PM (#990739)
You can't outsource liability.

So you've tested whether your toaster has proper grounding and other safety precautions, in case it shortcircuits? I bet you haven't and that why you should stop repeating that stupid soundbite. We all 'outsource' liability all the time: we pay others to perform services for us and hold them responsible for the proper execution of those services. This includes hosting content and backing up that content.

Re:Coding Horror and blogs.stackoverflow.com experience "100... by brk on Friday December 11, 2009 @06:40PM (#990795)
So you've tested whether your toaster has proper grounding and other safety precautions, in case it shortcircuits?

Nope. I have a fully paid and verified home owners insurance policy though that covers any probable loss from a toaster fire.

It's sort of like having an offsite backup of my important personal stuff.

Your example is really not a parallel to a data backup. It's difficult to fully test all of the toasters failure modes in a non-destructive way. It's easy to setup an automated backup to a remote location. Given the gmail storage limits, you could tar and gzip your files and email your gmail account with the backup data.

A better example in a "homeowner" realm is the flood pans that you can buy to put under your water heater or washing machine. You'd like to be able to trust that the manufacturer made a waterproof device, but at the same time it's cheap and easy to insure yourself against the most common failure modes.

The sound bite is not stupid. People who believe you can outsource all the messyness of keeping a website alive are continually bitten in the ass by EC2, Rackspace, etc. failures.

Re:Coding Horror and blogs.stackoverflow.com experience "100... by sailormoon on Friday December 11, 2009 @09:10PM (#991003)
An insurance policy is equivalent to an offsite backup? So you don't have any personal items of any intrinsic value at all; you could lose it all, get a cheque in return, and be happy? Wow. Well, awesome, but I doubt that is common.

And look, I agree with you in many ways - people need to take responsibility for their own backups, sure. But there is a division of responsibility. I mean, even if all my backups are 100% perfect, I am still trusting the hosting provider to, well, keep the power on. Pay the peering bill. Keep the server temp down. Not go bankrupt tomorrow.

You can just follow this chain as far as you want. Whether you like it or not, you're utterly dependent on the DNS root server admins. There is nothing at all you can do to prepare yourself for their failure. I bet you can't generate your own electricity or grow your own food, either.

All of civilisation is built on co-dependency and delegation of responsibility. It's the only way to do anything complex. At some point, you must delegate. Atwood should have checked - but he was paying his host to do it. That's like having an employee whose job it is to do backups. At some point, you just have to let go and trust them. Otherwise you can never really do anything; you're caught up in checking minutia; I can give examples of this kind of leadership failure until my keyboard breaks.