0161 | Cloud ในชีวิตประจำวัน…

ทุกวันนี้เวลาคนมาบอกว่าอยากได้ cloud นี่ผมจะชอบถามกลับมากๆ เลยครับว่า “อะไรคือ cloud”?

Cloud เนี่ย จริงๆ แล้วเกิดจากปัญหาพื้นฐานของคนเราอย่างนึงว่า เราไม่สามารถทำทุกอย่างได้ด้วยตัวเองแล้วคุ้มค่าพอ… ก็เลยต้องอาศัยการพึ่งพากันของผู้ให้บริการและผู้ใช้บริการ โดยการสร้างผู้ให้บริการรายใหญ่ขึ้นมา มาให้บริการกับผู้ใช้บริการรายย่อยๆ อีกที

Cloud ในชีวิตประจำวันที่เห็นชัดเจนที่สุดคือร้านอาหาร… (โดยเฉพาะอาหารตามสั่ง) ครับ ปัจจัยคือการที่ถ้าเราตัวคนเดียวจะทำอาหารกินเอง จะเป็นการสิ้นเปลืองมาก ไหนจะซื้อวัตถุดิบ ปรุง ทำเสร็จกิน แล้วก็ต้องเก็บกวาด แถมวัตถุดิบทำอาหารส่วนมากก็ของสดที่เก็บได้ไม่นาน หมายความว่าซื้อมาตุนไม่ได้ ต้องซื้อให้พอทำกิน แถมซื้อมาแล้วบางทีทำกินได้สี่ห้ามื้อ (ใครมันจะอยากกินอาหารอย่างเดียวซ้ำๆ) แถมทำกินคนเดียวก็คงไม่ได้ทำกับข้าวหลายๆ อย่าง ก็เลยเกิดร้านอาหารขึ้น ในที่นี้ร้านอาหารก็คือ provider ที่ทำหน้าที่เตรียมทรัพยากร (วัตถุดิบปรุงอาหาร) เรามีหน้าที่แค่สั่งแล้วนั่งรอ ก็ได้กินอาหารพอสำหรับ 1 คนโดยที่ไม่เปลืองเงินมาก และหลากหลายไม่ซ้ำซากจำเจ

cloud เข้ามาช่วยลดต้นทุนของการสร้างโครงสร้างพื้นฐานลง พอเราไม่ต้องซื้อวัตถุดิบมาทำเอง ต้นทุนโดยรวมของเราก็ลดลง โดยเฉพาะเรื่องใหญ่ที่สุดคือต้นทุนด้านเวลา ทำอาหารมื้อนึงนี่กินเวลาเยอะนะครับ เทียบกับไปสั่งเค้าแล้วนั่งรอยังไงก็คุ้มกว่ากันเยอะ

แต่ที่สำคัญ… กรณีระบบโตถึงระดับนึงเนี่ย cloud จะไม่คุ้มทันทีครับ เช่นครอบครัว 4-5 คน การไปกินอาหารตามสั่ง สมมติจานละสามสิบก็ร้อยกว่าบาท… วันนึงสามมื้อก็เฉียดๆ สี่ร้อย ซื้อวัตถุดิบมาทำเองอาจประหยัดกว่ากันเยอะ บนระบบคอมพิวเตอร์ก็ไม่ต่างกันครับ ถ้าขยายมากๆ จะพบว่า ต้นทุนการใช้ cloud แพงกว่าการที่เราต้องซื้อ server เอง… ไม่นับกรณีที่เราไม่มีคนดูแลนะ เพราะค่าจ้าง system admin เก่งๆ ส่วนมากจะแพง :)

มีที่มาของคำว่า Cloud ที่ผมชอบมากใน Wikipedia คือ

“computation may someday be organized as a public utility” — John McCarthy

“คอมพิวเตอร์อาจจัดเป็นโครงสร้างสาธารณูปโภคได้ในวันใดวันหนึ่ง” … ถ้ายังนึกภาพไม่ออก ลองนึกถึงระบบไฟฟ้า และประปาดูครับ น้ำประปานี่ถ้าบ้านใหญ่หน่อยอาจจะขุดบ่อบาดาลเองได้ แต่ถ้าบ้านทั่วๆ ไป การที่จะขุดบ่อบาดาลเองคงไม่คุ้มเท่าไหร่ เผลอๆ ไม่มีที่ให้ขุดด้วย และที่สำคัญ… คงไม่มีใครคิดจะตั้งเครื่องปั่นไฟฟ้าปั่นใช้เองกันใช่มั้ยครับ? (ขนาดโรงงานใหญ่ๆ ยังไม่ผลิตไฟฟ้าเองเลย) อย่างดีก็คงติดแผงโซลาร์เซลล์ ซึ่งสุดท้ายเราก็ต้องเชื่อมต่อระบบไฟฟ้าเข้าภายนอกอยู่ดี เพราะกลางคืนเราก็ยังต้องใช้ไฟฟ้า

การทำ Cloud โรงไฟฟ้า … (เออ เรียกแบบนี้แล้วตลกดีแฮะ) ด้วยการสร้างโรงไฟฟ้าขนาดใหญ่ แล้วเดินสายส่งไฟฟ้าไปทั่วๆ เพื่อให้บริการประชาชนจำนวนมาก ผลัดกันใช้ไฟฟ้ากันคนละช่วงเวลา จึงคุ้มค่าทางเศรษฐศาสตร์มากกว่าการปั่นไฟฟ้าใช้เองเยอะครับ เพราะกลางวัน คนที่บ้านออกไปเรียนไปทำงานกันหมด ที่บ้านก็มีการใช้ไฟน้อย … แต่ไปเพิ่มที่โรงเรียน/ที่ทำงาน … พอเลิกงานกลับมาบ้าน ที่ทำงานก็ไม่มีใครใช้ไฟฟ้า (แล้วก็มาใช้ที่บ้านแทน) เราก็ไม่ต้องติดเครื่องปั่นไฟไว้ทั้งสองที่ไว้เปิดแค่เวลางาน … แต่เราสร้างโรงไฟฟ้าไว้ที่เดียว แล้วให้ผู้เชี่ยวชาญด้านการผลิตไฟฟ้าดูแลระบบไฟฟ้าไป เราก็ใช้อย่างเดียวไม่ต้องมานั่งดูแลเครื่องปั่นไฟ สบาย ~*

กลับมาที่ฝั่งคอมพิวเตอร์… Cloud ในระบบคอมพิวเตอร์ก็เป็นลักษณะเดียวกันครับ เช่นบริการอย่าง Google Apps ที่ให้บริการ Mail/Calendar/Docs/Drive (นับเป็น Cloud ระดับ Software as a Service) เนี่ย คิดสภาพว่า ถ้าเราต้องการสร้างระบบ Mail ที่ให้พื้นที่คนละ 15GB … รองรับพนักงานในบริษัท 100 คนก็ต้องใช้พื้นที่ 1.5TB เข้าไปแล้ว ไหนจะค่าบริการรับวาง server ค่าระบบ backup ค่าโน่นนี่นั่นจิปาถะ แถมนี่ยังได้แค่เมลเอง ยังไม่ได้ปฏิทินหรือระบบแชร์เอกสารเลยด้วยซ้ำ แถมทรัพยากรก็เหลือว่างๆ ตอนวันหยุดบริษัท โดยที่ไม่ก่อให้เกิดรายได้อะไรขึ้นมาอีก

หรือสลับมาทาง Platform/Infrastructure as a Service บ้างเช่นบริการแบบ Amazon EC2 ที่ให้เช่า server เสมือนเพื่อการประมวลผล หรือ Amazon S3 ที่ให้พื้นที่เก็บไฟล์แบบคิดตามปริมาณการใช้งาน หากเรามีเว็บไซต์ที่ต้องเก็บข้อมูลเพิ่มขึ้นเรื่อยๆ โดยเกิดจากผู้ใช้งาน (เช่นการอัพโหลดรูป) การจัดการระบบ server/storage เพื่อให้พอกับการใช้งานที่ต้องขยายตัวเรื่อยๆ มันแพงมาก และดูแลยากมาก (ประสบการณ์ตรงกับเว็บ http://upic.me/ นี่แหละครับ) เราก็เลือกที่จะโยนภาระให้กับบริการแบบ EC2/S3 ไปแทน… ประหยัดค่า server ประหยัดค่าดูแล โยนไฟล์ไปแล้วก็จ่ายตังค์อย่างเดียว (แต่ไม่สบายกระเป๋าตังค์เท่าไหร่) แถมถ้ามองจากฝั่งผู้ให้บริการ เมื่อระบบใช้งานกันทั้งโลก เนื่องจาก timezone ที่แตกต่างกัน ทำให้เวลาใช้งานของคนไม่ตรงกัน ระบบก็จะสามารถใช้งานได้เต็มที่ตลอดเวลา ไม่มีช่วงที่มีการใช้งานน้อยแบบการใช้งาน server ในรูปแบบปกติ (กราฟภูเขา กลางวันใช้งานต่างกับกลางคืนหลายร้อยเท่า) ก็ทำให้ใช้ทรัพยากร server ได้คุ้มค่าขึ้นครับ

———————————

เพราะงั้นจากความหมายของคำว่า cloud เนี่ย… จริงๆ แล้วไอ้ Shared Web Hosting ก็คือ Cloud ตั้งแต่ต้นโดยไม่ต้องทำอะไรพิเศษเลยครับ (ลองกลับไปมอง Google Apps ดู) โดยผู้ให้บริการก็จัดหา server แรงๆ ซักหน่อยมา แล้วหาผู้ใช้บริการรายย่อยหลายๆ รายที่ยังไม่โตถึงขั้นที่จะต้องใช้ทรัพยากรของ Server ทั้งเครื่องมาช่วยกันใช้ทรัพยากรร่วมกัน …ก็แค่นี้เองครับ…