Cloud computing
Cloud computing คือ วิธีการประมวลผลที่อิงกับความต้องการของผู้ใช้ โดยผู้ใช้สามารถระบุความต้องการไปยังซอฟต์แวร์ของระบบ Cloud Computing จากนั้นซอฟต์แวร์จะร้องขอให้ระบบจัดสรรทรัพยากรและบริการให้ตรงกับความต้องการผู้ใช้ ทั้งนี้ระบบสามารถเพิ่มและลดจำนวนของทรัพยากร รวมถึงเสนอบริการให้พอเหมาะกับความต้องการของผู้ใช้ได้ตลอดเวลา โดยที่ผู้ใช้ไม่จำเป็นต้องทราบเลยว่าการทำงานหรือเหตุการณ์เบื้องหลังเป็นเช่นไร
คำว่า Cloud Computing มีผู้ได้ให้คำนิยามไว้หลากหลาย
เช่น
”การประมวลผลที่อิงกับความต้องการของผู้ใช้ โดยผู้ใช้สามารถระบุความต้องการไปยังซอฟต์แวร์ของระบบ Cloud Computing จากนั้นซอฟต์แวร์จะร้องขอให้
ระบบ จัดสรรทรัพยากรและบริการให้ตรงกับความต้องการของผู้ใช้
โดยระบบสามารถเพิ่มหรือลดจำนวนทรัพยากรให้พอเหมาะกับความต้องการของผู้ใช้
โดยที่ผู้ใช้ไม่ต้องทราบการทำงานเบื้องหลังว่าเป็นอย่างไร” โดย JavaBoom
Collection
หรือ คำนิยามจากวิกิพีเดีย ที่ว่า “Cloud Computing อ้างถึงทรัพยากรสำหรับการคำนวณผลที่ถูกเข้าถึง
ซึ่งโดยทั่วไปถูกเป็นเจ้าของและถูกดำเนินการโดยผู้ให้บริการบุคคลที่ 3
(third-party provider) ซึ่งได้รวบรวมพื้นฐานที่จำเป็นทั่วไปเข้าไว้ด้วยกันในตำแหน่งที่ตั้งของศูนย์คอมพิวเตอร์
(Data Center) โดยผู้บริโภคบริการ cloud computingเสียค่าใช้จ่ายเพื่อความสามารถการคำนวณหรือการประมวลผลตามที่ต้องการ
และไม่จำเป็นต้องรู้หรือเข้าใจในเทคโนโลยีที่สำคัญซึ่งซ่อนอยู่
อันที่ถูกใช้เพื่อเพิ่มประสิทธิภาพของเครื่องแม่ข่าย (server) อย่างไรก็ตามมีตัวเลือกสำหรับผู้พัฒนาที่ต้องรู้และต้องคำนึงถึงในเทคโนโลยีสำคัญซึ่งซ่อนอยู่ในส่วนของการบริการแพล็ตฟอร์ม
(platform services)”
การที่มีบางท่านให้คำนิยาม Cloud Computing ว่า “การประมวลผลแบบกลุ่มเมฆ” นั้น
ผู้เขียนเข้าใจว่าอาจเป็นเพราะ Cloud Computing เป็นการทำงานโดยใช้ทรัพยากรที่มีอยู่มากมายบนระบบเครือข่ายอินเตอร์เน็ต
ซึ่งเราเพียงแต่เชื่อมต่อกับระบบเครือข่ายอินเตอร์เน็ต
โดยไม่ต้องสนใจว่าทรัพยากรที่ใช้อยู่นั้นมาจากต่างที่ต่างระบบเครือข่าย
ทั้งที่อยู่ใกล้ ๆ หรือไกลออกไป เป็นการใช้ทรัพยากรภายในเครือข่ายขนาดใหญ่
จึงใช้สัญลักษณ์รูปก้อนเมฆแทนที่ตั้งของทรัพยากรคอมพิวเตอร์ทั้งหมดที่มีไว้
ให้บริการโดยผู้ให้บริการบุคคลที่สามแทน
มาถึงตรงนี้คงพอจะเห็นภาพของ Cloud Computing บ้างแล้ว
จึงขอกล่าวถึงคำที่เกี่ยวข้องอื่น ๆ อีก เช่น
- Cloud Provider สำหรับคำนี้คงไม่ต้องอธิบายมาก เพราะหมายถึงผู้ให้บริการระบบ Cloud นั่นเอง
- Cloud Storage คือสถานที่เก็บทรัพยากรสำหรับระบบ Cloud
ความแตกต่างระหว่าง Cloud Computing กับ Hosting ประเภทต่างๆ
เช่น Application Hosting หรือพื้นที่ให้บริการโปรแกรมประยุกต์, Web
Hosting หรือพื้นที่ให้บริการเว็บไซต์, File Hosting หรือพื้นที่ให้บริการจัดเก็บไฟล์ข้อมูลนั้น
อยู่ตรงที่ Cloud Storage มี อิสระในการปรับขีดความสามารถ สมรรถนะ
และขนาดทรัพยากรได้ตามภาระงาน
เนื่องจากไม่มีข้อจำกัดในการขยายทรัพยากรสำหรับผู้ให้บริการ
เพราะมีความร่วมมือกับผู้ให้บริการบุคคลที่สามที่เป็นผู้จัดหาและจัดสรร
ทรัพยากรอยู่แล้ว ดังนั้นไม่ว่าจำนวนโปรแกรมจะใช้ทรัพยากรในการประมวลผลมากขึ้นเท่าไร
หรือต้องใช้พื้นที่ในการเก็บข้อมูลเพิ่มขึ้นอีกเท่าไหร่ ผู้ใช้บริการ
และผู้ให้บริการ Cloud ไม่จำเป็นต้องกังวลในข้อจำกัดนี้ อย่างไรก็ตามเรื่องค่าใช้จ่ายนั้นจะขึ้นกับการจ่ายตามที่ใช้จริง
(pay-per-use) และอาจมีเรื่องอื่นๆ อีกขึ้นอยู่กับข้อตกลงของแต่ละเจ้าที่ให้บริการ
โดยปัจจุบันมีผู้ให้บริการอยู่มากมาย เช่น Google Apps, Google
App Engine, IBM Blue Cloud, Amazon EC2 เป็นต้น
เปรียบเทียบข้อดี ข้อเสีย ของ Cloud
Computing
ข้อดี
|
ข้อเสีย
|
1.ลดต้นทุนค่าดูแลบำรุงรักษาเนื่องจากค่าบริการได้รวมค่าใช้จ่ายตามที่ใช้งานจริง
เช่น ค่าจ้างพนักงาน ค่าซ่อมแซม ค่าลิขสิทธิ์ ค่าไฟฟ้า ค่าน้ำ
ค่าน้ำมันเชื้อเพลิง ค่าอัพเกรด และค่าเช่าคู่สาย เป็นต้น
2.ลดความเสี่ยงจากการเริ่มต้นหรือทดลองโครงการ
3.มีความยืดหยุ่นในการเพิ่มหรือลดระบบตามความต้องการ
4.ได้เครื่องแม่ข่ายที่มีประสิทธิภาพ
มีระบบสำรองข้อมูลที่ดี มีเครือข่ายความเร็วสูง
5.มีผู้เชี่ยวชาญดูแลระบบและพร้อมให้บริการช่วยเหลือ 24 ชั่วโมง
|
1.เนื่องจากเป็นการใช้ทรัพยากรที่มาจากหลายที่หลายแห่งทำให้อาจมีปัญหาในเรื่องของ
ความต่อเนื่องและความเร็วในการเข้าทรัพยากรมากกว่าการใช้บริการ Host ที่ Local หรืออยู่ภายในองค์การของเราเอง
2.ยังไม่มีการรับประกันในการทำงานอย่างต่อเนื่องของระบบและความปลอดภัยของข้อมูล
3.ความไม่มีมาตรฐานของแพลทฟอร์ม
ทำให้ลูกค้ามีข้อจำกัดสำหรับตัวเลือกในการพัฒนาหรือติดตั้งระบบ
|
Cloud Computing กับความปลอดภัย
(Security)
ในประเด็นเรื่องความปลอดภัยนั้น
อันที่จริงในเชิงเทคนิคลูกค้าหรือผู้ใช้บริการสามารถทำได้ในระดับหนึ่ง เช่น การทำ Virtualization
โดยลูกค้ามีสิทธิ์เต็มที่ในลักษณะของผู้ดูแลระบบเพื่อการกำหนดความปลอดภัยให้กับเครื่อง
หรือ Virtual Machine ของตน, การใช้ระบบแจ้งเตือนเมื่อมีผู้ดูแลระบบพยายามดูข้อมูลของลูกค้า
และการMonitoring ทั้งห้อง data center จนถึงขั้น
capture หน้าจอ admin
แต่ทั้งนี้ยังคงมีจุดอ่อนสำคัญที่ผู้ใช้บริการควรตระหนักถึง
นั่นคือ เมื่อเป็นการจ้างให้บุคคลภายนอกเข้ามาดูแลระบบของเรา
เราจะมั่นใจได้อย่างไรว่าคนนั้นจะไม่แอบเก็บข้อมูลไปใช้เพื่อประโยชน์ของตน
เองหรือเปิดเผยข้อมูลแก่บุคคลอื่น
ยิ่งถ้าเป็นหน่วยงานที่เกี่ยวข้องกับความมั่นคงของประเทศ
ข้อมูลยิ่งเป็นสิ่งที่สำคัญมากๆ หรือถ้าเป็นองค์กรทางด้านการเงิน
ถึงแม้เราจะมีระบบตรวจสอบ หรือ audit เพื่อติดตาม ว่าใครทำอะไร ตรงไหน
แต่เมื่อเกิดเหตุและจับได้ก็คงทำได้แค่ลงโทษตามกฎบริษัทหรือดำเนินคดีตาม กฎหมาย
แต่ความเสียหายได้เกิดขึ้นแล้ว อย่างไรก็ตามไม่ว่าจะเป็นการจัดจ้างบุคคลภายนอก (outsourcing)
หรือ ใช้บุคลากรภายใน เหตุการณ์เช่นนี้ก็สามารถเกิดขึ้นได้
ดังนั้นเราต่างต้องอาศัยความเชื่อใจและใช้จรรยาบรรณในการประกอบอาชีพ
สิ่งที่ผู้ให้บริการ Cloud หรือ Cloud Provider ทำให้ได้
ก็คือ การรับประกันสัญญา หรือกำหนดมาตรฐานการดูแลระบบ และยึดมั่นในมาตรฐานนั้น นอกจากนี้ควรมีการควบคุมการเปิดให้บริการของ
Cloud Provider นั่นคือ มีการกำหนดว่าบริษัทที่จะเป็น Cloud
Provider ได้ อาจต้องได้รับการรับรอง หรือมี certification
อะไรรับรองบ้าง ต้องมี ISO ควบคุม
และต้องมีเทคโนโลยีความปลอดภัยอะไรเสนอต่อลูกค้า (Cloud Consumer) บ้าง
เป็นต้น
Cloud Computing แบ่งออกเป็น 4 ประเภท
Private Cloud หรือพวกคลาวส่วนตัว
คือ ระบบ Cloud ที่องค์กร หรือหน่วยงานสร้างหรือ Setup ขึ้นมาเพื่อไว้ใช้กันเอง
อาจจะติดตั้งภายในองค์กร หรือติดตั้งไว้ภายนอกก็ได้ อาจจะดูแลเองหรือจ้าง outsource
ดูแลให้ก็ว่ากันไป แต่โดยหลักๆ ก็คือ สร้างขึ้นมาเพื่อรองรับหรือไว้ใช้สำหรับตัวเอง
เลยเรียกคลาวประเภทนี้ว่า Private Cloud
Community Cloud หรือคลาวแบบเครือข่ายสังคมเฉพาะกลุ่ม
สร้างขึ้นมาอาจจะเพื่อใช้เป็นมาตรฐาน หรือใช้ในการแก้ไขปัญหา
หรือทำอะไรร่วมกันสักอย่างของคน หรือสังคมใดสังคมหนึ่ง ยกตัวอย่างอาจจะเป็น องค์กร
ภาครัฐ หรือเอกชน แต่เขาจะมีการตั้งกติกา กฎระเบียบในการใช้งานร่วมกัน เช่นกัน
อุปกรณ์อาจจะตั้งที่องค์กรหรือไปตั้งไว้ที่อื่นก็ได้
Public Cloud อันนี้คือ
คลาวแบบสาธารณะเลย คือใช้แบบร่วมกัน หรือแชร์กัน คน องค์กร หรือหน่วยงาน
อาจจะมาเช่าใช้ ซึ่งจะมีผู้ให้บริการด้านนี้ เป็นคนลงทุนด้านโครงสร้างต่างๆ
ทั้งพวก Hardware หรือ Software ทั้งหมด
Hybrid Cloud หรือคลาวแบบลูกผสมระหว่าง
Private Cloud กับ Community Cloud หรือ
Public Cloud แต่ในเรื่องของการทำงานหรือใช้งานแล้ว
ก็ต่างคนต่างทำงานแบบอิสระต่อกัน แต่สามารถทำงานร่วมกันได้ตามต้องการ
puting คือ
วิธีการประมวลผลที่อิงกับความต้องการของผู้ใช้
โดยผู้ใช้สามารถระบุความต้องการไปยังซอฟต์แวร์ของระบบ Cloud Computing จากนั้นซอฟต์แวร์จะร้องขอให้ระบบจัดสรรทรัพยากรและบริการให้ตรงกับความต้อง
การผู้ใช้
ทั้งนี้ระบบสามารถเพิ่มและลดจำนวนของทรัพยากร
รวมถึงเสนอบริการให้พอเหมาะกับความต้องการของผู้ใช้ได้ตลอดเวลา
โดยที่ผู้ใช้ไม่จำเป็นต้องทราบเลยว่าการทำงานหรือเหตุการณ์เบื้องหลังเป็น เช่นไร
คำว่า
Cloud Computing ในรูปแบบที่
(น่าจะ) เข้าใจง่ายขึ้นที่ นิยามคำว่า Cloud Computing ภาค
2 สำหรับท่านที่กำลังค้นหาหัวข้อวิจัยและพัฒนาเกี่ยวกับ Cloud Computing สามารถไปอ่านบทความของผมได้ในหัวข้อชื่อ
หมวดงานวิจัยเกี่ยวกับ Cloud Computing
ความหมายของคำหลักๆ 3
คำที่เกี่ยวข้องกับ Cloud Computing ต่อไปนี้
1. ความต้องการ (Requirement) คือโจทย์ปัญหาที่ผู้ใช้ต้องการให้ระบบคอมพิวเตอร์แก้ไขปัญหาหรือตอบปัญหาตาม
ที่ผู้ใช้กำหนดได้ ยกตัวอย่าง เช่น
ความต้องการพื้นที่จัดเก็บข้อมูลขนาด
1,000,000 GB, ความต้องการประมวลผลโปรแกรมแบบขนานเพื่อค้นหายารักษาโรคไข้หวัดนกให้ได้สูตร
ยาภายใน 90 วัน, ความต้องการโปรแกรมและพลังการประมวลผลสำหรับสร้างภาพยนต์แอนนิเมชันความยาว 2
ชั่วโมงให้แล้วเสร็จภายใน 4 เดือน,
และความต้องการค้นหาข้อมูลท่องเที่ยวและโปรแกรมทัวร์ในประเทศอิตาลีในราคา
ที่ถูกที่สุดในโลกแต่ปลอดภัยในการเดินทางด้วย เป็นต้น
2.ทรัพยากร (Resource) หมายถึง
ปัจจัยหรือสรรพสิ่งที่เกี่ยวข้องกับการประมวลผลหรือเกี่ยวข้องกับการแก้ไข
ปัญหาตามโจทย์ที่ความต้องการของผู้ใช้ได้ระบุไว้ อาทิเช่น CPU, Memory (เช่น
RAM), Storage (เช่น harddisk), Database, Information,
Data, Network, Application Software, Remote Sensor เป็นต้น
3.บริการ (Service) ถือว่าเป็นทรัพยากร
และในทางกลับกันก็สามารถบอกได้ว่าทรัพยากรก็คือบริการ โดยเฉพาะอย่างยิ่งในด้านCloud
Computingแล้ว เราจะใช้คำว่าบริการแทนคำว่าทรัพยากร
คำว่าบริการหมายถึงการกระทำ (operation) เพื่อให้เกิดผลลัพธ์ที่สนองต่อความต้องการ
(requirement) แต่การกระทำของบริการจะเกิดขึ้นได้จำเป็นต้องพึ่งพาทรัพยากร
โดยการใช้ทรัพยากรที่เกี่ยวข้องเพื่อแก้ปัญหาให้เกิดผลลัพธ์สนองต่อความต้องการ
สำหรับ Cloud Computing แล้ว ผู้ใช้ไม่จำเป็นต้องสนใจเลยว่าระบบเบื้องล่างทำงานอย่างไร ประกอบไปด้วยทรัพยากร (resource) อะไรบ้าง ผู้ใช้แค่ระบุความต้องการ (requirement) จากนั้นบริการ (service) ก็เพียงให้ผลลัพธ์แก่ผู้ใช้
ส่วนบริการจะไปจัดการกับทรัพยากรอย่างไรนั้น ผู้ใช้ไม่จำเป็นต้องสนใจ สรุปได้ว่า
ผู้ใช้มองเห็นเพียงบริการซึ่งทำหน้าที่เสมือนซอฟต์แวร์ที่ทำงานตามโจทย์ของ
ผู้ใช้
โดยที่ผู้ใช้ไม่จำเป็นต้องรับทราบถึงทรัพยากรที่แท้จริงว่ามีอะไรบ้างและถูกจัดการเช่นไร
หรือไม่จำเป็นต้องทราบว่าทรัพยากรเหล่านั้นอยู่ที่ไหน
ตัวอย่าง Cloud computing
แหล่งที่มา : https://sites.google.com/site/sawitree1008/