Reliable/Redundant Array of Independent/Inexpensive Nodes (RAIN)
ขอแนะนำสถาปัตยกรรมใหม่ เมื่อ RAID ไม่ใช่คำตอบอีกต่อไป ด้วยความสามารถที่สูงขึ้นของ CPU และการเกิดขึ้นของ SOC (Systems on chip) ระดับของ redundance จึงไม่หยุดอยู่ที่ Disk อีกต่อไป ถึงแม้ว่าเรากำลังอยู่ในยุคของ Cloud แต่เบื้องหลังของ Cloud ก็คงต้องเป็น RAIN
RAIN (บางครั้งก็เรียกว่า channel bonding, Redundant Array of Independent Nodes, reliable array of independent nodes, หรือ random array of independent nodes) คือชุดของ Computing Power (Computer, SoC) ในที่นี้เรียกว่า nodes ที่เชื่อมโยงกันบนเครือข่ายที่มี reliability สูง เพื่อเพิ่ม fault tolerance ซึ่งมันก็คล้ายๆกับการที่เราสามารถทำ RAID ข้ามเครื่องแทนที่จะเป็นแค่ Disk
RAIN คือ สถาปัตยกรรม ที่ระบบคอมพิวเตอร์ หรือ สำหรับ network-attached computer storage (or NAS), ที่มาทำงานรวมกัน และควบคุมด้วยโปรแกรมควบคุมที่จะเข้ามาจัดการเรื่อง reliability และ availability สำหรับระบบที่ขาด redundant systems ในขณะที่ RAID ปกป้องข้อมูลที่อยู่ใน physical disk (or ‘block’) level, RAIN นั้นปกป้องข้อมูลในระดับ file-system level, ทำให้ RAIN และ RAID แตกต่างกันในสถาปัตยกรรมตรงนี้ ในการนำไปใช้ แทนที่จะเก็บข้อมูลหลายๆชุดสำหรับข้อมูลชุดเดียวบนดิสก์คนละลูกบนเครื่องเดียวกันอย่าง RAID ข้อมูลจะถูก replicatedไปยังหลายๆ server แทน โดยมี softwareที่จะทำหน้าที่จัดการ array of RAIN servers ซึ่งมันจะรู้ว่าแต่ละส่วนของข้อมูลถูกเก็บอยู่ที่ใด ซึ่งในกรณีที่ Server พังไปส่วนหนึ่ง ก็ยังสามารถใช้ Serverส่วนที่เหลือในการรับภาระเหล่านั้น Software ที่ใช้ management นั้นยังสามารถกระจาย Load ไปยังเครื่องในกลุ่ม RAIN ได้
สำหรับใน Data Center ยุคใหม่ๆ เราจะเริ่มพบ Concept ของ RAIN มากขึ้น จริงอยู่ที่ Architecture ของ RAIN พูดถึงการทำ redundant ระดับ File-level แต่หากเราพูดถึงการทำ RAIN ส่วนของ Hypervisor นั่นก็หมายถึง system-level ของ Virtual machine นั่นเอง
เทคโนโลยี DFS (Distributed Filesystem) คือสิ่งที่ทำให้ RAIN Architecture ถูกนำมา implement จริง ทั้ง Google และ Facebook data-center ก็ใช้ RAIN Architecture สำหรับ DataCenter ของเค้า ก่อนหน้านี้เป็นที่ทราบกันดีว่า Computing Power สามารถกระจายได้ง่ายในรูปแบบ Grid แต่การกระจาย Storage ทำได้ยากกว่า เพราะความไม่เอื้ออำนวยหรือข้อจำกัดของระบบ Filesystem แบบเดิม การแยก Tier ระหว่าง Computing Power กับ Storage นี้(ซึ่งเป็นแนวทางที่ใช้อย่างแพร่หลายในปัจจุบันในรูปแบบ Multi-Nodes กับ SAN) เกิดประเด็นด้านต้นทุนในจุดเชื่อมต่อและปัญหาlatency(เพราะเพิ่มจำนวน hop ระหว่าง host กับ disk)อย่างมาก การขยายและปรับเปลี่ยนระบบจึงไม่ยืดหยุ่นจริงดังคำกล่าวอ้าง อันเป็นที่มาของการคิดค้นระบบ Distributed Filesystem แบบใหม่ที่ replicate data ตอนเขียน(Write)ผ่าน local buffer ในทันที ทำให้ข้อมูลกระจายอยู่ในทุก Computing Node ขจัดปัญหาคอขวดในการอ่าน(Read)ข้อมูลโดยอาศัย local cache และทำให้ลดlatencyและเพิ่มประสิทธิภาพพร้อมความยืดหยุ่นในขณะเดียวกัน