The dangers of high availability

About 15 years ago I heard someone giving a lecture on a system he managed. He claimed they need to provide 5 9’s of availability, as it’s an extremely critical system. Needless to say, he didn’t deliver 5 9’s. Not even one. The system worked perhaps 79.999% of the time. Not very surprising. But the real surprise here is that this level of availability was good enough.

People tend to think their applications require extreme high availability for a wide variety of reasons. However – most don’t need high availability.

Now, since high availability is so costly to implement (hardware costs, architectural and development costs, etc), I think you really need to ask yourself – does my application really need high availability – or am I taking all this effort just to soothe my ego?

There are levels of high availability, and think well before you answer. Do all of the users need access to the application 24*7? What are their working hours? Can some users experience failure while most users still work? Can users experience partial data loss (restart a wizard, or re-filling a form)?

I, for one, think that giving a good enough availability, and have a very good monitoring solution with someone to solve crashes on a 30 minute notice is probably good enough – and is much more cost effective.

4 thoughts on “The dangers of high availability

  1. That is true indeed, I did found however that customers are far more likely to be unhappy with less then perfect UX.
    What’s also important to note is that you can achive higher availability with
    even low end HW with just simple clustering and redundency’
    and now days you might even cluster and shard DBs like postgress with easy public license solutions.

    • I of course agree. Low cost hardware is probably a much better solution for HA than expensive hardware (of course – only when possible). But the real price is not hardware – it’s the effects the HA requirements have on your application architecture and coding.

Leave a Reply

Your email address will not be published. Required fields are marked *