Redundant Array of Inexpensive Servers

A Redundant Array of Inexpensive Servers (RAIS) or Redundant Array of Independent Nodes (RAIN) is the use of multiple servers to maintain service if one server fails. This is similar in concept to how RAID turns a cluster of ordinary disks into a single block device. RAIS was designed to provide the benefits of a symmetric multiprocessor system (SMP) at the entry cost of computer clusters.

The term may imply some kind of load balancing between the servers.

Technology
RAIS is a simple, high performance, mainframe-grade alternative to more expensive enterprise computing infrastructure solutions. It turns an array of ordinary servers into a single virtual machine, similar in concept to how RAID turns a cluster of ordinary disks into a single block device. Every RAIS node is a stateless computing unit. RAIS stripes and mirrors application code and memory across an array of ordinary servers using the standard RAID schemata of level 0, level 1, level 5, level 1+0. This is possible through a memory management system called Versioned Memory.

Data blocks of each stream are striped across the array servers. A fast packet switch is used to connect server and client stations. Each server has a dedicated network segment, and each client contacts the server one by one. Each server has its own storage, CPU, and network segment. The server capacity increases with the number of servers.

In a manner more usually associated with high cost SMP architectures, RAIS achieves this by turning a cluster of independent servers into a single large server running applications across a virtualised network of nodes. The concept is similar to how RAID stripes and mirrors data across multiple independent disks and code of an application program across multiple independent nodes of a cluster. The applications see only a single logical shared memory which functions as a binary compatible SMP system.

If the data is split into segments and distributed between multiple storage providers, the technology has applications for improving confidentiality in cloud computing.