ที่มา blognone
ผู้เขียน ไม่ระบุ
นิยามของ Cloud Computing หรือ การประมวลผลแบบกลุ่มเมฆ
* บริษัทการ์ตเนอร์ Gartner ได้ให้นิยามว่า “Cloud computing is a style of computing where massively scalable IT-related capabilities are provided ‘as a service’ across the Internet to multiple external customers” หรือ ระบบการประมวลผลแบบกลุ่มเมฆคือ แนวทางการประมวลผลที่พลังของโครงสร้างทางไอทีขนาดใหญ่ที่ขยายตัวได้ถูกนำ เสนอยังลูกค้าภายนอกจำนวนมหาศาลในรูปแบบของบริการ
* ฟอเรสเตอร์กรุ๊ป ได้นิยามว่า “ cloud computing: A pool of abstracted, highly scalable,and managed infrastructure capable of hosting end-customer applications and billed by consumption” หรือ กลุ่มของโครงสร้างพื้นฐานที่ถูกบริหารจัดการและขยายตัวได้อย่างมาก ซึ่งมีขีดความสามารถในการรองรับโปรแกรมประยุกต์ต่างๆของผู้ใช้และเก็บค่า บริการตามการใช้งาน
โครงสร้างการประมวลผลแบบกลุ่มเมฆ
การประมวลผลแบบกลุ่มเมฆจะมีโครงสร้างดังนี้ ที่มา Wikipedia: cloud computing ระบบจะประกอบไปด้วย
* กลุ่มเมฆของเซอร์ฟเวอร์ (cloud server) ซึ่งเป็นเซอร์ฟเวอร์จำนวนมหาศาลนับหมื่นนับแสนเครื่องที่ตั้งอยู่ในที่เดียว กัน กลุ่มเมฆนี้ต่อเชื่อมเข้าหากันด้วยเครือข่ายเป็นระบบกริด ในระบบนี้จะใช้ซอฟต์แวร์เวอร์ช่วลไลเซชั่นในการทำงานเพื่อให้โปรแกรม ประยุกต์ขึ้นกับระบบน้อยที่สุด
* ส่วนติดต่อกับผู้ใช้ ( User interaction interface) ทำหน้าที่รับคำขอบริการจากผู้ใช้ในรูปแบบเวบโปรโตคอล
* ส่วนจัดเก็บรายการบริการ (Services Catalog) เก็บและบริหารรายการของบริการ ผู้ใช้สามารถค้นดูบริการที่มีจากที่นี่
* ส่วนบริหารงาน (system management) ทำหน้าที่กำหนดทรัพยากรที่เหมาะสมเมื่อผู้ใช้เรียกใช้บริการ เมื่อมีการขอใช้บริการ ข้อมูลการขอ request จะถูกส่งผ่านให้ส่วนนี้
* ส่วนจัดหาทรัพยากร (provisioning services) จากนั้นส่วนบริหารงานจะติดต่อกับส่วนนี้ เพื่อจองทรัพยากรจากกลุ่มเมฆและเรียกใช้โปรแกรมประยุกต์แบบเวบที่เหมาะสมให้ เมื่อโปรแกรมประยุกต์ทำงานแล้วก็จะส่งผลที่ได้ให้ผู้ใช้ที่เรียกใช้บริการ ต่อไป
* ส่วนตรวจสอบข้อมูลการใช้งาน (Minitoring and Metering) เพื่อใช้ในการเก็บค่าบริการหรือเก็บข้อมูลสถิติเพื่อปรับปรุงระบบต่อไป
การพัฒนาโปรแกรมประยุกต์เพื่อประมวลผลบนกลุ่มเมฆ
การพัฒนาเทคโนโลยีการบริหารและการโปรแกรมระบบกลุ่มเมฆส่วนใหญ่ยังเป็นแบบ เฉพาะของแต่ละบริษัท อย่างไรก็ตาม ทาง กูเกิ้ลได้เข้ามาสนับสนุนโครงการ Hadoop ซึ่งเป็นโครงการโอเพ่นซอร์สที่พัฒนาระบบ โปรแกรมแบบ map Reduce ตามที่ กูเกิ้ลได้ออกแบบไว้ ระบบโปรแกรมแบบนี้ใช้หลักการของการสร้าง map ของข้อมูลและการ คำนวณอย่างรวดเร็ว และ ส่งลงไปยังเซอร์ฟเวอร์ต่างๆในกลุ่มเมฆ เมื่อคำนวณเสร็จ ผลที่ได้จะถูก reduce มารวมเป็นคำตอบ ดังนั้นการพัฒนาโปรแกรมประยุกต์กลุ่มเมฆ เริ่มจึงมีความเป็นมาตรฐานมากขึ้น
ในมุมมองของผู้ใช้ระบบประมวลผลแบบกลุ่มเมฆจะหายไปเหลือเพียงบริการหรือ เซอร์วิสเท่านั้น ซึ่งโมเดลหลักจะมีสองแนวทางด้วย คือ
* SAAS (Software As A Services) ซึ่งบริการทุกอย่างรวมถึง User Interface ทำจากระบบประมวลผลแบบกลุ่มเมฆหมด ตัวอย่างเช่น กูเกิ้ลsearch, กูเกิ้ลapp เป็นต้น ข้อดีคือ ผู้ใช้สามารถใช้ระบบโดยไม่ต้องลงซอฟต์แวร์ใดๆ นอกจากเวบบราวเซอร์ และยังง่ายต่อการพัฒนาใน Mobile Device แต่อาจต้องการเครือข่ายที่เร็วและเสถียร
* Software+Services ของไมโครซอฟต์ซึ่งต้องลงซอฟต์แวร์บนเครื่องของผู้ใช้ แต่การประมวลผลขนาดใหญ่หรือขีดความสามารถเพิ่มเติมจะทำจาก กลุ่มเมฆแทน ข้อดีคือ การทำงานจะตอบสนองได้ดีกว่าและสามารถประมวลผลเองได้บางส่วนโดยไม่ต้องมี เครือข่าย อย่างไรก็ตามผู้ใช้ต้องบำรุงรักษาซอฟต์แวร์ที่ลงไว้ทำให้เกิดความซับซ้อน มากกว่าในส่วนนี้
ผลกระทบกับวงการไอที
การใช้เทคโนโลยีแบบ cloud computing นั้นมีประโยชน์ต่อผู้ใช้หลายประการ
* ประการแรก การสร้างระบบคอมพิวเตอร์สามารถ ตั้งอยู่ที่ไหนก็ได้ ผู้ใช้ไม่ต้องทราบสถานที่ตั้งขอให้มีเครือข่ายที่มีแบนด์วิทธ์พอเพียงเท่า นั้น (ตัวอย่างเช่น เราเองไม่เคยทราบว่ากูเกิลนั้นตั้งอยู่ที่ใดบ้าง) ทำให้เราสามารถย้ายระบบคอมพิวเตอร์ไปก่อสร้างศูนย์ข้อมูลมีค่าใช้จ่ายที่ต่ำ เช่น ราคาที่ดินถูก อยู่ใกล้โรงไฟฟ้าหรือแหล่งพลังงานราคาถูก เคยมีคนบอกว่าสถานที่ในการก่อสร้างศูนย์ข้อมูลขนาดยักษ์แห่งอนาคตอาจเป็ท ี่เย็นๆ เช่น ยุโรปเนือ หรือ ไอซ์แลนด์ ซึ่งความหนาวเย็นทั้งปี สามารถนำมาระบายความร้อนได้อัตโนมัติและในราคาถูก
* ประการที่สอง ระบบจะทำให้เกิดการใช้งานคอมพิวเตอร์อย่างมีประสิทธิภาพ เนื่องจากมีการแบ่งสรรการใช้งานระหว่างผู้ใช้จำนวนมหาศาล ทำให้สามารถออกแบบระบบที่ไม่ต้องเผื่อการใช้งานที่รับงานหนักไว้มากนัก นอกจากนั้นยังสามารถเพิ่มจำนวนเครื่องได้ง่ายเมื่อมีความต้องการสูงขึ้น ประการที่สาม ทำให้เกิดการแยกกันระหว่างการบำรุงรักษาโครงสร้างด้านระบบคอมพิวเตอร์และ เครือข่ายออกจากการบำรุงรักษาระบบโปรแกรมประยุกต์อย่างชัดเจน ทั้งนี้เป็นผลจากแนวคิดของ เวอร์ชวลไลเซชั่นและ ไดนามิคโปรวิชั่นนิ่งที่คุมการจัดสรรทรัพยากรไอทีตามความต้องการด้วยนอกจาก นั้นการแยกส่วนของการติดต่อผู้ใช้ออกด้วยเทคโนโลยี เวบ 2.0 ทำให้ผู้ใช้รับผลกระทบจากการปรับโครงสร้างระบบน้อยมากประการที่สี่ ทำให้เกิดการแยกระหว่างการโปรแกรมและระบบที่ใช้รันงาน ทำให้สามารถเคลื่อนย้ายโปรแกรมไปบนระบบ ผลคือ ความมีเสถียรภาพจะสูงขึ้นเนื่องจากสามารถ รันโปรแกรมหลายชุดและย้ายออกจากระบบคอมพิวเตอร์มที่เกิดปัญหาได้ง่ายและสุด ท้ายนี้ แนวคิดนี้ ทำให้เกิดการเช่าซื้อพลังการประมวลผลเป็นการประหยัดการซื้อระบบมาทำงานที่ เกิดไม่บ่อยนัก หรืองานหนักๆที่นานๆจะเกิดขึ้นสักหน
ตัวอย่างการประยุกต์
Amazon EC2 (Amazon Elastic Compute Cloud)
Amazon EC2 รับโฮสต์ คอมพิวเตอร์เสมือน (virtual Machine) ของผู้ใช้และเก็บเงินโดยคิดตามการใช้งาน CPU และ ปริมาณการรับส่งข้อมูล สำหรับข้อมูลต่างๆจะถูกเก็บบน Amazon S3 (Amazon Simple Storage Services) ซึ่งเป็นบริการเก็บข้อมูลซึ่งใช้หลักการของ cloud computing เช่นกัน สำหรับการใช้งาน ผู้ใช้ต้องสร้างคอมพิวเตอร์เสมือนเรียกว่า AMI (Amazon Machine Language) ขึ้นบนระบบ S3 ซึ่งเป็นส่วนเก็บข้อมูล คอมพิวเตอร์เสมือน AMI นี้จะประกอบไปด้วย ระบบปฏิบัติการและซอฟต์แวร์ที่เราต้องการใช้งาน ทางอเมซอนได้จัดหาโปรแกรมที่สามารถ สร้างและควบคุม AMI ให้ผู้ใช้เรียบร้อยแล้ว จากนั้นผู้ใช้ต้อง โหลด AMI ของตนเองไปยัง Amazon S3 แล้วลงทะเบียนใช้งานกับระบบ EC2 ท้ายที่สุดเมื่อผู้ใช้สั่งให้ AMI ทำงาน ทาง amazon ก็จะเริ่มเก็บเงินตามอัตราที่กำหนดไว้ การติดต่อกับคอมพิวเตอร์เสมือนที่ทำงานจะทำผ่าน เวบเซอร์วิส โดยใช้ Java เป็นหลัก
ตัวอย่างหนึ่งของการใช้งานเทคโนโลยีของ EC2 คือ การสร้างเวบที่เรียกว่า TimesMachine ซึ่งหนังสือพิมพ์ New York Times ได้ทำไว้โดยทางหนังสือพิมพ์ได้รวบรวมหน้าหนังสือพิมพ์ช่วงปี 1851-1922 ที่ แสกนเก็บไว้ นำมาแปลงเป็ PDF ให้สืบค้นได้ ซึ่งเอกสารเหล่านี้มีข่าวที่หน้าสนใจเชิงประวัติศาสตร์จำนวนมาก ยกตัวอย่าง เช่น หนังสือพิมพ์ที่ออกในวันที่ ประธานาธิบดีลินคอล์นถูกยิงเสียชีวิต ข่าวเรือไตตานิคจม ข่าวสงครามกลางเมืองสหรัฐ จากรูปเป็นหนังสือที่พิมพ์วันที่ 4 เมษายน 1912 มีข่าวเรือไตนิคจมลง
ในการสร้าง TimesMachine นี้ ต้องมีการประมวลผลข้อมูลกว่า 150 ปีที่เก็บไว้และแปลงเป็นระบบดิจิตอลแบบ TIFF ไฟล์แล้ว ข้อมูลที่นำมาประมวลผลมี ไฟล์แบบ TIFF ขนาดใหญ่กว่า 405,500 ไฟล์ บทความในรูปแบบ SGML กว่า3.3 ล้านฉบับ รวมกับไฟล์แบบ XML รวม 405,000 ไฟล์ ผลที่ได้จากการแปลง คือไฟล์รูปภาพแบบ PNG 810,000 ไฟล์ และ JavaScript 405,000 ไฟล์ รวมแล้วขนาดมากกว่า 1.5 เทราไบต์ การแปลงข้อมูลได้นำกำลังการคำนวณมาจากระบบ EC2/S3 และใช้ระบบ Hadoop ในการโปรแกรม โดยใช้กระจายการประมวลผลไปบน EC2 กว่า 100 เครื่องให้ทำงานพร้อม
Google App Engine
Google app เป็นการต่อยอดโดยอนุญาตให้ผู้ใช้สร้างกลุ่มเสมือนและมีบริการซอฟต์แวร์เช่น อีเมล์ ปฏิทินนัดหมาย การสื่อสารแบบแชท ครบวงจรภายในกลุ่ม นอกจากนั้นยังมีการเปิดให้พัฒนา กูเกิ้ลApp ที่ทำงานแบบเวบเซอร์วิสบนระบบเมฆของกูเกิ้ลโดยใช้ API ของ Google app engine อีก ด้วย
รายชื่อผู้ให้บริการหรือพัฒนาเทคโนโลยีนี้
Amazon
Amazon Web Services
* EC2 – computing in cloud
o Xen Virtualize (1 Unit ~= 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor) มีให้เลือก 3 ขนาด
* S3 – online storage
* SimpleDB – online database
o เขียนด้วย Erlang
AOL
* XDrive – online storage
Google
* App Engine
Microsoft
* Windows Live SkyDrive – online storage
Symantec
* ซื้อ SwapDrive ($123M) TechCrunch
o ให้บริการ storage in cloud
* Veritas Virtual Infrastructure (VxVI) = Citrix XenServer + Symantec’s Veritas Storage Foundation