What Is High Availability?
Learn about high availability and how it applies to cloud applications.
High availability
AWS defines availability as “A system that is available is capable of delivering the designed functionality at a given point in time. Highly available systems are those that can withstand some measure of degradation while still remaining available.”
While scalability focuses on an amount of something to handle, availability is concerned with if functionality is delivered at all. Although both play hand in hand, availability should be a separate concern and might require different approaches to our architecture.
Example 1: Stack Overflow databases
To make this concept less abstract, let’s consider Stack Overflow again. They are running their website with only one active database, so how do they handle high availability?
The answer is in their hot standby databases. They can quickly switch over to the standby database if the main database fails and therefore can continue to deliver to their users. This is an example of a high availability implementation that is distinct from scalability.
Example 2: Stack Overflow web servers
Stack Overflow’s web servers work differently. If one of their nine web servers fails, there are no hot standby servers to replace them. Because they use a scalable architecture, the remaining eight web servers can take over the load of the failed server. In this case, they have achieved high availability through scalability.
Get hands-on with 1400+ tech skills courses.