What is High Availability?
Not to be confused with business continuity or backup, "High Availability" or HA is the measurement of a system to be available for use. There are a number of reasons a system can become unavailable, these are typically:
In order to mitigate against downtime we need to build in some redundancy, automatically monitor for failures and automatically fail over to the redundant system - luckily most of this gets taken care of by the choice of technology, however technology can become expensive and in isolation building in redundancy for highly available systems can be the most expensive item on an IT department's shopping list. So there's a bit of work to do first.
How do we deal with the problem?
Initially, we need to decide on an appropriate level of availability by listing out all of the critical systems and assessing the level of risk to the business if they were unavailable for a period of time. We then look at the likelihood of unavailability occurring. This would give us some metrics for what's the most important systems.
Next we'd look at the Business Continuity plan to see if for the system there's a suitable workaround. Finally we'd look at the time it would take to recover the system from backup (RTO) , how much would be lost (RPO). From this we understand where we are, and can decide on any systems needing attention.
The next steps are to provide some costed options for the focus areas and the level of availability each option is likely to bring.
Technologies which help
Thankfully, as mentioned earlier, most systems in place have some form of consideration to HA - below we've listed some of the key technologies and the solutions they provide:
Hardware Redundancy - provided within the server chassis with items like redundant PSUs and Fans, provided externally with appliances such as load ballancers.
Data Replication with Application fail over - Can be provided from multiple sources, and example is SAN replication, SRM in VMWare, or High availability clustering in Hyper-V
Application Failover - More of a workaround than true HA, there are products like Mimecast which can be used as a mail client in the event of a failure to your email system. There are also products like doubletake or Veem which will replicate servers to a secondary environment in the event of a failure to the primary.
And Lastly, there's the Cloud - seen as the ubiquitous cure all for all technology issues, it has it's place in increasing the availability of systems, however simply moving to a cloud provider may not give you the level of availability required you may still need secondary redundant systems in the event of a failure of the providers network.