คลังเก็บป้ายกำกับ: Public Cloud

Container : รากฐานของระบบ Cloud

สำหรับใครที่เป็นสาย IT หรือ CXO (Cheif Experience Officer) คงเคยได้ยินเรื่องเกี่ยวกับ Docker และ Containerization กันมาบ้างแหละ แต่ถ้าถามว่า Docker และ Container คืออะไร แล้วจะมามีบทบาทเพิ่มศักยภาพให้ Virtual และ Cloud Infrastructure ของได้อย่างไร

ช่วงราวๆ ปี 1970 IBM ได้คิดค้น VM/370 Operating System ขึ้นมา ทำให้สามารถแยกส่วนการทำงานทางกายภาพและ Software ของ Mainframe Computer ได้ คือ ทำให้พวก Instance ของ OS หรือ VM รันได้ใน Environment ส่วนตัว สำหรับ Application และ User แต่ละรายออกจากกัน นอกจาก VM จะช่วยเสริมประสิทธิภาพการทำงานของ Mainframe แล้วยังทำให้การบริหารจัดการง่ายขึ้นอีกด้วย

และในที่สุด เทคโนโลยี Virtualization ก็แพร่หลายมาสู่ Intel และ PC ซึ่งเดิมถูกใช้งานสำหรับ Compatibility เช่น ระบบ DOS/Windows subsystem implemented in OS/2 2.0 เมื่อปี 1992

ต่อมาในปี 1999 VMware ได้เปิดตัวผลิตภัณฑ์ชิ้นแรก คือ VMware 1.0 สำหรับ Linux เพื่อให้ Windows และ Windows Application สามารถรัน Desktop Version ของ OS ได้ เนื่องจากในช่วงเวลานั้น Windows ยังขาด native apps อยู่หลายตัว ทำให้ VMware กลายมาเป็น Tools ยอดนิยมสำหรับ Software Developer ที่ต้องการ Code จาก Running Environment เผื่อในกรณีที่ Development VM เกิดผิดพลาดขึ้นมา OS จะได้ไม่ล่มไปทั้งระบบ

เมื่อเข้าสู่ยุค 2000 Client-server ก็เติบโตขึ้นอย่างรวดเร็วจน Data Center เต็มไปด้วย Server

และด้วยผลิตภัณฑ์จาก VMware ทั้ง ESX hypervisor, Xen, Hyper-V และ KVM ทำให้ x86 System ทั้งหลายกลายมาเป็น Virtual Machine กันเสียเยอะแยะ เม็ดเงินที่ต้องจ่ายเพื่อทำ Server และเป็นเจ้าของ Data Center จึงลดลงจนน่าตกใจ ผลลัพธ์ คือ จาก Physical Server หลายพันเครื่อง ตอนนี้เหลือเครื่อง Host สำหรับบรรจุ Virtual Machine เพียงไม่กี่เครื่องเท่านั้น

ซึ่ง Hypervisor และ Virtual Infrastructure นี้เองที่ผลักดันให้ Data Center และบริการ Publice Cloud แบบ IaaS (Infrastructure as a Service) เติบโตมาได้จนถึงทุกวันนี้

ในปัจจุบัน Public Cloud เช่น AWS (Amazon Web Service) และ Microsoft Azure จะเรียกเก็บเงินเป็นรายชั่วโมงที่ VM เปิดใช้งาน โดยคิดในส่วนของการใช้งาน Virtual cpus (vCPUs) ซึ่งเป็น Virtualization ส่วนหนึ่งของ Host CPU core

VM คือ แหล่ง Instance ทั้งหมดของ OS โดยต้องมี Kernel และ Device Driver ซึ่งเข้ากันได้กับ VM เครื่องอื่นๆ ที่ใช้ Hypervisor ร่วมกัน VM มีข้อดีด้านความสามารถในการย้าย System และ App ภายในจาก Physical ไปยัง Virtual ได้โดยไม่กระทบต่อโครงสร้างพื้นฐานของ Environment ที่มีอยู่ แต่ VM ก็กิน Resource เปลืองมาก โดยเฉพาะในส่วนของ Memory และ CPU intensive workloads อย่าง Database

ทั้งนี้ การใช้งาน VM ในระดับ Private และ Public Cloud หมายความว่า Workload จาก VM แบบ on-premise หลายเครื่อง จะถูกย้ายขึ้นไปบน Cloud กันหมด ซึ่งอาจเกิดปัญหา Scalability และเพื่อเป็นการแก้ปัญหาดังกล่าว Container จึงเข้ามามีบทบาท

Container คล้ายกับ VM ในด้านการสร้างพื้นที่เฉพาะสำหรับ Application โดยมีทรัพยากรแยกออกจากกัน ไม่ว่าจะเป็นพื้นที่สำหรับติดตั้ง, Memory และพื้นที่เก็บไฟล์ เพราะเหตุนี้ Container จึงสามารถมี Sysadmin และกลุ่มของ User ส่วนตัวเฉพาะแต่ละ Container ได้ แต่ที่ไม่เหมือนกับ VM ก็คือ Container ไม่ได้รัน Instance หรือ Image ของ OS อย่างสมบูรณ์ ด้วย Kernels, Drivers, และ Libraries ที่แชร์ร่วมกัน และไม่ว่า Container จะมีจำนวนมากแค่ไหน ก็สามารถรันได้บน Single OS เดียวกัน และมีขนาดเล็กนิดเดียว เมื่อเทียบกับ VM

ภายในหนึ่ง Container จะมีเพียง Application และ Setting กับ Storage ที่จำเป็นสำหรับการทำงานของ Application เท่านั้น ซึ่งบางครั้ง Concept นี้จะถูกเรียกว่า JeOS “Just enough OS”

ด้วยความที่ Container สามารถโอนถ่าย Libraries และ Patches จาก Host เมื่อ Host ของ Container อัพเดท Libraries พวก Container ทั้งหมดที่อยู่ใน Host ก็จะอัพเดท Libraries ไปด้วย จึงเรียกได้ว่า Container หรือ Virtual Environment ที่อยู่บน Host เดียวกันใช้งาน OS เวอร์ชั่นเดียวกันทั้งหมด

ทางด้านการทำงาน Container นั้นต้องการ Host OS หรือ Containerization Platform อย่าง LXC กับ Docker แตกต่างจาก VM ที่รันบน Hypervisor เพราะฉะนั้น Containerization จึงถูกพูดถึงในฐานะ Virtualization ในระดับ OS (Operating System-level Virtualization) โดย Linux containerization host จะรัน Linux containers ส่วน Windows containerization host ก็รัน Windows containers และเพราะ Container หลายตัวสามารถรันได้ด้วย Single Instance ของ OS การจะให้ Container Host กลายมาเป็น Single VM จึงสามารถทำได้เช่นกัน

ตอนนี้เราก็มาถึง Containerization Technology ที่กำลังเป็นที่สนใจกันแล้ว นั่นก็คือ Docker โดย Containerization Engine จริงๆ ของ Docker ใน Linux OS คือ LXC

Docker เป็น Containerization Technology ที่โดดเด่นด้วยการทำให้เราสามารถรวม Application ซับซ้อนทั้งหลายเป็นแพ็คเกจเอาไว้ แล้วอัพโหลดขึ้นที่เก็บไฟล์สาธารณะ จากนั้นก็ดาวน์โหลดมาติดตั้งใน Public หรือ Private Cloud ที่มี OS ซึ่งรัน Docker Engine และ Containerization Platform อยู่ ซึ่งเป็นวิธีการเดียวกันกับที่เราโหลดแอพฯ จาก App Store มาลงสมาร์ทโฟนหรือแท็บเล็ตนั่นแหละ

การย้าย Docker ไป Host อื่นก็สามารถทำได้ไม่ต่างกับการย้าย VM  แถมยังเร็วกว่าด้วยซ้ำ ส่วนเรื่องการ Clustering ข้อมูล Docker จะใช้ Swarm เป็นตัวจัดการไฟล์

สรุปแล้ว การมาถึงของ Container Technology ทำให้การพึ่งพา VM ลดน้อยลง เพราะ Container ได้นำเสนอทางเลือกประหยัดค่าใช้จ่ายด้าน Cloud Computing โดยเฉพาะในระดับ Hyperscale ได้อย่างน่าดึงดูดใจ ให้เหล่า CXO ต้องกลับไปคิดทบทวนเรื่องปรับโครงสร้างระบบและเปลี่ยนมาใช้งาน Docker กันสักที

OpenStack เป็นผู้นำ Private Cloud ไม่ได้ ถ้าขาด AWS

OpenStack กำลังมาแรงเป็นกระแสกับบริการ Private Cloud แต่มันอาจยังไม่เพียงพอสำหรับตลาดการแข่งขันในตอนนี้ อีกทั้งการจะประสบความสำเร็จได้นั้นขึ้นอยู่กับ AWS อย่างเลี่ยงไม่ได้

Alan Waite นักวิเคราะห์แห่ง Gartner กล่าวว่า OpenStack ยังมีข้อจำกัดในการใช้งานค่อนข้างเยอะ มีเพียงไม่กี่เคสที่มีการใช้งานเหมาะกับ OpenStack ดังนั้น OpenStack ต้องหาวิธีที่จะทำให้ คลาวด์ ของตนทำงานร่วมกับ Public Cloud ได้มากกว่านี้ และ OpenStack ยังต้องพึ่งพา AWS (Amazon Web Service) แต่ติดปัญหาตรงที่ AWS ไม่ได้ต้องการ OpenStack มากเท่า OpenStack ต้องการ AS

Private หรือ Public ดี?

OpenStack ต้องมอง AWS ในฐานะ Partner ให้ความสำคัญกับ AWS API รวมไปถึง Azure API ที่นับเป็นอีกตัวเลือกหนึ่งในตลาด Robert Cathey PR ของ OpenStack ออกมาชี้ปัญหาของเรื่องนี้ว่า AWS ไม่เห็น OpenStack เป็น Partner ที่คู่ควร แม้ว่าทาง OpenStack จะเล็งเห็นถึงความจำเป็นที่ต้องร่วมงานกับ AWS ก็ตาม ที่เป็นแบบนี้เนื่องจาก AWS ยืนยันที่จะยึดติดกับ Public Cloud ของตัวเองเป็นหลัก ถึงขั้นบอกว่า Private Cloud ไม่ถือว่าเป็น คลาวด์ เพราะมันทำให้พลาดข้อได้เปรียบทั้งหมดของการทำงานในระบบ Cloud

บางฝ่ายอาจพุ่งเป้าไปยังราคาที่ค่อนข้างสูงของ Private Cloud ตามที่ 451 Research จะพยายามเปิดเผย แต่ที่จริงแล้วราคาของ Private Cloud มีความคลุมเครือไม่ต่างจาก Server-based สักเท่าไหร่ อีกทั้งเรื่องราคาไม่ใช่ประเด็นหลักที่ทำให้ผู้คนย้ายมาใช้งาน Public Cloud ขึ้นอยู่กับความสะดวกในการใช้งานมากกว่า

ความหวังสุดท้ายของ Private Cloud

สำหรับหลายๆ บริษัทแล้ว Hybrid Cloud ก็ไม่ต่างอะไรกับ Private Cloud รูปแบบใหม่ หลังจากที่ Private Cloud เดิมไม่สามารถทำได้อย่างที่ต้องการ Hybrid Cloud จึงเป็นสิ่งที่ผู้ให้บริการมือรองหวังที่จะใช้แข่งกับ Amazon และ MicroSoft ทั้งยังกลายมาเป็นทางออกของเหล่าบริษัทที่เห็นแล้วว่า Private Cloud ส่วนตัวไม่เวิร์ค จนต้องเริ่มหันไปหา Public Cloud แทน

Alan Waite ยังยืนยันว่า ตอนนี้ OpenStack เป็นความหวังที่ดีที่สุดที่จะให้ Private Workload Control Layer สามารถทำงานร่วมกับเทคโนโลยีหลากหลายรูปแบบได้ เพราะ OpenStack มี Control plane และ API สำหรับการ Compute ในลักษณะไม่ต่างจากสิ่งที่ Software-defined Networking และ Software-defined Storage ทำสำหรับ Network และ Storage เท่าไหร่ แต่ก็ยังไม่ตอบโจทย์เทียบเท่า AWS และ Public Cloud อยู่ดี จำนวนการใช้งานของ OpenStack ตามจริงมีเพียงแค่หลักร้อย เพราะด้วยข้อจำกัดในการใช้งานและมีไม่กี่เคสที่เหมาะกับ OpenStack

ทว่ายังพอมีหวัง ถ้า OpenStack ผันตัวเองมาเป็น Partner และ Gateway สำหรับการเข้าถึงของ Public Cloud นอกจากนี้ OpenStack ยังต้องการคนกลางที่สามารถจัดระเบียบให้กับความยุ่งเหยิงของ OpenStack และสามารถสร้างความน่าเชื่อถือได้ ดังเช่นที่ Red Hat เคยทำมาแล้วกับ Linux ซึ่งแน่นอนว่า Red Hat เองก็อยู่ในตำแหน่งที่เหมาะสมจะเข้ามาจัดการ OpenStack ด้วยเช่นกัน ช่วงนี้ OpenStack เองก็เริ่มจ่ายเงินปันผลให้กับ Red Hat อย่างจริงจังแล้ว CEO Jim Whitehurst จาก Red Hat ยังเผยว่า OpenStack จ่ายมากว่า 100,000 ดอลล่าร์ ซึ่งนับเป็นหนึ่งใน Deal ที่น่าสนใจไม่ใช่น้อย

หนทางของ OpenStack

แม้ว่า Public Cloud จะเติบโตอย่างรวดเร็ว ดังที่ Thomas Bittman นักวิเคราะห์จาก Gartner ได้ออกมาเผยว่า Workload ใหม่ๆ ดูมีแนวโน้มจะพึ่งพา Public Cloud กันเป็นส่วนใหญ่ ซึ่งแน่นอนว่าของใหม่ย่อมเติบโตเร็วมากกว่า Workload ของ Data Center แบบเดิมๆ โดยครั้งนี้เร็วกว่าถึง 3 เท่า ทางด้าน Eucalyptus API ที่ทำงานคู่กับ AWS ได้เป็นอย่างดี ดูจะเป็นก้าวที่ชาญฉลาดของ HP แต่สำหรับ OpenStack น่าจะต้องพยายามเพิ่มขึ้นเพื่อร่วมมือกับ AWS

ส่วนความสำเร็จในการใช้งาน OpenStack ของบริษัทชั้นนำอย่าง Walmart เป็นเพียงข้อยกเว้นอย่างหนึ่งเท่านั้น ไม่ใช่ว่าทุกบริษัทจะทำได้แบบนี้ ซึ่ง OpenStack จำเป็นต้องหาหนทางการทำงานที่เข้ากันได้กับ Amazon และ Microsoft เพื่อผลักดันตัวเองให้เป็นมากกว่าแค่เครื่องบังหน้าของกลุ่ม CIO ที่ยังไม่คุ้นชินกับ คลาวด์

จากที่กล่าวไปข้างต้นว่า Red Hat อาจจะเป็นตัวช่วยเบอร์หนึ่งของ OpenStack ก่อนหน้านี้ Red Hat สามารถรัน Red Hat Enterprise Linux ในหลายระบบปฏิบัติการได้ โดยร่วมมือด้าน Data Center กับ AWS และทางองค์กรเองก็ขยับขยาย Management Service ให้ง่ายขึ้นสำหรับการจัดการ Workload จากหลากหลาย Deployment Target ซึ่งวิธีการพวกนี้น่าจะเอามาปรับใช้กับ OpenStack ด้วยเช่นกัน เป็นการเพิ่มฐานลูกค้าผู้ใช้บริการ OpenStack แม้ว่าภาระจะตกไปอยู่ที่ Red Hat มากกว่า AWS ก็ตาม

Paul Cormier ประธานของ Red Hat แสดงความเห็นเกี่ยวกับปัญหาของการบริการ PaaS จากผู้ให้บริการรายอื่นไว้ว่า เมื่อเราสร้าง Application ลงบน PaaS ของคนอื่น ไม่ว่าเป็น Google หรือใครตามก็ตาม มันจะคงอยู่ใน Network นั้นๆ ไม่สามารถเอาออกมาได้ ตัว Application จะรันบน Network ของผู้ให้บริการเท่านั้น ซึ่งนั่นเป็นสิ่งที่ลูกค้าไม่ต้องการ แต่ Red Hat สามารถแก้ปัญหาได้ โดยการสร้าง Platform สำหรับ Different Deployment Target นับเป็นโชคดีของ OpenStack ที่ Red Hat ออกปากแล้วว่าอยากให้ OpenStack ทำงานร่วมกับ AWS ได้ ที่เหลือก็ต้องรอดูกันต่อไปแล้วล่ะ ว่าจะสามารถทำความต้องการนี้ให้เกิดขึ้นจริงได้หรือไม่

 

เพิ่มประสิทธิภาพให้องค์กรก้าวไกล ด้วย Private Cloud

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

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

หากจะพูดถึงข้อดีของ Private Cloud ก็มีหลายอย่างด้วยกัน อาทิ การมีความปลอดภัยสูง เนื่องจากเป็นการจัดเก็บระบบข้อมูลที่เป็นความลับขององค์กร ทำให้มั่นใจได้ว่าข้อมูลไม่เกิดการรั่วไหล รวมไปถึงเรายังสามารถควบคุมระบบได้ง่าย ทั้งยังสามารถควบคุมค่าใช้จ่ายให้อยู่ในขอบเขตที่ต้องการได้อีกด้วย

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

นอกจากนั้น Private Cloud ยังสามารถทำงานร่วมกับ Hybrid Cloud ที่ถือว่าเป็นระบบที่ผสมผสานระหว่าง Private Cloud และ Public Cloud เข้าด้วยกัน ทำให้เราสามารถทำงานเชื่อมต่อกันได้ทั้ง Private Cloud และ Public Cloud ซึ่งสามารถสลับไปมาตามความต้องการได้

เทคโนโลยีก้าวไกลขึ้นขนาดนี้แล้ว หากไม่อยากตกเป็นกลุ่มที่ล้าหลัง ก็ต้องหาตัวช่วยโดยการใช้ประโยชน์จากเทคโนโลยีให้ได้มากที่สุด เพื่อความก้าวหน้าขององค์กร และประสิทธิภาพที่ดีขึ้นของบริษัท ซึ่ง Private Cloud ก็เป็นตัวเลือกหนึ่งที่ดีเช่นกัน

 

Public Cloud

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

ข้อดีของ Public Cloud
ผู้ใช้สามารถเข้าใช้งานได้ทุกที่ (Accessbillity)
ตามเทคโนโลยีทัน (Newer Technology)
ความสามารถเชื่อถือของระบบสูง ดีกว่าที่เราทำเอง (Relliabillity)
มีเวลาไปดูธุรกิจหลักของตัวเอง (Core Business Focus)
ไม่มีความกังวลกับระบบ IT (Worry Free IT Maintenance)
สามารถแชร์ทรัพยากรและค่าใช้จ่าย (Shared Cost & Resources)
จ่ายค่าใช่จ่ายเท่าที่ใช้บริการ (Pay Pre Use)
Resource มีขนาดใหญ่ สามารถขยายได้ตามความต้องการของผู้ใช้ (On Demand Scalability)

ข้อเสียของ Public Cloud
ความปลอดภัยของข้อมูลในองก์กร Public Cloud ทีเดียวกันร่วมกันคนอื่น
หลายๆองก์กรยังคงไม่เข้าใจ ระบบ Cloud และยังไม่กล้าที่จะใช้บริการ
การควบคุมส่วนใหญ่อยู่ที่ผู้ให้บริการ ทำให้ขาดความยืดหยุ่นในการบริหารจัดการ
การใช้งานในระยะยาวอาจจะไม่คุ้มค่า หากขาดการวางแผนที่ดี