คัดลอกจาก: http://javaboom.wordpress.com/2009/09/15/cloud_research_issues/
เนื่องจากช่วง 4-5 เดือนที่ผ่านมา มีผู้ที่สนใจ cloud computing และหัวข้อด้าน virtualization หลายท่านอีัเมลมาถามผมว่าจะทำหัวข้อวิจัยอะไรดี สำหรับท่านที่เรียนปริญญาตรีอยู่ก็ถามหาหัวข้อโปรเจ็คที่เกี่ยวกับ cloud computing ถ้านับตามเวลาถึงวันนี้ก็ไม่ต่ำกว่า 10 ท่านแล้วครับ ผมจึงได้รวบรวมคำตอบไว้ระดับหนึ่ง ใครถามผมมา ผมก็เอาคำตอบที่เป็น template เดิมๆตอบไป ยกเว้นซะว่าท่านที่ถามมาจะมีไอเดียและยิงคำถามเฉพาะเจาะจงมา ผมถึงจะตอบได้ตรงประเด็น
โอเค เข้าเรื่องกันครับ … เอาเข้าจริงๆแล้ว งานวิจัยด้าน cloud computing ก็มุ่งไปที่การแก้ปัญหาหลายๆอย่างดั่งที่เราเคยเห็นกันทั่วไปใน distributed system ตั้งแต่อดีตจนถึงปัจจุบัน เพราะ cloud computing ก็เป็น distributed system ดีๆนี่เอง ส่วนคุณสมบัติที่(น่าจะ)ทำให้ cloud computing ดูโดดเด่น และทำให้ cloud computing แตกต่างไปจาก distributed system หลายๆโมเดลที่ผ่านมาก็คือ cloud computing เสนอโมเดลที่ผู้ให้บริการทรัพยากรคอมพิวเตอร์สามารถนำเสนอระบบแก่ลูกค้าที่สามารถยืดได้หดได้อย่างยืดหยุ่น เพื่อปรับขนาดระบบ(หรือฟิต)กับความต้องการของผู้ใช้งานได้อย่างทันท่วงที และเราก็นิยมเรียกคุณสมบัตินี้ว่า elasticity (หรือ auto-scaling) กล่าวคือ มันสามารถที่จะ scale up และ scale down ได้อย่างยืดหยุ่นทั้ง vertical scale และ horizontal scale (คงได้พูดถึง scalability เมื่อมีโอกาส) และจะรวมไปถึงความสามารถที่เรียกว่า “dynamic provisioning”
ผมจะไม่ลงรายละเอียดกับคำว่า elasticity และ dynamic provisioning ในบทความนี้ (อาจจะยกยอดไปเขียนอีกครั้ง ถ้ามีโอกาสนะ) ท่านใดสนใจอยากทราบจุดเด่นของ cloud computing กับสิ่งที่เรียกว่า elasticity และ dynamic provisioning สามารถศึกษาได้ในรายงานของ Berkley ที่ชื่อ Above the Clouds: A Berkeley View of Cloud Computing
ส่้วนอีกปัจจัยที่ทำให้ cloud computing ได้รับเสียงตอบรับที่ดีจากภาคธุรกิจก็คือ cloud computing ทำเงินได้จากโมเดลที่เรียกว่า utility computing ซึ่งโมเดลนี้เป็นความฝันของ distributed system มาหลายสิบปีแล้วและก็มีหลายบริษัทเคยพัฒนามาแล้ว แต่ทว่า utility computing เริ่มปรากฎให้เห็นเป็นรูปธรรมมากยิ่งขึ้นในยุคที่ distributed system มาบรรจบกับ virtualization พร้อมกับโมเดลก่อนๆที่เข้มแข็งอย่าง grid computing และคุณสมบัติที่ดูโดดเด่นอย่าง elasticity ที่เกิดขึ้นได้ไม่ยากเมื่อมีทรัพยากรคอมพิวเตอร์จำนวนมหาศาลที่ให้บริการผ่านเครือข่ายอินเทอร์เน็ต(ความเร็วสูง) จนท้ายที่สุดก็บังเกิดเป็น cloud computing ขึ้นมานั่นเอง
เท่าที่ผมติดตามผลงานด้าน cloud computing มา ก็เคยมีผู้เชี่ยวชาญแบ่งงานวิจัยด้าน cloud computing หลายท่าน แต่ผมขอรวบรวมและแบ่งหมวดงานวิจัยตามประสบการณ์ของผม และผมขอไม่ลงรายเอียดอธิบายแต่ละหมวดแบบเจาะลึกมากนัก (เช่น จะทำวิจัยอย่างไรดี, ใช้เครื่องมืออะไรในการแก้ปัญหา, และมีเรื่องอะไรบ้างให้แก้ปัญหาได้ เป็นต้น) ท่านใดสนใจก็ค้นคว้าหาเปเปอร์มาอ่านเพิ่มเอาเองแล้วกันนะครับ และผมขออนุญาตใช้ภาษาอังกฤษสำหรับศัพท์เทคนิคบางคำ
(หมายเหตุ: ผมขอเรียก cloud computing สั้นๆว่า cloud)
ผมแบ่งหัวข้อวิจัย(และพัฒนา)ด้าน cloud computing ออกเป็น 8 หมวดด้วยกัน ดังนี้
1. Cloud application คือ การประยุกต์ใช้ cloud สำหรับ application ต่างๆ เช่น database, data mining, high performance computing, scientific workflow เป็นต้น งานเหล่านี้มีคนทำเยอะมากครับ มีตีพิมพ์ลงใน ACM กับ IEEE จำนวนหนึ่งแล้ว และถ้าเป็น application ทางธุรกิจอย่างพวกระบบบัญชีี/CRM เป็นต้น ก็สามารถค้นหาบทความได้ใน google (ส่วนใหญ่เขียนเป็น blog) ถ้าเป็นงานพวก finance/banking ก็ถือว่ายังมีให้เห็นน้อย เพราะคนเขากลัวข้อมูลรั่วไหล (ซึ่งถกกันในหัวข้อที่ 6.) แต่ก็มีบทวิเคราะห์ให้อ่านตาม blog ต่างๆเช่นกัน ถ้าุจะทำหัวข้อประมาณ cloud application นี้ก็คงต้องหา application ที่น่าสนใจมาวิเคราะห์ และต้องหา measurement และ factor ที่เหมาะสมมาใช้ในการวิเคราะห์/เปรียบเทียบ รวมถึงควรมี case study ที่ีเป็นรูปธรรมสำหรับอธิบายด้วยเพื่อทำให้งานมีคุณภาพยิ่งขึ้น
2. Cloud middleware คือ ซอฟต์แวร์ middleware สำหรับพัฒนาและบริหาร cloud computing ซึ่งมีคนทำเยอะพอสมควรเลยทั้งที่เป็นของขาย, opensource, และ freeware ครับ โดยโมเดลของ cloud มี 3 แบบใหญ่ๆคือ IaaS, PaaS, SaaS ซึ่ง cloud middleware ที่ทำกันอย่างจริงจังก็จะเป็น IaaS และ PaaS ตัวอย่างของซอฟต์แวร์ดังกล่าว ได้แก่ Aneka, OpenNebula, Enomaly, Nimbus, Eucalyptus เป็นต้น (Aneka สำหรับ PaaS ส่วนตัวที่เหลือนั้นสำหรับ IaaS) ซึ่งถ้าจะทำงานส่วนนี้มันก็น่าสนใจอยู่ แต่มีคนทำเยอะแล้วและเขาก็พัฒนากันเป็นทีมงานที่ใหญ่พอควร อีกทั้งมีบริษัทหรือหน่วยงานใหญ่ๆสนับสนุน ถ้าทำคนเดียวก็หนักน่าดู อย่างไรก็ดี เราสามารถแต่งเติมจุดที่ขาดหายไปให้กับ middleware ได้ครับ อันนี้ ก็ต้องศึกษาเองแล้วว่าแต่ละตัวมันขาดอะไรบ้าง แล้วจะต่อเติมอะไรเข้าไปได้ นอกจากนี้แล้ว cloud middleware ยังรวมถึง middleware อื่นๆที่สนับสนุนการทำงานของแอพพลิเคชันบน cloud computing อาทิเช่น Hadoop File System (HDFS) สำหรับการสร้าง distributed file system เป็นต้น
3. Market oriented cloud ส่วนนี้ก็ว่าด้วยเรื่อง economic/business model สำหรับ cloud computing ว่าจะซื้อขายทรัพยากรใน cloud ได้อย่างไรให้มีประสิทธิภาพ (เช่น ได้กำไรสูงสุด, ลดต้นทุนมากสุด, ขยายฐานลูกค้าได้มากสุด) เช่น ตั้งราคา/ลดราคาเท่าไหร่ให้ดึงดูดและได้กำไร เป็นต้น ซึ่งมีทั้งงานที่เป็น design, implement, และ theory
4. Resource provisioning (อันรวมถึง elasticity, dynamic provisioning กับ capacity planning) เป็นหัวข้อที่ศึกษากันมานานแล้วสำหรับนักเศรษฐศาสตร์ (ทางวิศวะไฟฟ้าและการสื่อสารเขาก็เล่นมาระยะหนึ่งแล้ว) สำหรับทางคอมพิวเตอร์ก็มีคนศึกษามาตอนปี 1980 แล้ว แต่ทว่า cloud มันมีคุณสมบัติ elasticity ซึ่งเป็นหัวข้อที่ยังน่าสนใจอยู่มาก โดยงาน R&D ในส่วนนี้มีึคนแห่มาทำกันมากขึ้น โดยเฉพาะในส่วน implementation ซึ่งพบได้ในฟีเจอร์ของ cloud middleware ที่กล่าวในหัวข้อที่ 2. ส่วนการทำ elasticity (หรือ auto scaling) ให้กับ application ที่เจาะจงลงไปเลยก็ถือว่าน่าสนใจใช่น้อย เช่น ค้นหาวิธีทำ auto scale สำหรับระบบฐานข้อมูลหรือระบบ game online เป็นต้น
5. Virtualizaiton จริงๆมันก็เป็นงานวิจัยที่สามารถแยกออกมาจาก cloud อย่างเป็นอิสระได้ และเขาก็ทำกันมานานแล้ว แต่ทว่าเรื่องนี้ก็ยังดังไม่เสื่อมคลาย โดยเฉพาะอย่างยิ่งในช่วงที่โมเดล IaaS ของ cloud กำลังได้รับความนิยมอย่างมาก หัวข้อนี้ก็มีตั้งแต่คิดค้นวิธี live migration ของ virtual machine (VM) ที่เีร็วขึ้น, การทำ VM cloning ที่เร็วขึ้น, กาีรค้นหา VM placement ที่มีประสิทธิภาพ (VM placement จะเกี่ยวข้องกับ system consolidation ด้วย), การแชร์หน่วยความจำระหว่าง VM, การจูน Hypervisor (เช่น Xen และ KVM) ให้มีประสิทธิภาพยิ่งขึ้น โดยอุปสรรคของ hypervisor หลักๆเลยคือ overhead ที่เกิดจาก I/O ซึ่งมีคนทำวิจัยด้านนี้พอสมควร แต่หัวข้อการลด overhead ของ I/O ก็ยังเป็นหัวข้อที่เปิดกว้างให้คนเข้ามาปรับปรุงและเพิ่มลูกเล่นได้อยู่เรื่อยๆ
6. Security และ Reliability เรื่องนี้เป็นหัวข้อที่ศึกษากันอยู่แล้วแม้จะไม่มี cloud ก็ตาม หากแต่ผู้คนกังวลและกังขาสำหรับเรื่องนี้มากๆใน cloud หัวข้อดังกล่าวเลยเป็นที่สนใจของนักวิจัย เช่น จะเสนอแบบจำลองทางด้าน trust, sandbox, fault tolerant เช่นไรที่ทำให้ผู้ใช้มั่นใจได้ว่าเขาสามารถฝากระบบไอทีรวมถึงข้อมูลที่สำคัญบน cloud ได้อย่่างปลอดภัย และยังรวมไปถึงการคิดค้นระบบรับประกันคุณภาพหรือ Quality of Service (QoS) ที่ศึกษากันหนักใน network ด้วย เช่นจะรับประกัน network bandwidth รวมถึง CPU bandwidth ให้กับผู้ใช้ได้อย่างไร ถ้าเป็น network bandwidth เขาศึกษากันเยอะแล้ว แต่ถ้าเป็น CPU bandwidth เช่น ผู้ให้บริการ cloud จะรับประกันลูกค้าได้อย่างไรว่าจะให้บริการ CPU (ซึ่งก็คือบริการให้เช่าหน่วยประมวลผล)แก่ลูกค้าให้ได้ความเร็วตามที่สัญญาไว้ (สัญญาไว้ใน SLA) และทำอย่างไรหากผู้ให้บริการบอกว่าระบบของผู้ให้บริการต้องให้บริการ(รวมถึงให้การซัพพอร์ต)ด้วยระดับ availability 24/7 หรือ 99.999 % เป็นต้น
7. Programming model/API/framework for cloud งานส่วนนี้ คือ การคิดค้นโมเ้ดลรวมถึง API และ framework สำหรับเขียนโปรแกรมบน cloud ซึ่งต้องยอมรับเลยว่า Map/Reduce ของ google เป็นตัวที่นิยมมาก และก็มีเพื่อนพ้อง model ต่างๆที่อิืงหรือเทียบเคียงกับ Map/Reduce อาทิเช่น Hadoop, Sector/Sphere และ GridBatch อย่างไรก็ดี โมเดลพวกนี้มันเหมาะสำหรับ application บางประเภท (โดยเฉพาะ data intensive application) ใช่ว่างานทุกงานจะเขียนโดย Map/Reduce ได้หมด ดังนั้น ก็มีนักวิจัยมากมายพยายามค้นหาโมเ้ดลใหม่มาเรื่อยครับ และ่งานส่วนนี้ก็จะเกี่ยวโยงไปหาโมเดลสำหรับพัฒนาโปรแกรมแบบขนานไปในตัวด้วย
8. Green computing คือการคิดค้นอัลริธึมหรือโมเดลทางคณิตศาสตร์ิเพื่อใช้ในการลดการบริโภคพลังงานของ datacenter หรือแก้ปัญหา green computing เพราะว่า datacenter เป็นแกนหลักของทรัพยากรคอมพิวเตอร์ใน cloud และการจะรองรับความต้องการของผู้ใช้ได้ทั่วถึงและตรงความต้องการของผู้ใช้ได้นั้น ผู้ให้บริการต้องเตรียม datacenter ที่ใหญ่มาก (เช่น มีคนกล่าวขานกันว่า google มี datacenter ที่มีเซิร์ฟเวอร์มากกว่าล้านเครื่อง) และผลที่ตามมาก็คือ การบริโภคพลังงานไฟฟ้าอย่างมหาศาล ดังนั้น การประหยัดพลังงานไฟฟ้า/น้ำ, การลดความร้อน, การรีไซเคิล จึงเป็นหัวข้อที่ร้อนแรงมากในงานวิจัยด้าน cloud เช่นกัน
เกี่ยวกับฉัน
คลังบทความของบล็อก
-
▼
2011
(15)
-
▼
เมษายน
(8)
- Paradigm หรือ กระบวนทัศน์
- ชื่อตำแหน่งในสายงานภาษาอังกฤษ
- เริ่มต้นกับการเขียน Facebook Application สำหรับผู้...
- Security and data Protection in a Google data center
- javascript สำหรับเชื่อมโยงcomment ในfacebook
- หมวดงานวิจัยเกี่ยวกับ Cloud Computing
- โครงการนำร่องระบบการเชื่อมโยงข้อมูลสุขภาพของผู้ป่ว...
- สรุปประชุมคณะกรรมการข้อมูลข่าวสารสุขภาพแห่งชาติ
-
▼
เมษายน
(8)
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น