เทคโนโลยีกริด กับการพัฒนา ICT ของไทย....

      เทคโนโลยีกริด คือเทคโนโลยีในการสรางระบบกระจายขนาดใหญมากขามองคกรหลากหลายที่อยูหางกันเขาหากันเพื่อใหมีการใชงานทรัพยากรรวมกันอยางปลอดภัย โดยอาศัยเทคโนโลยีของเครือขายความเร็วสูง และเทคโนโลยีของมิดเดิลแวร เทคโนโลยีนี้ ทําใหเราสามารถรวมพลังการคํานวน, เนื้อที่เก็บขอมูล ตางๆเขาหากันได และควมคุมการแจกจายทรัพยากรเหลานี้ใหกับโปรแกรมประยุกตตางๆ ไดตามความตองการ ทําใหบางบริษัทเรียกเทคโนโลยีประเภทนี้วา การประมวลผลตามตองการ (On-demandcomputing) อีกดวย แนวความคิดของการสรางระบบกริด มีตั้งแตในราวกลางทศวรรษที่ 1990 โดยเรียกวา เมตะคอมพิวติ้ง (Meta-Computing) กอน แลวจึงเปลี่ยนเปนกริดในภายหลัง โครงการที่สําคัญหลายโครงการและแนวคิดเริ่มตนถูกสรุปรวมไวในหนังสือ The Grid:Blue Print for a New Computing Infrastructure อยางไรก็ตามแนวคิดที่สําคัญและใชเปนแนวทางของระบบกริดในปจจุบัน คือ แนวคิดของแนวคิดขององคกรเสมือน (Virtual Organization) ซึ่งเสนอโดย Foster,Kesselman และ Tuecke [9] องคกรเสมือนเปนการรวมกันของนักวิจัยโดยมีการใชทรัพยากรรวมกันอย่างใกลชิด โดยใชระบบกริด รวมทรัพยากรที่กระจายตัวตามสภาพภูมิศาสตร (geographicallydistributed) และถูกบริหารโดยองคกรที่แตกตางกัน (multiple administrative domain) เขาหากันผ่านเครือขายสื่อสาร ทําใหเกิด การทํางานที่สะดวกและรวดเร็วมากขึ้น ตัวอยางเชน กลุมนักวิจัยดาน ไบโออินฟอร์เมติกส์ (Bio Informatics) ในมหาวิทยาลัยต่างๆทั่วประเทศสามารถสรางกลุมวิจัยที่เนนดานนี้และใชงานคอมพิวเตอร ฐานข้อมูล ตางๆรวมกันได ซึ่งเทคโนโลยีระบบกริดจะเปน รากฐานสําคัญในการสร้างองคกรเสมือนดังกลาว ไดมีการสํารวจและเปรียบเทียบโครงการและแนวคิดทางเทคโนโลยีดานนี้ไวอยาง กวางขวาง

       

สถาปัตยกรรมกริด

   

สถาปัตยกรรมกริดยุคที่ 1

ระบบกริดไดผานการวิวัฒนาการมาสองยุคดวยกัน ยุคแรกของกริดจะเนนการใชงานดานวิทยาศาสตร์โดย มุงสรางโครงสรางของระบบที่รวมพลังการประมวลผลเขาหากัน เรียกวา คอมพิวเตชั่นนอล กริด (Computational Grid) และ ระบบที่ชวยในการขนสงขอมูลจํานวนมากเรียกวา ดาต้ากริด (Data Grid) ในปจจุบันกริดเริ่มวิวัฒนาการเขาสูยุคที่สอง คือ เซอรวิส โอเรียนทด์ กริด (Service oriented grid) ซึ่งมุงเนนในการสรางบริการ (Services) และการพัฒนาโปรแกรมประยุกตในลักษณะสถาปตยกรรมเนนบริการ (Service OrientedArchitecture หรือ SOA) ในบทความนี้จึงขอแนะนําโครงสรางของทั้งสองยุคเพื่อใหเขาใจไดมากขึ้น สถาปตยกรรมระบบกริดยุคที่หนึ่ง

 

 


โครงสรางของระบบกริดยุคที่ 1 จะเปนไปดัง ซึ่งมีโครงสรางดังภาพที่ 1

1.    กริดแฟบริคเลเยอร์ (Grid Fabric Layer) ในระดับนี้จะประกอบไปดวย ทรัพยากรตางๆเชน คอมพิวเตอรสมรรถนะสูง ระบบเก็บ ขอมูลขนาดใหญ เครือขาย ฐานขอมูล ซึ่งทรัพยากรเหลานี้จะกระจายตัวอยูบนเครือขาย

2.    คอนเน็ททิวีตี้ เลเยอร์ (Connectivity Layer) กําหนดมาตรฐานของการสื่อสารแบบปลอดภัยและการตรวจสอบผูใชและสิทธิตางๆ ใน เลเยอรนี้จะชวยใหมีการติดตอระหวางซอฟตแวรใน กริดแฟบริคเลเยอร์ อยางปลอดภัยและเปนภาพแบบเดียวกัน เทคโนโลยี อยางเชน Secure shell (SSH), Securesocket เลเยอร์ (SSL), Public key encryption จะเปนแกน หลัก

3.    รีซอสเลเยอร์ (Resource Layer) ซอฟตแวรในเลเยอร์ นี้ จะกําหนดชุดของ โพรโตคอล ที่ทําใหมีการ จอง การใช การเจรจา การควบคุมและติดตาม รวมทั้งการคิดราคาการใชงาน บนทรัพยากรตางๆ ในเลเยอรนี้จะตองสนับสนุนการสอบถามและการควบคุมสถานะของทรัพยากรแตละอยาง ซึ่งระบบความปลอดภัยทั้งหมดจะพึ่งพา คอนเน็ททิวีตี้เลเยอร์เปนหลัก

4.    ค็อลเลคทีฟเลเยอร์(Collective Layer) ในเลเยอรนี้จะเปนการประสานงานของการใชงานทรัพยากรจํานวนมากใหเปนไปตามความตองการของ แอ็พพลิเคชั่น บริการเหลานี้บางสวนไดแก Directory Services, SchedulingServices, Data Replication Services, Collaboratory Services

ในการพัฒนาซอฟต์แวรนั้นโครงสรางทั้งหมดจะถูกรวมไวในซอฟตแวรที่เรียกวา กริดมิดเดิลแวร์ (Grid Middleware) ในปจจุบันมิดเดิลแวรที่ใชกันกวางขวางและเปนมาตรฐานที่สุดคือโกลบัส (Globus) ซึ่ง เปนผลงานของ Ian Foster จาก Argonne National Laboratory และ Karl Kasselmann จาก ISI, University of Southern California ในปจจุบันเวอร์ชั่นของโกลบัสที่ใชงานกันมากคือ รุน 3.2 ผูใชงานระบบ กริดจะเรียกใช เอพีไอ (API) ของมิดเดิลแวรหรือเรียกใชบริการบางอยางผานบรรทัดคำสั่ง (command line utility) ที่ระบบใหมา

สถาปัตยกรรมของระบบกริดยุคที่สอง

ในปัจจุบันระบบกริดกําลังกาวเขาสูความเปลี่ยนแปลงครั้งใหญ เนื่องจากการมาถึงของเทคโนโลยี เว็บเซอรวิส (Web Services) ทําใหมองเห็นวาระบบกริดในอนาคตควรจะสรางจากรากฐานของระบบเว็บเซอรวิสดังนั้นทีมงานโกลบัสจึงไดเสนอสถาปตยกรรมโอเพ็นกริดเซอร์วิส (Open Grid Services Architecture หรือ OGSA) ซึ่งนับเปนแนวคิดหลักและกําลังถูกสรางเปนมาตรฐานโดย Global Grid Forum อยู กอนจะอธิบายแนวความคิดของ อ็อกซ่า (OGSA) ขออธิบายแนวคิดการพัฒนาโปรแกรมประยุกตแบบ SOA กอนโดยแนวคิดของการพัฒนาโปรแกรมประยุกตในแนวทาง SOA นี้

ในสถาปตยกรรมแบบ SOA นั้นจะถือวาระบบประกอบไปดวยบริการ (service) จํานวนมากกระจายตัวกันอยูบนเครือขาย โดยมีผูใหบริการ (Service Provider) ทําหนาที่ใหบริการนั้น จากนั้นโปรแกรม ประยุกตจะเปนผูเรียกใชบริการ (Servicerequestor) มาทํางานตามคําสั่งของผูใช การหาวามีผูใหบริการใด บางและอยูที่ไหนจะทําผาน ผูลงทะเบียน (Service registry) ซึ่งผูใหบริการตองมาลงทะเบียนเอาไว ในระบบกริดนั้น บรรดากลไกเหลานี้จะถูกสรางไวเปนพื้นฐาน และมีขีดความสามารถบางอยางเพิ่มเติมขึ้นมา ทําใหสามารถพัฒนาโปรแกรมประยุกตขนาดใหญที่กระจายตัวผานเครือขายไดงาย ตัวอยางกลไกเหลานี้ไดแก

·        แฟคทอรี (Factory) สวนที่ดูแลผูใหบริการทําใหสรางและเรียกใชบริการตางไดงาย

·        รีจิสเตอร์ (Registry) บริการลงทะเบียนทรัพยากรและบริการ

·        ดิสโคเวอร์รี่ (Discovery) สวนคนหาบริการและค้นหาขอมูลบนระบบไดงาย

·        ไลฟ์ไซเคิล (Life Cycle) บริหารเวลาที่ใหบริการทําใหจํากัดการใชทรัพยากรไดงาย

·        เซอร์วิสดาต้าอีริเม็นท์ (Service Data Element) ทําใหเก็บสถานะการทํางานของบริการ

·        โนทิฟิเคชั่น (Notification) ระบบแจงเตือนเมื่อมีเหตุการณตางๆเกิดขึ้น

·        ริไลอเบิลอินโวเคชั่น (Reliable invocation) ระบบสงสัญญาณเตือนในกรณีมีความผิดพลาดหรือเสียหายเกิดขึ้นในระบบ

นอกจากนั้นกริดมิดเดิลแวรของGlobus Version 3.2 ยังใหบริการพื้นฐานอยูอีกสามประการ คือ ระบบความปลอดภัย (Grid SecurityInfrastructure), ระบบบริหารระยะไกลเอ็มเอ็มเจเอฟเอส (Remote Execution MMJFS) และ ระบบสงขอมูลขนาดใหญ (Reliable Transfer Service) อยางไรก็ตาม สิ่งที่สําคัญที่สุด คือ กริดไดกําหนดมาตรฐานการเขียน กริดเซอร์วิส ซึ่งเปน เว็บเซอร์วิส รูปแบบหนึ่งที่ทํางานบนกลไกความปลอดภัยของกริด ทําใหสามารถพัฒนาระบบความปลอดภัยของเว็บเซอร์วิส แอ็พพลิเคชั่น ไดโดยอาศัยกลไกดังกลาว ดังนั้นผูใชจึงสามารถพัฒนาโปรแกรมประยุกตและบริการที่ขยายความสามารถของระบบกริดออกไปไดอยางไมมีขีดจํากัด