วันจันทร์ที่ 11 ตุลาคม พ.ศ. 2553

อนาคตงาน HR ในยุค Cloud Computing

HR ท่านใดที่สนใจด้าน IT อยู่แล้วคงพอทราบกันดีว่า Cloud Computing คืออะไร และน่าจะมีผลกระทบอย่างไรกับทุกคนในอนาคตอันใกล้นี้ แต่ผมเชื่อแน่ว่ามีอีกหลายท่านยังไม่ทราบว่า Cloud Computing มันคืออะไรและจะมีบทบาทอย่างไรกับชีวิตเรา ผมก้ขอถือโอกาสนี้เสาะหาข้อมูลเอามาฝากกัน และขอกล่าวถึงผลกระทบของ Cloud Computing ในบริบทของ HR เพื่อจะได้จำกัดกรอบให้ HR ทุกคนสัมผัสได้และรู้ว่ามันอยู่ไม่ไกลตัว จะไม่ขอก้าวล่วงไปถึงขึ้น Technical ทางด้าน IT อย่างลึกซึ้ง

เกริ่นนำ

ผมคิดว่าทุกคนคงมีประสบการณ์ในการใช้เครื่องคอมพิวเตอร์เหมือนๆ กับตัวผม คือมีคนบอกว่า "ทันทีที่เราซื้อเครื่องออกจากร้านมันก็ล้าสมัยทันที" เพราะเทคโนโลยีด้าน IT มีการพัฒนาไปเร็วมากและมีการเปลี่ยนแปลงตลอดเวลา ทุกท่านคงเบื่อหน่ายกับการที่ฮาร์ดแวร์ของเครื่องคอมพิวเตอร์ที่ใช้อยู่เผลอแผลบเดียวมันก็เก่าซะแล้ว อย่าง CPU Speed ที่สุดยอดๆ เคยซื้อเมื่อไม่กี่ปีที่ผ่านมา 2.1 GHz ซื้อออกจากร้านประมาณ 2 หมื่นบาทก็หรูสุดๆ แล้ว ผ่านไปแต่ปีสองปีมันก็กลายเป็นเครื่องที่ดูจะล้าหลังไปหน่อยซะแล้ว ไหนจะฮาร์ดดิสก์อีกตอนซื้อกะว่าใช้ 500 GB เหลือๆ แต่พอใช้จริง ปีที่สองก็ชักจะใกล้เต็มแล้ว ส่วนทางด้านซอฟท์แวร์เองก็มีปัญหามากพอกันตั้งแต่ Version ของระบบปฏิบัติการอย่าง Windows ที่พัฒนาตัวใหม่ๆ ออกมาได้ทุกปี แถวค่า License ก็แพงพอๆ กับที่จะซื้อเครื่องใหม่ได้เลย แล้วถ้าใครอยากจะซื้อซอฟท์แวร์ตัวใหม่ๆ มาใช้ชั่วคราวแบบเฉพาะกิจ เช่น คนที่เรียน ป.โท อยากใช้ SPSS หรือ MATLAB ก็จะต้องไปเดินหาซื้อแผ่น แล้วก็ต้องมาดูว่าจะต้องใช้พื้นที่ Hard Disk ขนาดไหนถึงจะพอ แถมต้องดูด้วยว่า Spec เครื่องเราจะรองรับไหม
ด้วยปัญหาทั้งหลายเหล่านี้ จึงมีคนคิดขึ้นมาว่าถ้าหากเราขายระบบอะไรสักอย่างที่ขอให้คนที่จะเข้ามาใช้มีเครื่องหรืออุปกรณ์ที่ Login หรือเชื่อมต่อกับ Internet ได้โดยไม่จำเป็นต้องมี Spec เครื่องหรูๆ ขอแค่ให้มี Internet Explorer แล้ว login เข้าระบบแล้วไปเลือกได้ว่า วันนี้ฉันอยากใช้เครื่องช่วยคำนวณข้อมูลรายได้พนักงานที่มีอยู่ 2,500 คนแบบย้อนหลัง 10 ปี อยากขอให้ระบบจัดการข้อมูลให้ด้วย เมื่อขอระบบเสร็จระบบก็จะไปค้นหาดูว่าไอ้เครื่องที่มีอยู่ในเครือข่ายของระบบที่ให้บริการอยู่มีกี่เครื่องที่ว่างๆ อยู่ จากนั้นมันก็จะกระจายการคำนวณข้อมูลออกไปให้เครื่องต่างๆ ในเครือข่าย ซึ่งเราเองก็ไม่รู้ว่าอยู่ไหนบ้างในโลก จากนั้นพอคำนวณเสร็จก็จะส่งผลลัพธ์กลับมาให้ ส่วนใครที่อยากใช้โปรแกรม Office ต่างๆ ก็ไปคลิกเลือกเลยว่าจะขอใช้บริการโปรแกรมอะไรบ้าง โดยที่ไม่ต้องลงโปรแกรมที่เครื่องเราเลย การทำงานทั้งหมดทำบนบราวเซอร์ทั้งนั้น เพราะฉะนั้นเราก็จะตัดปัญหาเรื่องของ Spec เครื่องหรือซอฟท์แวร์ไปได้
สิ่งที่ผมอธิบายมาข้างต้นนั่นละครับคือภาพของสิ่งที่กำลังจะเกิดขึ้นในโลกการทำงานที่เรียกว่า Cloud Computing

Cloud Comuting คืออะไร
มีคนให้ความหมายของ Cloud Computing ไว้หลากหลายครับ เช่น

เริ่มจากที่ Wikipedia ซึ่งมักจะมีคนอ้างอิงถึง บอกว่า “Cloud Computing อ้างถึงทรัพยากรสำหรับการคำนวณผลที่ถูกเข้าถึง ซึ่งโดยทั่วไปถูกเป็นเจ้าของและถูกดำเนินการโดยผู้ให้บริการบุคคลที่ 3 (third-party provider) ซึ่งได้รวบรวมพื้นฐานที่จำเป็นทั่วไปเข้าไว้ด้วยกันในตำแหน่งที่ตั้งของศูนย์คอมพิวเตอร์ (Data Center)  โดยผู้บริโภคบริการ cloud computing เสียค่าใช้จ่ายเพื่อความสามารถการคำนวณหรือการประมวลผลตามที่ต้องการ และไม่จำเป็นต้องรู้หรือเข้าใจในเทคโนโลยีที่สำคัญซึ่งซ่อนอยู่ อันที่ถูกใช้เพื่อเพิ่มประสิทธิภาพของเครื่องแม่ข่าย (server)  อย่างไรก็ตามมีตัวเลือกสำหรับผู้พัฒนาที่ต้องรู้และต้องคำนึงถึงในเทคโนโลยีสำคัญซึ่งซ่อนอยู่ในส่วนของการบริการแพล็ตฟอร์ม (platform services)”

คุณ JavaBoom บอกว่า Cloud Computing คือวิธีการประมวลผลที่อิงกับความต้องการของผู้ใช้ โดยผู้ใช้สามารถระบุความต้องการไปยังซอฟต์แวร์ของระบบCloud Computing จากนั้นซอฟต์แวร์จะร้องขอให้ระบบจัดสรรทรัพยากรและบริการให้ตรงกับความต้องการผู้ใช้ ทั้งนี้ระบบสามารถเพิ่มและลดจำนวนของทรัพยากร รวมถึงเสนอบริการให้พอเหมาะกับความต้องการของผู้ใช้ได้ตลอดเวลา โดยที่ผู้ใช้ไม่จำเป็นต้องทราบเลยว่าการทำงานหรือเหตุการณ์เบื้องหลังเป็นเช่นไร (จากหน้าเว็บ http://javaboom.wordpress.com/2008/07/23/whatiscloudcomputing/ เมื่อวันที่ 11 ต.ค.53)

ในขณะที่คุณ JuaCompe's ให้ความหมายไว้ว่า cloud computing คือการขาย computation power โดย customers จะจ่ายเท่ากับจำนวนหน่วยที่ใช้ มองคล้ายๆ web hosting แต่แทนที่เราจะให้บริการ hosting website, เรา hosting database server หรือ application server สิ่งที่ลูกค้าต้องมีจะเหลือแค่"แก่น"จริงๆของ IT system นั่นคือ business logic ที่ถูกห่อด้วย portable module อะไรซักอย่าง (เช่น EJB) ยุคต่อไปนี้จะมีคน run application server ไว้ให้ เราสามารถเอา EJB ไป deploy ได้ แล้วจ่ายตังค์เท่าที่เราใช้ computation power ของ server นั้นๆ (เช่นจ่ายตามจำนวน request ที่เข้ามา เป็นต้น)  (จากหน้าเว็บ http://www.narisa.com/forums/index.php?app=blog&module=display&section=blog&blogid=15&showentry=1850 เมื่อวันที่ 11 ต.ค.53)

ส่วนเว็บ CompPot.net ได้กล่าวเสริมว่า การที่มีบางท่านให้คำนิยาม Cloud Computing ว่า “การประมวลผลแบบกลุ่มเมฆ” นั้น ผู้เขียนเข้าใจว่าอาจเป็นเพราะ Cloud Computing เป็นการทำงานโดยใช้ทรัพยากรที่มีอยู่มากมายบนระบบเครือข่ายอินเตอร์เน็ต ซึ่งเราเพียงแต่เชื่อมต่อกับระบบเครือข่ายอินเตอร์เน็ต โดยไม่ต้องสนใจว่าทรัพยากรที่ใช้อยู่นั้นมาจากต่างที่ต่างระบบเครือข่าย ทั้งที่อยู่ใกล้ ๆ หรือไกลออกไป เป็นการใช้ทรัพยากรภายในเครือข่ายขนาดใหญ่ จึงใช้สัญลักษณ์รูปก้อนเมฆแทนที่ตั้งของทรัพยากรคอมพิวเตอร์ทั้งหมดที่มีไว้ ให้บริการโดยผู้ให้บริการบุคคลที่สามแทน

ซึ่ง ผู้ที่เกี่ยวข้องกับ Cloud Computing มีสองส่วนคือ
•Cloud Provider หมายถึงผู้ให้บริการระบบ Cloud นั่นเอง
•Cloud Storage คือสถานที่เก็บทรัพยากรสำหรับระบบ Cloud
(จากหน้าเว็บ http://www.compspot.net/index.php?option=com_content&task=view&id=360&Itemid=46 เมื่อวันที่ 11 ตุลาคม 2553)

ส่วนที่เว็บ http://www.bkk.in.th/ ได้บอกถึงผู้เกี่ยวข้องกับ Cloud Computing เพิ่มเติมว่า
มีความหมายของคำหลักๆ 3 คำที่เกี่ยวข้องกับ Cloud Computing ต่อไปนี้


- ความต้องการ (Requirement) คือโจทย์ปัญหาที่ผู้ใช้ต้องการให้ระบบคอมพิวเตอร์แก้ไขปัญหาหรือตอบปัญหาตาม ที่ผู้ใช้กำหนดได้ ยกตัวอย่างเช่น ความต้องการพื้นที่จัดเก็บข้อมูลขนาด 1,000,000 GB, ความต้องการประมวลผลโปรแกรมแบบขนานเพื่อค้นหายารักษาโรคไข้หวัดนกให้ได้สูตร ยาภายใน 90 วัน, ความต้องการโปรแกรมและพลังการประมวลผลสำหรับสร้างภาพยนต์แอนนิเมชันความยาว 2 ชั่วโมงให้แล้วเสร็จภายใน 4 เดือน, และความต้องการค้นหาข้อมูลท่องเที่ยวและโปรแกรมทัวร์ในประเทศอิตาลีในราคา ที่ถูกที่สุดในโลกแต่ปลอดภัยในการเดินทางด้วย เป็นต้น

- ทรัพยากร (Resource) หมายถึง ปัจจัยหรือสรรพสิ่งที่เกี่ยวข้องกับการประมวลผลหรือเกี่ยวข้องกับการแก้ไข ปัญหาตามโจทย์ที่ความต้องการของผู้ใช้ได้ระบุไว้ อาทิเช่น CPU, Memory (เช่น RAM), Storage (เช่น harddisk), Database, Information, Data, Network, Application Software, Remote Sensor เป็นต้น

- บริการ (Service) ถือว่าเป็นทรัพยากร และในทางกลับกันก็สามารถบอกได้ว่าทรัพยากรก็คือบริการ โดยเฉพาะอย่างยิ่งในด้านCloud Computingแล้ว เราจะใช้คำว่าบริการแทนคำว่าทรัพยากร คำว่าบริการหมายถึงการกระทำ (operation) เพื่อให้เกิดผลลัพธ์ที่สนองต่อความต้องการ (requirement) แต่การกระทำของบริการจะเกิดขึ้นได้จำเป็นต้องพึ่งพาทรัพยากร โดยการใช้ทรัพยากรที่เกี่ยวข้องเพื่อแก้ปัญหาให้เกิดผลลัพธ์สนองต่อความต้องการ

และยังบอกอีกว่า สำหรับCloud Computingแล้ว ผู้ใช้ไม่จำเป็นต้องสนใจเลยว่าระบบเบื้องล่างทำงานอย่างไร ประกอบไปด้วยทรัพยากร(resource) อะไรบ้าง ผู้ใช้แค่ระบุความต้องการ(requirement) จากนั้นบริการ(service)ก็เพียงให้ผลลัพธ์แก่ผู้ใช้ ส่วนบริการจะไปจัดการกับทรัพยากรอย่างไรนั้นผู้ใช้ไม่จำเป็นต้องสนใจ สรุปได้ว่า ผู้ใช้มองเห็นเพียงบริการซึ่งทำหน้าที่เสมือนซอฟต์แวร์ที่ทำงานตามโจทย์ของ ผู้ใช้ โดยที่ผู้ใช้ไม่จำเป็นต้องรับทราบถึงทรัพยากรที่แท้จริงว่ามีอะไรบ้างและถูก จัดการเช่นไร หรือไม่จำเป็นต้องทราบว่าทรัพยากรเหล่านั้นอยู่ที่ไหน (จากหน้าเว็บ http://www.bkk.in.th/Topic.aspx?TopicID=983 เมื่อวันที่ 11 ต.ค. 2553)


ทั้งนี้ ที่เว็บ CompPot.Net ได้บอกถึงความแตกต่างระหว่าง Cloud Computing กับ Hosting ประเภทต่างๆ ว่า
ความแตกต่างระหว่าง 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 กันแล้วนะครับ บทความต่อไปเราจะมาดูกันว่า Clod Computing จะส่งผลอย่างไรบ้างกับงาน HR ครั้งหน้าครับ