Tell HN: Heroku is Down (update: recovering as of 10PM PST)

100 points by timr ↗ HN

115 comments

[ 3.1 ms ] story [ 167 ms ] thread
The AWS status page[1] is showing problems for EC2 East as of a few minutes ago. This <strike>might be</strike> is a more widespread issue.

EDIT: Various non-Heroku EC2-East-based sites (e.g. Quora) seem to be down as well, lending more evidence to this being an EC2/EBS outage.

1: http://status.aws.amazon.com/

Half the startup world is offline right now, yet the AWS status page is all greens with one "info" notice about EBS (which I doubt is the issue here). I'm glad to have moved off a fully AWS stack back to my own servers over a year ago. My uptime, bills, and stress level are all much improved.
Definitely an EBS issue. Our (EBS backed, Heroku hosted) DB was returning queries more and more slowly leading up to the outage.
Sounds like half of the startup world hasn't spent the time or the money to design their service to be redundant on top of AWS.
Fortunately for most, they dont have customers yet
That's hardly surprising. The groupthink on cloud services is that they magically make everything scalable, cheap and easy. Making redundant software is hard work.
The sales pitch is kind of that it's already redundant. You know, RAID and load balancers and all.
Out of curiosity do we know if http://status.aws.amazon.com/ is hosted on AWS?
It's a key design constraint of status.aws.amazon.com that it not depend on any AWS services. (Or so I've heard.)
I thought I read somewhere that it was on Rackspace
They posted an update on amazon: We continue to investigate this issue. We can confirm that there is both impact to volumes and instances in a single AZ in US-EAST-1 Region. We are also experiencing increased error rates and latencies on the EC2 APIs in the US-EAST-1 Region.

Also Amazon Relational Database Service (N. Virginia) is unavailible.

Seems like its snowballing.

RDS actually uses EBS so it is most likely the same underlying issue.
cloud.engineyard.com isn’t loading either.

edit: I meant literally the EngineYard website at that address. Some EngineYard websites were up and some were down, no doubt based on region.

I'm hosted on EngineYard and my app is up and running just fine.
are they on us-east-1?
Their uptime percentage is 99.97%, but I'm having a hard time fighting the recency effect that is telling me to get off the platform ASAP.
I just got up (it's morning in Israel), and a client of mine in the US with a major, mission-critical application was screaming (rightly so) that things are down.

We're already looking into alternatives -- perhaps not leaving Heroku altogether, but certainly not depending on them 100 percent. There's no way that we can entrust the business to something that can just catastrophically fail at any moment. I've been running my own servers for years, and they've never had such unpredictable issues.

I increasingly have to think that a few servers, on different providers, with the application deployed via Capistrano, will be more fault-tolerant than Heroku. At least, it seems that way right now.

Dont overreact... heroku is using AWS which is down for many other sites right now other than heroku. This is an EBS issue that is occurring.
And my guess is his client doesn't give two excrements what the reason is. It's boolean to them; it's up or it's down.
I know AWS EC2 does support multiple global regions and within each region multiple availability zones. You're supposed to host your application across more than one AZ if you want good fault tolerance. Not sure if Heroku uses this though.
> There's no way that we can entrust the business to something that can just catastrophically fail at any moment.

Anything, including service providers, can catastrophically fail at any moment. Fault-tolerant architectures are based on redundancy (including infrastructure provider redundancy, as you mention), not on "guaranteed" SLAs.

Provider redundancy goes against the concept of PaaS IMO (ignoring the sci-fi future where there are multiple 100% compatible providers). Heroku needs to become internally redundant to really live up to its promise.
That's 99.97 for the last month.

Which is ridiculous, 9s for most services use years as standard. Of course if heroku did that they wouldn't look so good.

if you have a year of 99.97 months, don't you have a 99.97 year? how does having a shorter time make the numbers look better?

[edit: i realise they could be hiding worse months, but i don't think that's what the post i am replying to meant. perhaps i am reading it wrong.]

They could have terrible uptime 2 months ago and you wouldn't see it in their status page, because it only showed last month's.
Depends on the month...

31 versus 28 days.

They could have done it to the extreme -- show the numbers for the past hour. Then they could almost always report 100% uptime. And if they ever went down, wait an hour, then go back to reporting 100% uptime again.
Parent post was saying that, without taking into account the entire year, you can have one month that is terrible and the rest quite good.

The measurement in question is supposed to be about consistency.

It doesn't matter whether gauged by the month or year. It's a percentage. If they have 99.97% uptime every month for a year, they'll still have 99.97% uptime for the year.
Or if they have 100% for six months and then 99.97% for one month the long-term average would be better.
That was their uptime for May, but looking at June it's going to be a worse picture. They're already down to 99.63% if you only include "red" incidents and down to 99.25% if you include "amber" incidents as well (as of 39m of downtime for this latest incident and assuming they don't have any more downtime for the month).
Not sure if it's related, but www.pythonanywhere.com is also down.
Doesn't look like it, their IP is owned by a German company.
One of mine went down, and I'm seeing folks on Twitter saying the same. Definitely something going on.

*edit: Came up 12:42 AM ET.

At this point, the internet may as well be dead to me.
parse.com also down
I confirm this. Was working on an app prototype and when I reloaded the page it couldn't find it.
(comment deleted)
knocked out some other stuff? gothamist/chicagoist/laist/all those other blogs are out.
I want a credit on my Heroku account. Paying $71/month for shit like this is stupid.
Have you tried asking for one?
Maybe for the database service, but dynos and workers are paid for by the hour, aren't they?
All services are billed based on time usage (its not hourly, its much more granular), including the database.

That said, an outage is still an outage.

A few of my us-east-1d machines are down.
One of mine is as well. The load balancers also seem to be haywire.
We have an unreachable instance in us-east-1b but others in that region are reachable
Keep in mind that not everybody sees the same names for the same availability zones - your us-east-1b might be my us-east-1d
So is Parse.com, they just announced it is AWS related.
My AWS instances on us-east are unreachable :(
Seems like someone posted a link to a project that made self-hosting a previously Heroku hosted site simple, but I can't find it now...

...would be cool if there was a Linux package (or distro) that you could boot-up and then just change your git remote to and have your app up-and-running on your own hardware.

This was in the recent Heroku down thread. You might be interested in Stackato (http://www.activestate.com/stackato). It is based on Cloud Foundry, with numerous enhancements, including support for Heroku buildpacks (http://docs.stackato.com/languages/buildpack.html). Heroku-in-a-box - give it a try.

BTW, while the point is to enable private paas, you won't get around the issues that hit sites like this without heeding all the warnings and recommendations about building in redundancy for high availability.

This was noted well in this post: http://www.newvem.com/blog/main/2012/06/aws-cloud-best-pract...

"""It is a lot cheaper to add 1% uptime to a 95% SLA than it is to add 0.09% to a 99.9% SLA. Cloud application vendors (SaaS) need to pay very close attention to the additional resources that are invested in order to support a 99.9XX…% uptime SLA, and perhaps build it into their pricing plans."""

Yeah I'm just evaluating options, if nothing else it would be excellent to have the equivalent of a "donut spare" on private hardware that we could throw on when events like this occur (although having done plenty of "self-hosted" sites during the first boom, I'm always running the numbers for either option).
I made Dokuen a few weeks ago, maybe that's what you're thinking of? If you're willing to live with a few warts, it's working pretty well for my personal use. My blog is still on Heroku so you can't really read about it now, but you can check out the code.

https://github.com/peterkeen/dokuen

I saw this a while ago and will actually be using it very shortly to deploy 3-4 internal apps on our own mini cloud. I love Heroku and can't stand all of the open source "alternatives" like Cloud Foundry. Yours is exactly what I wanted and I can't wait to really start using it and contributing via github! Thanks again!
It seems to be the elastic load balancers on AWS, can't blame Heroku this time.

My love hate relationship with Heroku continues...

It's not just ELB.
It looks like Amazon are worse at reporting their outages than Heroku...
During the previous outage (which wasn't AWS related), Heroku's status page was down entirely (among other things, it relied on static assets from heroku.com), so I can't say I agree with that.
Yep, but they saw that flaw and addressed it and it's ok for the time being. Amazons has been and still is crappy.
And yet we continue to throw everything on AWS...

You know there are OTHER data centers, right?

Other datacenters can go down, too. In many cases, the complexity of running an application across different platforms (say, AWS + Rackspace Cloud) might not be worth it.
google searches for "migrating off heroku tutorial" just spiked.
That's odd, because I thought the error occurred in my application. No? You sure? Just look at this error message, "An error occurred in the application and your page could not be served."

Oh, so you mean the error message aren't accurate? That even though the error is actually above Heroku, a much greater failure, that my application will still be blamed, and that's what my users and bosses are going to see?

And you're saying this is going to happen multiple times per month?

Well shit, and here I thought Heroku was an improvement. I guess rapid scalability and beautifully integrated add-ons doesn't make up for compromised stability. I mean, if it's not going to work, who cares?

Isn't it your fault you didn't build a fault tolerant application? The first rule of building services is assume everything is broken.
Honestly, I haven't the resources to guarantee site uptime, and have accepted this will happen as a result; my complaint was more targeted at the default error messages.

It seems this can be changed, though, fortunately for Heroku.

I guess my real point is your customer, 99% of the time, doesn't give a shit WHY your site is down. It just is.
You can serve your own error pages instead of Heroku's and show your boss whatever you want. They're specified as URLs, so they can be hosted on some other platform. I don't know if that feature works when AWS is failing Heroku, but if Heroku's up enough to serve the error page, maybe it's up enough to serve the error page you configured instead of its own.

https://devcenter.heroku.com/articles/error-pages

I contacted Heroku and got clarification.

Tonight's events would've resulted in the misleading default error message, regardless of customer error pages.

With AWS failing, that's a big issue and platform failure should be vocalized correctly.