Rain Technology By Yogesh Mathur 22 September 2018 RAIN Technology RAIN technology is the most scalable software cluster technology for the Internet marketplace today. There is no limit on the size or the performance of a RAIN cluster. Within a RAIN cluster, there is no master-slave relationship or primary-secondary pairing. All nodes are active and can participate in load balancing. Any node can fail-over to any node. A RAIN cluster can tolerate multiple node failures, as long as at least one node is healthy. It employs highly efficient consistent state sharing and decision making protocols, so that the entire cluster can function as one system. The Internet is changing the way that people manage and access information. In the last five years, the amount of traffic on the Internet has been growing at an exponential rate. The World Wide Web has evolved from a hobbyists' toy to become one of the dominating media of our society. E-commerce has grown past adolescence and multimedia content has come of age. Communication, computation and storage are converging to reshape the lives of everyone. Looking forward, this growth will continue for some time. There are four trends in the current growth of the Internet: Features of RAIN Communication Group Membership Data Storage Applications of RAIN Technology We consider several applications implemented on RAIN platform based on the communication, fault management and data storage building blocks: a video server (RAIN Video), a web server (SNOW), and a distributed check pointing system (RAIN Check). The focus of the research was on high-performance, fault-tolerant and portable clustering technology for space-borne computing. Two important assumptions were made, and these two assumptions reflect the differentiation between RAIN and a number of existing solutions both in the industry and in academia: 1. The most general share-nothing model is assumed. There is no shared storage accessible from all computing nodes. The only way for the computing nodes to share state is to communicate via a network. This differentiates RAIN technology from existing back-end server clustering solutions such as SUN cluster, HP MC Service guard or Microsoft Cluster Server. 2. The distributed application is not an isolated system. The distributed protocols interact closely with existing networking protocols so that a RAIN cluster is able to interact with the environment. Specifically, technological modules were created to handle high-volume network-based transactions. This differentiates it from traditional distributed computing projects such as Beowulf. In short, the RAIN project intended to marry distributed computing with networking protocols. It became obvious that RAIN technology was well-suited for Internet applications. During the RAIN project, key components were built to full fill this vision. A patent was filed and granted for the RAIN technology. Rain finite was spun off from Caltech in 1998, and the company has exclusive intellectual property rights to the RAIN technology. After the formation of the company, the RAIN technology has been further augmented, and additional patents have been filed. RAIN CHARACTERISTICS Clustering Distributed Shared-Nothing Fault tolerant Reliance on software Use of inexpensive nodes Suitability for Network Applications Communication Scalability Group membership Data storage RAIN BENEFITS • Fault tolerance • Simple to deploy and manage • Open and portable • supports for heterogeneous environment • No distance limitation • Availability • Scalability • Load Balancing and Performance RAIN COMPONENTS RAIN nodes • IP-based inter networking • RAIN management software • Storage component • Communication component • Computing component COMPONENTS OF RAIN: The RAIN technology consists of following components: RAIN nodes: These are the basic elements of RAIN, these hardware components use 1 terabyte of disk storage capacity comprising standard Ethernet networking and CPU processing power to run RAIN and data management software. Data is stored and secured reliably among multiple RAIN nodes IP-based inter networking: The physical interconnections amongst the RAIN nodes are established using standard IP-based LANs, metropolitan-area networks (MAN) and/or WANs. This allows administrators develop an integrated storage and protection grid of RAIN nodes across multiple data centre. RAIN management software: The RAIN management software is a vital component of the RAIN architecture and performs some significant tasks like letting RAIN nodes incessantly communicate their assets, capacity, performance and health among themselves, automatically detecting the presence of new RAIN nodes on a new network, recovery operations etc. RAIN software has three components: Storage component: The basic function of this component is to store and retrieve data across distributed processors Communication component: Communications component is used to create a redundant network between multiple for providing uniformity across the network. Computing component: A computing component is concerned with automatically recovering and restarting applications if there exist a malfunctioning processor ADVANTAGES OF RAIN: RAIN technology offers various benefits as listed below: Fault tolerance: RAIN achieves fault tolerance through software implementation. It has no limit on the size of a RAIN cluster. There is no concept of master-slave relation. This is highly efficiency in traffic management. New node can be added into the cluster to participate in load sharing. The system tolerates multiple node, link, and switch failures, with no single point of failure . Open and portable: The technology used is open and highly portable. It is compatible with a variety of hardware and software environments. Currently it has been ported to Solaris, NT and Linux. No distance limitation: There is any distance restriction to RAIN technology. It allows clusters of geographically distributed nodes. It can work with many different Internet applications. Load Balancing and Performance : New nodes can be added into the cluster on the spot to take part in load sharing, without deteriorating the network performance as in case of Rain wall. Rain wall keeps track of the total traffic going into each node. When a disproportion is sensed, in the network traffic, it moves one or more of the virtual IPs on the more heavily-loaded node to the more lightly-loaded node. Also new nodes can be added into the cluster to participate in load sharing, without taking down the cluster. Scalability: RAIN technology is scalable. There is no limit on the size of a RAIN cluster eg. Rainwall is scalable to any number of Internet firewall gateways and allows the addition of new gateways into the cluster without service interruption RAIN technology has been exceedingly advantageous in facilitating resolution of high availability and load-balancing problems. It is applicable to an extensive range of networking applications, such as firewalls, web servers, IP telephony gateways, application routers, etc. The purpose of the RAIN project has been to pave a way to fault-management, communication, and storage in a distributed environment. It integrates many significant exclusive innovations in its core elements, like unlimited scalability, built-in reliability; portability etc .It has very useful in the development of a fully functional distributed computing system.