If I were providing a paid service and my dedicated servers went offline due to some reason (let's say the fiber line gets cut by road maintenance crews) - my customers wouldn't care what happened - perhaps some will offer sympathy - but in the end it's my fault, and my responsibility to offer any kind of contingency plan - which generally includes load balancing over multiple datacenters etc. The same view should have been taken here and too much reliance was set on one region (even though Amazon promised it would be safe - this is their fault ;)). In the end, they should take full blame and now learn from their mistakes.
For all we know multiple regions could have an undiscovered common failure point.
Don't get me wrong. Heroku isn't entirely blameless--I had a production app that was down for about 12 hours.
Where does it end? Is it 100% your customers' fault for using your service and not using multiple services that match your service to be redundant?
I'm just making conversation here now, but I feel like Heroku did not have to go this far.
It's a sucky situation, and I feel for Heroku - and I blame AWS personally - but when it comes to the final customer, then as a service provider it's only right to take blame.
I think the blame stops at Heroku who either need to provide more redundancy for incidents like this or let their customers know that if this type of incident arises there is little that they can do.