High availability is a measure of service availability. It is measured relative to 100% operationalization or no failure. A five nine (99.999%) availability is a promise that the Cloud services will be highly available at all times. A five nine uptime (i.e. 99.999%) is an expensive and complex promise, a commitment that highlights the ability of the service vendor vis-à-vis other competitors in the field.
Server clustering and server integration elegantly solve many of the high availability issues in Cloud driven centralized networks.
Cloud service providers, who promise 99.999% uptime to their customers in their Service Level Agreement (SLA), are very concerned about points of failure arising from the way in which they have orchestrated the servers in their data centers. Server clustering, failover provisioning, high redundancy are some of the terms used by these service providers in their service offerings to indicate that they have considered and handled “points of failure” issues.
A server cluster groups together a set of independent servers and forces them to work together as a single system. The servers are connected together at the hardware/network or software level and behave as if they were a unified single entity on a network. The switch over from one server to another is described as “failover provisioning” and “high redundancy” occurs when the database is replicated across servers in a cluster or across data centers and workloads can be distributed across servers when the primary server fails with network load balancing technologies.
The use of server clustering technologies ensure high availability of the services and enables load balancing, parallel processing, scalability and effective systems management. It guarantees that users have constant access to the database and user requests are serviced even when one or more of the servers in a cluster are down for maintenance or hardware/software glitches.
Closely associated with server clustering is the concept of server integration. Server integration can be defined as an integration of a similar or dissimilar servers/hardware to facilitate the creation of immense processing power—a seemingly large computer in the cyberspace. It aims to satisfy all the processing needs of an enterprise that uses applications requiring parallel processing and implementation of different classes of workloads. The programming instructions can be divided across servers so that run time requirements are minimized and workflows are organized for efficiency. The multiprocessing protocols can be symmetric multiprocessing systems (SMP) or massively parallel processing systems (MPP).
Of course there are many other points of failure (that interrupt services) that can be identified and provisioned for.