Heroku Postmortem of June 29th Incident
status.heroku.com
status.heroku.com
How exactly are they planning to deal with the larger Cedar difficulties? Are they going to eliminate their dependence on ELBs? Go multi-region? Developers need to know this to decide whether to continue with Heroku or build their own platform.
Personally, I'd shitcan EBS to the extent possible, RDS I never would have used, and it looks like ELB is non-viable as well.
If you're a large site (particularly a PaaS) on AWS and care about availability, you need to have spare capacity in your region (using RIs, like Netflix does) to cover when a single AZ disappears, and your own external to AWS load balancing (not dns based), with your own per-AZ subsidiary load balancers (nginx or whatever) running within EC2. You need a robust database layer, ideally multi-region or AWS+nonAWS, but that's more site specific.
Going multiregion is the next step, and the above is an essential part of getting to that point.
This is why it's really hard to get cross region failover to work. Because you really need to make them independent.
Combined with the incident report from amazon, does this mean that 30% of Heroku instances were in a single availability zone? That would be troubling.
What they need is failover between regions/clouds and external monitoring, not a slightly better allocation of instances between AWS AZs in one region.
- Why aren't they committing to using geographically dispersed AWS instances?
- Why aren't they leveraging Salesforce's infrastructure at all?
> Heroku takes full responsibility for your app's health, keeping it up and running through thick and thin
and not commit to solving hard problems like geographically dispersed EC2 instances. Resource constraints, to be fair, aren't an acceptable excuse at this point. They aren't a floundering startup. They're a part of a multibillion dollar company.