Cloud Computing เป็นประโยชน์กับองค์กรอย่างไร?

Cloud Computing

Cloud Computing เป็นประโยชน์กับองค์กรอย่างไร?

ในช่วงโควิด-19 หรือ ยุคที่เกิด ‘New Normal’ แบบนี้ หลายๆ องค์กรก็ต้องมีการหาSolutionการทำงานที่คล่องตัว สามารถทำงานจากที่ไหนก็ได้และการควบคุมการทำงานที่ง่ายดาย 

‘Cloud Computing’ กลายเป็นทางออกของเทคโนโลยีในการแก้ไขปัญหาการทำงานแบบเดิมๆ และปรับให้การทำงานคล่องตัว สามารถเข้าถึงได้ทุกที่ ทุกเวลา และมีทรัพยากรด้าน IT ที่ยืดหยุ่น 

พูดให้เข้าใจง่ายๆ สำหรับ ‘Cloud Computing’ ก็คือคอมพิวเตอร์ หรือ Severขนาดใหญ่ที่ผู้ใช้งานไม่ต้องสนใจว่า เซิร์ฟเวอร์จะตั้งอยู่ที่ไหน เพราะ สามารถใช้งานได้ทุกที่ ทุกเวลา เพียงเชื่อมต่อผ่านอินเทอร์เน็ต

คุณลักษณะที่ดีของ ‘Cloud Computing’ ก็คือ 

– สามารถควบคุมต้นทุนได้ (Manage Your Finance) 

– สามารถเข้าถึงได้จากทุกที่ ทุกเวลา และหลากหลายอุปกรณ์ (Go Mobile) 

– มีมาตรฐานด้านความปลอดภัยที่ควบคุมข้อมูลต่างๆ (Store It Up) 

– คนในองค์กรสามารถทำงานร่วมกันได้โดยไร้ข้อจำกัด รวมถึงยังเพิ่มช่องทางในการเข้าถึงลูกค้าได้อย่างง่ายดายมากขึ้น (Share Information — Collaboration) 

– ระบบการทำงาน Information System ที่ไม่ซับซ้อน ไม่เป็นปัญหากับผู้ดูแลระบบ (Alleviate Complicated of Information System) 

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

  1. Disaster Recovery-as-a-Service 

สิ่งแรกที่ Cloud Computing สามารถใช้ประโยชน์กับองค์กรได้ คือ การใช้งาน Cloud เป็น Workload ในการเก็บ Backup ข้อมูลทั้งหมด เมื่อระบบเกิดปัญหาขัดข้อง หรือ เกิดอุบัติเหตุที่ไม่สามารถคาดคิดได้ อย่างในช่วงสถานการณ์โควิด-19 นี้ เมื่อเปรียบเทียบกับการทำ DR-site แบบ On-premise จะมีการลงทุน H/W, และ S/W ไว้ที่ site สำรองเพื่อทำงานทดเเทน ซึ่งมีความซับซ้อนในการสร้างระบบ DR-Site แบบ On-premise อย่างมาก 

Cloud Services จึงเป็นการทำ DR-site สำรองระบบการทำงานทั้งหมด ตั้งแต่Application ข้อมูล และการทำงานไปที่ Site สำรอง โดยในปัจจุบัน cloud server thai ก็มีเสถียรภาพ ความปลอดภัย และความรวดเร็ว ทำให้ Cloud Computing สามารถเก็บรักษา Backup ข้อมูลทั้งหมดได้ รวมถึงมีค่าใช้จ่ายที่น้อยว่าการลงทุน DR-Site แบบ On-premise อีกด้วย 

  1. Infrastructure-as-a-Service 

ต่อมาประโยชน์ของ Cloud Computing เป็นการใช้งาน Workload ที่มีการใช้งานทรัพยากรขั้นสูง คือ Cloud Services สามารถที่จะรองรับการสร้าง instance cloud หรือ ทรัพยากร Compute, Network, Storage ที่ระบบคอมพิวเตอร์ต้องการได้ โดย Cloud จะช่วยลดภาระด้านการบริหารจัดการ เช่น SLA, ทีมงานผู้เชี่ยวชาญ หรือ ระบบการดูแลไฟฟ้าและควบคุมอากาศ เป็นต้น 

นอกจาก Cloud Computing จะสามารถรองรับทรัพยากรที่องค์กรต้องการใช้งานได้ ยังมีฟีเจอร์และแอปพลิเคชันรองรับกับการใช้งาน เช่น VPC network ในการป้องกันเครือข่ายของระบบ, Image sharing ฟีเจอร์ลัดช่วยในการควบคุมทรัพยากร Cloud เป็นต้น รวมถึงแอปพลิเคชัน Laravel, Docker, Joomla, Mongodb, Magento, My SQL, LEMP เป็นต้น 

  1. Development and Test Environment 

สำหรับ Cloud Services มีฟีเจอร์ที่พร้อมกับการทดสอบและพัฒนาสภาพแวดล้อมของ Application ในองค์กร รวมถึง Workload ในการทำงานแบบอัตโนมัติก็สามารถทำงานได้อย่างต่อเนื่องอีกด้วย งานวิจัยล่าสุดจาก Voke พบว่า สภาพแวดล้อม (Environment) ของระบบ IT ในองค์กรมีผลอย่างมากต่อการพัฒนา Application โดยข้อจำกัดของระบบ On-Premise มีผลต่อความล่าช้าและการหยุดชะงักในการพัฒนาถึง 44% และมีผลต่อการทดสอบถึง 68% 

การสร้าง Environment ของระบบ IT บน Cloud Computing ที่มีความยืดหยุ่นและมีทรัพยากรที่เพรียบพร้อมมากกว่าจึงเป็นคำตอบในการพัฒนา Application ที่รวดเร็ว ลดความซับซ้อนขั้นตอนการเตรียมการได้ดีกว่านั่นเอง 

  1. Big Data Analytics 

Cloud Services สามารถช่วยองค์กรในการประมวลผลและวิเคราะห์ Big Data ได้รวดเร็วขึ้น โดยการนำข้อมูลเชิงลึกไปใช้ในการปรับปรุงธุรกิจได้ โดยทรัพยากรพื้นฐานที่มีอยู่บน Cloud มากมาย เช่น instance cloud, Image sharing รวมไปถึงระบบความปลอดภัยอย่าง VPC network ก็ช่วยให้การสร้าง Big Data มีความคล่องแคล่วขึ้นและประหยัดต้นทุน

  1. Application Development 

นักพัฒนา Application จะรู้ดีสำหรับการออกแบบ Application บนสภาพแวดล้อมที่ต้องการ ซึ่ง Cloud Services มีความยืนหยุ่นในการทำงานที่ดี ไม่ว่าจะเป็น Public Cloud หรือ Private Cloud ก็สามารถตอบโจทย์การออกแบบ การจัดการข้อมูล เครือข่ายของ Applacation หรือกระทั่งระบบความปลอดภัยต่างๆ Cloud Computing ก็สามารถสร้างการทำงานที่ตอบโจทย์การพัฒนา Application ได้ เช่น cognitive service, AI, backup/recovery, ChatBot เป็นต้น 

 

เปลี่ยนมาใช้ Cloud ไทย กับ Nipa.Cloud ได้เลยวันนี้! 

สอบถามเพิ่มเติมได้ที่ 

LINE : @NipaCloud 

Website: https://www.nipa.cloud/ 

Facebook: https://www.facebook.com/nipacloud/ 

Inbox: https://www.messenger.com/t/nipacloud 

Email: sales@nipa.cloud 

Call: 02-107-8251 ต่อ 444

Cloud backup vs. off-site backup แบบไหนที่ใช่สำหรับคุณ?

Cloud Backup vs Off-Site Backup

Cloud backup vs. off-site backup แบบไหนที่ใช่สำหรับคุณ?
Cloud Backup vs Off-Site Backup

ระบบการสำรองข้อมูลมีส่วนสำคัญ เพื่อป้องกันความเสี่ยงต่อความเสียหายของข้อมูลในกรณีต่างๆ เช่น ความเสี่ยงเรื่องอัคคีภัย และภัยพิบัติ โดยจะเป็นการสำรองข้อมูลภายนอกไซต์ขององค์กร ซึ่งโซลูชันการสำรองข้อมูลนั้นมีด้วยกัน 2 แบบ คือ Off-site backup และ Cloud backup 

 

Off-site backup การสำรองข้อมูลที่มีประสิทธิภาพ  

ปกติโดยทั่วไปแล้ว ถ้าพูดถึงการสำรองข้อมูลแบบ off-site backup จะหมายถึงการสำเนาข้อมูลที่เราสำรองไว้ยัง Hardware ต่างๆ เช่น เทป, Hard Disk หรือ Server ซึ่งประเด็นหลักอยู่ที่คุณสมบัติในการกู้คืนข้อมูล ในกรณีที่แหล่งข้อมูลดั้งเดิมที่เก็บไว้นั้นใช้งานไม่ได้ ฉะนั้น การสำรองข้อมูลแบบ off-site backups จึงจัดได้ว่าเป็นการสำรองข้อมูลแบบ storage-oriented ที่มีประสิทธิภาพนั่นเอง  

  

Cloud backup การสำรองข้อมูลที่ปลอดภัย คล่องตัว และเพิ่มศักยภาพที่มากขึ้น  

ส่วนอีกวิธีหนึ่งคือ Cloud Backups ซึ่งเป็นบริการที่อยู่ในรูปแบบ ‘การนำข้อมูลของเราไปไว้ที่ไหนก็ได้’ ซึ่งบริการเหล่านี้ออกแบบมาเพื่อให้การซื้อ การเลือกการจัดเก็บ การรักษาความปลอดภัย และการดึงข้อมูลง่ายมากขึ้น และเพราะแบบนี้เอง Cloud Backups จึงถือได้ว่าจัดอยู่ในประเภท service-oriented  

  

เปรียบเทียบ Cloud backup vs. off-site backup แบบไหนที่ใช่สำหรับคุณ?  

แล้วการ Backup แบบไหนถึงเหมาะกับเราล่ะ? ถ้าหากคุณเกิดความรู้สึกสงสัยแบบนี้ ให้ลองตัดสินจากทั้ง 4 คำถามนี้ ที่จะช่วยให้คุณสามารถเลือกกลยุทธิ์ที่เหมาะสมได้  

  

อะไรที่คุณต้องการเป็นพิเศษ?  

บางทีองค์กรของคุณอาจจะมีเงื่อนไขบางอย่างที่เฉพาะเจาะจง อย่างเช่น การเข้ารหัสแบบ 448-bit ซึ่งในกรณีนี้ ผู้ให้บริการต่างๆ จะมีข้อเสนอต่างๆ ยื่นให้ แต่ก็เลือกได้ไม่มากเท่าไหร่ และอาจไม่ตรงตามกับที่คุณต้องการ ดังนั้น การใช้ off-site backup storage จะทำให้คุณสามารถควบคุมได้เอง เพื่อให้ตรงกับความต้องการมากที่สุด  

  

คุณจำเป็นต้องได้รับการช่วยเหลือขนาดไหน?  

ถ้าหากคุณต้องการความช่วยเหลือที่จำเป็นต้องใช้ผู้เชี่ยวชาญ ไม่ว่าจะเป็นการสร้างและกำหนดค่าการสำรองข้อมูล หรือช่วยจัดการการกู้คืน การสำรองด้วยระบบ cloud hosting ก็น่าจะตรงกับความต้องการของคุณมากกว่า เนื่องจากมีผู้เชี่ยชาญด้าน Cloud Services ในการให้คำปรึกษา ดูแล และแก้ไขการใช้งานได้ตลอด 24×7 นั่นเอง  

  

ราคาไปด้วยกันกับทุนองค์กรหรือไม่?  

สำหรับระบบ cloud hosting จะมีความยืดหยุ่นที่มากกว่า off-site เนื่องจากผู้ใช้งานสามารถเลือกใช้ได้ตามความต้องการ การใช้งานจริง หรือจะเป็นบริการแบบรายเดือน (มีทั้งรายชั่วโมง, รายวัน, รายเดือน) ตลอดจนการใช้งานที่เป็นกรรมสิทธิ์ของผู้ใช้งาน ที่เรียกว่า ‘Private Cloud’ แต่สำหรับ off-site ผู้ใช้งานจะต้องลงทุนกับอุปกรณ์ฮาร์ดแวร์เอง รวมถึงการดูแลรักษา และเรียนรู้การใช้งานเองอีกด้วย  

  

แบบไหนปกป้องข้อมูลได้ดีที่สุด?  

ในข้อนี้สามารถเปรียบได้ประมาณว่า ‘จะซื้อ หรือจะสร้าง’ คุณสามารถสร้างสภาพแวดล้อมที่ดีที่สุดต่อการป้องกันข้อมูล ได้ด้วยตัวเองหรือไม่ หรือว่าคุณควรจะไปใช้บริการของผู้ให้บริการ cloud hosting ดีกว่า? พอถามคำถามนี้ ก็อยากให้วนกลับไปที่คำถามแรก ถ้าหากว่าความต้องการหรือเงื่อนไขของคุณค่อนข้างเรียบง่าย ไม่มีอะไรมาก ก็ตรงดิ่งไปที่  Cloud Backup ดีกว่า  

  

จากคำถามทั้ง 4 ข้อนี้ ไม่มีผิด ไม่มีถูก มีแต่ว่าตรงหรือไม่ตรง คุ้มหรือไม่คุ้ม สะดวกหรือไม่สะดวก ฉะนั้น คนที่สามารถเลือกรูปแบบการสำรองข้อมูลได้ดีที่สุด ก็คือตัวคุณและคนในองค์กรของคุณเอง

Data Science กับการเปลี่ยนข้อมูลให้เป็นมูลค่าบน Cloud Server

data science

Data Science กับการเปลี่ยนข้อมูลให้เป็นมูลค่าบน Cloud Server

data science

‘Data Science’ หรือ ‘วิทยาศาสตร์ข้อมูล’ เป็นวิธีการที่ใช้รวบรวมข้อมูลเชิงลึกจากทั้ง ข้อมูลที่มีโครงสร้าง และข้อมูลที่ไม่มีโครงสร้าง ที่มีอยู่ภายในฐานข้อมูลของบริษัท โดยนำข้อมูลมาวิเคราะห์สถิติ ไปจนถึงกระบวนการ Machine Learning บน Cloud Server ซึ่งในองค์กรส่วนใหญ่แล้ว ‘Data Scientist’ หรือ ‘นักวิทยาศาสตร์ข้อมูล’ นั้น ทำงานเพื่อเปลี่ยนข้อมูลให้เป็นมูลค่า เพื่อเพิ่มรายได้ พร้อมๆ กับลดต้นทุน เพิ่มความไหลลื่นทางธุรกิจ และช่วยพัฒนาประสบการณ์ของลูกค้าผ่านการทำงานบน Cloud Server นั่นเอง

Data Scientist ทำงานอย่างไร?

หลายๆ องค์กรที่ให้ความสนใจกับเทคโนโลยี ‘Big Data’ แน่นอนว่าต้องมีคนที่เข้ามาควบคุมนั่นคือ ‘นักวิทยาศาสตร์ข้อมูล’ หรือ ‘Data Scientist’ ซึ่งต้องทำหน้าที่ควบคู่กับการทำงานของอีก 2 ฝ่าย คือ ‘Data Analyst’ และ ‘Data engineers’ โดยทั้ง 3 ฝ่ายมีหน้าที่ในการจัดการข้อมูล ดังนี้

– Data Scientist คือ ออกแบบโมเดลจากข้อมูล เพื่อหาช่องทางใหม่ๆ ให้องค์กร

– Data Analyst คือ วิเคราะห์และออกแบบการนำเสนอข้อมูล เพื่อแก้ไขปัญหาส่งต่างๆ ในองค์กร

– Data Engineers คือ ออกแบบช่องทางของข้อมูล วิธีการจัดเก็บ และการใช้งาน

 

Data Scientist vs. Data Analyst

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

Data Science vs. Big Data

ทั้งวิทยาศาตร์ข้อมูล (Data Science) และ Big Data ล้วนเป็นของคู่กัน แต่วิทยาศาสตร์ข้อมูล (Data Science) นั้นใช้เพื่อดึงมูลค่าจากข้อมูลทุกๆ ขนาด ไม่ว่าจะเป็นข้อมูลที่มีโครงสร้าง ไม่มีโครงสร้าง หรือกึ่งมีโครงสร้าง ซึ่ง Big Data นั้น มีประโยชน์แก่นักวิทยาศาสตร์ข้อมูล (Data Science) ในหลายเรื่องมากๆ เพราะว่า ยิ่งมีข้อมูลมากเท่าไหร่ ก็ยิ่งรวมพารามิเตอร์เข้ารูปแบบที่กำหนดไว้ได้มากเท่านั้น

Data Scientist teams

วิทยาศาสตร์ข้อมูล (Data Science) เป็นงานที่ต้องการทีมที่มีความเรียบร้อย ซึ่งนักวิทยาศาสตร์ข้อมูล (Data Scientist) ถือเป็นแกนหลักของทีมวิทยาศาตร์ข้อมูล ที่จะทำให้เดินหน้าจากข้อมูลไปยังการวิเคราะห์ และจากนั้นก็ทำการเปลี่ยนข้อมูลที่วิเคราะห์ ไปยังส่วนการผลิตที่เพิ่มมูลค่า ซึ่งต้องอาศัยสกิลและบทบาทหนักมาก  ตัวอย่างเช่น นักวิเคราะห์ข้อมูล (Data Analyst) ควรจะเข้ามาช่วยตรวจสอบข้อมูล ก่อนที่จะทำการนำเสนอให้กับทีม และพยายามรักษารูปแบบข้อมูลไว้ให้เหมือนเดิม ส่วนนักวิศวกรรมข้อมูล (Data engineer) เป็นหน่วยงานที่จำเป็นต่อการสร้างท่อลำเลียงข้อมูล เพื่อทำการตกแต่งเซ็ตข้อมูล ให้สามารถใช้กับส่วนอื่นๆ ของบริษัทได้

 

องค์ประกอบในการทำ วิทยาศาสตร์ข้อมูล (Data Science)

  1. Data Processing & cleaning
    ขั้นตอนการจัดแบ่งและจัดเตรียมข้อมูลโดยรวม ด้วยการจัดการกับชนิดของชุดข้อมูลที่แตกต่างกัน และนำไปสู่การวิเคราะห์หรือการสร้างแบบจำลองในที่สุด
  2. Analysis & Modelling
    การวิเคราะห์และทำความเข้าใจกับข้อมูลอย่างลึกซึ้ง ในแง่ของสถิติและคณิตศาสตร์ เพื่อสร้างและใช้โมเดล Machine Learning เชิงวิเคราะห์หรือทำนายที่แตกต่างกัน
  3. Programming languages
    วิทยาศาสตร์ข้อมูลต้องการการทดสอบหลายรูปแบบและการปรับให้เหมาะสม พร้อมกับการสร้างภาพข้อมูล เพื่อดึงข้อมูลเชิงลึกที่ถูกต้องทำการอนุมานทำนายหรือการตัดสินใจ
  4. การจัดการข้อมูล
    อัลกอริธึมและการผลิตขององค์กรต้องมีสภาพแวดล้อมที่เหมาะสม เพื่อจัดเก็บข้อมูลโดยการเซ็ตค่าเครื่องที่เหมาะสม และให้ระบบสามารถทำงานในสคริปต์ที่กำหนดไว้
  5. รูปแบบการตรวจสอบและความรู้เกี่ยวกับโดเมน
    การจัดรูปแบบข้อมูล โดยมองหารูปแบบและสำรองข้อมูลจากการวิเคราะห์และตรวจสอบทุกขั้นตอน เพื่อให้เหมาะสมกับความต้องการของอุตสาหกรรม สิ่งนี้เป็นทักษะที่สำคัญของ นักวิทยาศาสตร์ข้อมูล (Data Scientist)
  6. Communication & Visualisation
    การสื่อสารเป็นทักษะที่สำคัญสำหรับ นักวิทยาศาสตร์ข้อมูล (Data Scientist) ในการสื่อสารแบบจำลองหรือการคาดการณ์ที่พวกสร้างขึ้นมา กับฝ่ายงานที่เกี่ยวของ เพื่อบรรลุเป้าหมายที่วางเอาไว้
  7. Open Source Community
    วิทยาศาสตร์ข้อมูล (Data Science) มักจะสร้างขึ้นด้วยเครื่องมือ Open Source เพราะฉะนั้นการเรียนรู้และทำความรู้จักการทำงานของระบบเหล่านี้ เพื่อสนับสนุนการทำงานของระบบ

 

ความน่าสนใจของวิทยาศาสตร์ข้อมูล (Data Science)

ความน่าสนใจของวิทยาศาสตร์ข้อมูล (Data Science) ขึ้นอยู่กับความจำเป็นขององค์กรนั้นๆ วิทยาศาสตร์ข้อมูลอาจช่วยองค์กรสร้างเครื่องมือต่างๆ ที่ไว้ใช้ทำนายความล้มเหลวของฮาร์ดแวร์ หรือช่วยให้องค์กรสามารถบำรุงรักษาและป้องกันการ Downtime ที่ไม่ได้วางแผนไว้ได้ และยังสามารถช่วยคาดการณ์ได้ว่าเราควรวางผลิตภัณฑ์ ไว้บนเชลฟ์ของห้าง หรือคาดได้ว่า ด้วยรูปลักษณ์และลักษณะของผลิตภัณฑ์นั้น จะมีความนิยมเป็นอย่างไร เป็นต้น

วิทยาศาสตร์ข้อมูล (Data Science) กำลังเปลี่ยนแปลงโฉมหน้าของอุตสาหกรรมต่างๆ อย่างรวดเร็วด้วยนวัตกรรมข้อมูลกลายเป็นฟังก์ชันหลักขององค์กร เช่น การขาย, การตลาด หรือ การออกแบบผลิตภัณฑ์ก็ตาม ในปัจจุบันล้วนต้องใช้ วิทยาศาสตร์ข้อมูล (Data Science) ในการทำงานทั้งสิ้น

ข้อมูลจาก Gemalto ระบุว่า ดัชนีความเชื่อมั่นด้านความปลอดภัยของข้อมูล ในปี 2018 พบว่า 89% ขององค์กรสามารถใช้งาน วิทยาศาสตร์ข้อมูล (Data Science) เพื่อให้เกิดความโดดเด่นในการแข่งขันทางธุรกิจ

สำหรับองค์กรที่สนใจการทำ ‘Big Data’ สร้างโซลูชันระบบการจัดการแหล่งเก็บข้อมูลดิบ (Raw data) ไว้ใน ทะเลสาบข้อมูล (Data Lake) รวมถึง โซลูชันการจัดการแหล่งเก็บข้อมูลใหม่ตามโครงสร้าง ที่เรียกว่า โกดังข้อมูล (Data Warehouse) เพื่อสร้างระบบสำหรับสกัดข้อมูล (Extract) ปรับแต่งโครงสร้างข้อมูล (Transform) และนำไปจัดเก็บ (Load) หรือ ETL จาก Data lake เข้าสู่ Data warehouse

 

เริ่มพัฒนาโซลูชัน ‘Big Data’ กับ Nipa.Cloud ได้เลยวันนี้!

สอบถามเพิ่มเติมได้ที่

LINE : @NipaCloud

Website: https://www.nipa.cloud/

Facebook: https://www.facebook.com/nipacloud/

Inbox: https://www.messenger.com/t/nipacloud

Email: sales@nipa.cloud

Call: 02-107-8251 ต่อ 444

Container เหมาะกับ Cloud อย่างไร

เมื่อกล่าวถึง Cloud เราก็จะนึกไปถึง Hypervisor และ Virtual Machine ที่เป็น Virtualization องค์ประกอบสำคัญของ Cloud โดย Virtualization เต็มรูปแบบซึ่งพื้นฐานนั้นมาจาก Hypervisor-Based ที่ซึ่งพวก Host Operating System และ Hypervisor จะรันชิ้นส่วนของ VM อย่าง Independent Server ด้วย OS ของตน และ Middleware ทั้งนี้การ Virtualization ได้สร้างขอบเขตของระบบที่มีค่ามากใน Cloud และรูปแบบการ Virtualization ที่เป็นที่นิยมอยู่ตอนนี้ก็คือ Container Technology นั่นเอง

แม้ว่า Docker Container จะไม่ได้ขาด IT Support แต่ข้อจำกัดที่ยังต้องพึ่งพา Linux ทำให้จุดยืนของ Docker ในวงการ Cloud ดูไม่ค่อยชัดเจนเท่าไหร่นัก

ในการทำงานของ Container ตัว Server จะรัน OS ที่สร้าง Container แบบกึ่งอัตโนมัติเพื่อรองรับ Application ต่างๆ โดย Application พวกนี้จะแชร์การใช้งาน OS หรือ Host ร่วมกัน ทำให้ Server ไม่ต้องรัน OS ใหม่สำหรับแต่ละ VM และ รองรับการทำงาน Multi-Programming ได้ง่ายขึ้น รวมทังแบ่ง Application ออกจากกันได้ ถึงอย่างนั้นก็ยังไม่ใช่การแยกออกเป็นเอกเทศอย่างสิ้นเชิงเหมือนกับ VM

อาจกล่าวได้ว่าเทคโนโลยี Container เป็นคำตอบที่เหมาะสำหรับ Private Cloud และ Application บางอย่างของ Public Cloud โดยมี Container ยอดนิยม อย่าง Docker เป็น Platform ที่เพอร์เฟ็กต์ที่สุด

กระแสนิยม Docker ใน Cloud

Docker เป็นระบบจัดการ Container (Container Management System) อย่างหนึ่ง ที่จัดการการสร้าง Container อย่างอัตโนมัติเพื่อใช้รัน Application หรือ Component ต่างๆ โดยพื้นฐานแล้ว จะมีชุด API สำหรับจัดการ Container ที่อาจสร้างมาจากTemplate หรือ Command ซึ่งตอนนี้ Docker ก็มีการพัฒนาอยู่ตลอด ออก Orchestration Tool สำหรับ Deploy Component เพิ่มเข้ามาให้ใช้ง่ายได้ง่ายและสะดวกยิ่งขึ้น

ที่จริงแล้วการสร้างระบบ Container-Based จะทำบน OS แบบไหนก็ได้ที่รองรับการ Partition แบบ Container แต่ Docker กลับใช้ Linux Container Tool ดังนั้น Docker Container จึงรันเฉพาะ Application และ Component ของ Linux เท่านั้น แม้จะสามารถรันบน OS อื่นได้ แต่ก็ยังต้องการ Linux Guest OS ติดตั้งไว้ใน VM เพื่อรองรับการทำงานของ Container ซึ่งแน่นอนว่ามันก็ต้องรัน Application ของ Linux อีกเช่นกัน

ส่วนการรองรับ Docker ของ Windows จะเป็นการทำงานแบบที่ใช้ Docker ติดตั้งเอาไว้ใน VM (Docker-in-a-VM Approach) ซึ่งการนำ Docker มาใช้นอก Linux Host นั้นมีความยุ่งยากมาก ทำให้ผู้ใช้หลายคนรู้สึกว่าความยากมันมากเกินกว่าจะช่วยให้ทำงานได้สะดวกขึ้นอย่างที่ควร ต่อให้ผู้ใช้จะรัน Docker บน Host OS อื่นที่ไม่ใช่ Linux แต่สุดท้ายมันก็มีข้อจำกัดว่าต้องใช้ Application ของ Linux อยู่ดี อย่างไรก็ตามการ Host Docker Container บน Server ของ Windows ก็ยังถือว่าเหมาะสมกับผู้ใช้ที่มี Windows Server ขนาดใหญ่และต้องการเพิ่ม Linux-Based Application เข้าไป

ทางด้าน VM-based Virtualization และ Cloud Computing จะมีข้อได้เปรียบตรงความเป็นเอกเทศ เหมาะกับการทำ Public Cloud และ Server Consolidation อย่างยิ่ง โดยการสร้าง Application สำหรับใช้บน Cloud นั้น แทนที่จะย้าย Application จะช่วยลดความจำเป็นของการ Support ความเป็นเอกเทศในระดับนี้ลงไป

กลุ่มองค์กรสามารถ Host Container บน VM ใน Public Cloud หรือ Host ใน Data Center หรือกระทั่งบน Client Device ก็ได้ โดยใช้ Orchestration Tool ใหม่ของ Docker ในการ Deploy Container-Based Component รวมทั้งประสานการทำงานกับ Workflow แถม Tool พวกนี้ยังช่วยให้ใช้งาน Hybrid Cloud ได้สะดวกด้วยระบบ Failover ที่ใช้งานง่ายกว่าเดิม

ด้วยความเล็กและการทำงานอย่างรวดเร็วของ Container ทำให้สามารถ Scale จำนวน Load หรือ เพิ่ม/ลด Feature ได้ตามต้องการ อีกทั้ง Machine Image ที่ต้องใช้ Load โครงสร้าง Container ลงไปบน Bare-Metal หรือ VM ก็ง่ายต่อการพัฒนาระบบ และสามารถ Port ได้สะดวกอีกด้วย ตัว Application Image ที่ต้องติดตั้งลงไปใน Container ก็สามารถพัฒนาและสั่ง Deploy ได้ง่ายเช่นเดียวกัน โดยพึ่งการทำงานของ Host OS และ Middleware Service

Docker เป็นที่นิยมมากขึ้นเรื่อยๆ แต่ยังห่างไกลคำว่าเพอร์เฟ็กต์

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

นอกจากนี้ ยังมีอีกวิธีหนึ่ง คือ การปรับ VM ให้ทำงานคล้ายกับ Container เรียกว่า “Mini-VM” เช่น การที่ Xen Mirage ใช้ Shim Kernel ที่มีความเป็นเอกเทศกับกับ Application อยู่บ้าง แต่จะเลี่ยงการคัดลอก OS และ Middleware ทั้งหมด

ส่วนการตัดสินใจว่าจะเลือกใช้ Container หรือ VM ดีนั้น ต้องดูจากโครงสร้างของ Application และ Source ซึ่ง Monolithic Application ที่สร้างขึ้นมาด้วย Server Consolidation จะมีขนาดใหญ่และไม่ยืดหยุ่น ใช้ประโยชน์จาก Container ได้ไม่มาก Application ที่เหมาะกับเทคโนโลยี Container คือ พวกที่มีพื้นฐานมาจาก SOA/REST เพราะ Application พวกนี้มีขนาดเล็ก กระจายตัวได้หลากหลาย ย้ายไปมาระหว่าง Cloud ได้ รวมทั้งสามารถ Scale อย่างต่อเนื่อง หรือรันการทำงานแบบเป็นช่วงๆ ได้ อย่างไรก็ดีการเลือกรันการทำงานด้วย Linux Container ก็คือการตัดสินใจเลือกใช้ Docker ไปโดยปริยาย

เทคโนโลยี Container และบทบาทของ Docker ในระบบ Cloud Computing มีแนวโน้มจะเติบโตอย่างต่อเนื่อง โดยเฉพาะเมื่อ Application ใหม่ๆ สำหรับ Cloud โดยเฉพาะได้รับการพัฒนาออกมาอยู่เรื่อยๆ นานวันเข้าก็จะมีการทำงานร่วมกันระหว่าง Docker กับ VM มากขึ้น Orchestration Tool คุณภาพสูงจะช่วยให้ผู้ใช้สามารถสั่งใช้งาน Component ใน Container หรือ VM หรือกระทั่ง Container ภายใน VM ก็ยังได้ ซึ่งเทคโนโลยีไม่ว่าจะเป็นอะไรก็ตาม จะไม่เกิดขึ้นมาเพื่อลบล้างการใช้งานของเทคโนโลยีเดิม แต่พวกมันจะทำงานร่วมกันเพื่อนำมาซึ่งประสิทธิภาพสูงสุดต่างหาก

Container Orchestration

ทั้ง Container และ OpenStack ต่างก็เป็นเทคโนโลยีสุดฮอตในระบบ Cloud แต่รู้หรือไม่ว่า Container Orchestration Tool ตัวไหนบ้างที่สามารถนำมาใช้งานร่วมกับ Open Source Cloud Platform อย่าง OpenStack ได้? มาหาคำตอบกันที่บทความนี้ได้เลย

องค์กรทั้งหลายมักใช้ Container Orchestration Tool (หรือบางครั้งก็เรียกว่า Container Orchestration Engine) ในการ Deploy, Scale, และ เชื่อมต่อส่วนประกอบต่างๆ ของ Container Technology เข้าด้วยกัน ซึ่ง Orchestration Tool นี้ช่วยให้องค์กรสามารถ Monitor พวก Container Instance เพื่อลดจำนวน Container ที่กระจายตัวอยู่ในระบบได้อีกด้วย

OpenStack Magnum Module ที่เป็นบริการ OpenStack API สำหรับ Container นั้นรองรับ 3 Container Orchestration Engine หลักๆ คือ Docker, Google Kubernetes, และ Apache Mesos

Docker เป็นหนึ่งใน Orchestration Engine ที่ได้รับความนิยมและเป็นที่รู้จักมากที่สุด Docker ทำให้ Developer สามารถ  Package และ Deploy ทั้ง Application ตลอดจนสิ่งที่ Application ต้องใช้ได้ภายในหนึ่ง Image ที่รันบนระบบของ Linux ทั้งนี้ Docker ก็มี Tool ของตัวเอง เช่น Docker Machine สำหรับสร้าง Docker Host, Docker Compose สำหรับรวบรวม Application ซับซ้อนทั้งหลายที่กระจายตัวอยู่, และ Docker Swarm สำหรับรองรับ Container Cluster ให้มีระบบ Computing ที่ยืดหยุ่นและ Scale การใช้งานได้

Google Kubernetes เป็น Container Orchestration Engine แบบ Open Source ที่รองรับการงานร่วมกับ Docker Container โดย Kubernetes นี้จะ Deploy และจัดการ Container อยู่ภายใน Compute Cluster ทั้งยังทำ Workload Balancing เพื่อคงไว้ซึ่งศักยภาพการทำงาน

Apache Mesos ก็เป็นอีกหนึ่ง Orchestration Engine แบบ Open Source ที่เน้นด้านความคงทนต่อความเสียหาย (Fault-Tolerant), Compute Cluster ขนาดใหญ่, และการรองรับ Node จำนวนนับหมื่นที่รัน Docker Container นอกจากนี้ Mesos ยังรองรับคอนเซ็ปต์ของ Jobs And Tasks รวมทั้งสภาพแวดล้อม Container ที่เปลี่ยนแปลงอยู่ตลอดและมีความสามารถการ Scale สูง ซึ่งองค์กรมักจะใช้งาน Mesos กับ Job System อย่าง Marathon สำหรับรัน Jobs และ Tasks

ผู้ใช้งาน OpenStack สามารถเลือกใช้อย่างไหนก็ได้จาก 3 Orchestration Tool นี้ โดย Engine ที่เลือกใช้จะถูก Provision อัติโนมัติไปยัง Host System ที่มี Container Deploy อยู่ทันที

รู้จัก OpenStack

คุณรู้จัก OpenStack มากน้อยแค่ไหน แล้วรู้สึกไหมว่า ในยุค 4.0 นี้ เราเห็นคำว่า OpenStack ผ่านตามากมายจากหลายที่ นั่นเพราะเป็นเทคโนโลยี ที่กำลังมาแรงในขณะนี้ สำหรับใครที่ยังไม่มีความรู้ในเรื่องของ OpenStack เลยว่ามันคืออะไร วันนี้เราจะพาไปทำความรู้จัก เพื่อเป็นประโยชน์ในธุรกิจของตัวคุณเอง

ปัจจุบัน OpenStack ได้รับความนิยมมากขึ้นเรื่อยๆ อย่างกว้างขวางจากกว่า 250 องค์กรใน 130 ประเทศทั่วโลก ในฐานะ Open Source สำหรับ Private Cloud แต่อะไรทำให้ OpenStack มีความโดดเด่นเกินหน้าเกินตาคู่แข่งรายอื่นอย่าง Amazon EC2 กันล่ะ? บทความนี้จะพาคุณไปทำความรู้จักกับ OpenStack และเปิดเผยองค์ประกอบเด่นๆ ของมันกัน

OpenStack ในฐานะแพลตฟอร์มแบบ Open source

NASA และ Rackspace เป็นผู้เริ่มต้นพัฒนา OpenStack ก่อนจะเปิดเป็น Open source ให้เหล่าโปรแกรมเมอร์สามารถนำไปพัฒนาต่อได้ตามต้องการ โดยตรวจสอบ Source code ได้ทาง GitHub ทั้งนี้พวกโปรแกรมเมอร์ผู้พัฒนาระบบ OpenStack เองก็ทำงานให้กับองค์กรใหญ่ที่นำ OpenStack ไปใช้ด้วยเหมือนกัน เช่น Rackspace และ PayPal เป็นต้น

นอกจากนี้ ยังมีโปรเจ็คเกี่ยวกับ OpenStack อีกหลายโครงการ ซึ่งส่วนมากก็เป็นโปรเจ็คเฉพาะด้าน เช่น การติดตั้งแบบ bare-metal ผู้ที่สนใจจะเรียนรู้เกี่ยวกับการใช้งาน OpenStack หรือจะทดลองใช้ ทาง OpenStack ก็มี Development Version ให้ลองเล่นกันได้โดยนำไปติดตั้งบน Ubuntu Linux หรือจะใช้ OpenStack Autopilot wizard ในการสั่ง Deploy ก็ได้ ส่วน Source code ก็ไม่จำเป็น เพราะ OpenStack สามารถหาได้จาก Python package โดยใช้ Tools ชื่อ apt-get ในการติดตั้ง

รู้จัก Ecosystem ของ OpenStack

สิ่งที่เหมือนกันของ OpenStack กับ Amazon EC2 คือ ผู้ใช้สามารถ Provision VM จาก dashboard หรือ API ได้ แต่ข้อแตกต่างหลักๆ นอกจากเรื่องที่ OpenStack เป็นบริการฟรี คือ Amazon EC2 เป็นบริการ Public Cloud เท่านั้น ส่วน OpenStack ผู้ใช้สามารถเลือกได้ว่าจะใช้เป็นบริการ Private Cloud ของ OpenStack เอง หรือจะสมัครไปใช้ Public Cloud จากตัวแทนผู้ให้บริการของ OpenStack ก็ได้

OpenStack ในความจริงไม่ใช่ Hypervisor แต่ OpenStack เป็นโครงสร้างที่ถูกสร้างขึ้นมาเพื่อทำงานร่วมกับ Hypervisor ที่แตกต่างกันหลายๆ เครื่อง โดย User สามารถเลือกได้ว่าจะ Deploy Hypervisor บนตัวเครื่อง (machine) หรือบน OS ที่ built-in มากับ Hypervisor เช่น Linux KVM เป็นต้น นอกจากนี้ OpenStack ยังทำให้ User สามารถนำ VM ไปติดตั้งบน Bare-Metal Server (เซิร์ฟเวอร์สำหรับผู้ใช้คนเดียว) ได้อีกด้วย

Component หลักของ OpenStack

  • Horizon (Dashboard) : เป็น User Interface (UI) แบบ Web-based
  • Nova (Compute) : ประกอบด้วย Controller และ Compute Nodes ที่ดึง VM image มาจาก OpenStack image service และสร้าง VM บนเซิร์ฟเวอร์ที่เราต้องการ โดยมี APIs ที่แตกต่างกันตามแต่ Platforms เช่น XenAPI, VMwareAPI, libvirt for Linux KVM (QEMU), Amazon EC2, และ Microsoft Hyper-V เป็นต้น
  • Neutron (Networking) : สำหรับสร้าง Virtual Network และ Network Interface อีกทั้งยังทำหน้าที่เชื่อมต่อกับ Networking Products จากตัวแทนผู้ให้บริการอื่นๆ
  • Swift (Object storage) : มีหลักการทำงานเหมือน Amazon S3 โดยจะบันทึกข้อมูลแบบเดี่ยว อย่าง Image เก็บไว้โดยใช้ระบบ REST Web service
  • Cinder (Block storage) : คล้ายกับ Swift โดยจะเก็บ disk file ต่างๆ เช่น Log และเปิดให้เราสามารถเพิ่มเติมข้อมูลเข้าไปได้ ในขณะที่ Swift จะให้เก็บแทนที่ของเดิมเท่านั้น
  • Keystone (identity storage) : เป็นตัวคำสั่งที่เปิดให้ User และ Process สามารถเข้าถึง Tools ต่างๆ ของ OpenStack ได้โดยสร้าง Autentication Token ขึ้นมา
  • Glance (Image service) : เป็นตัวหลักของ OpenStack ในฐานะ Cloud Operating System คือ การสร้าง VM image ขึ้นมา โดย Glance คือแคตตาล็อครวม VM ที่เราอัพโหลดเอาไว้และเปิดให้ใช้กันภายในองค์กร
  • Trove (database server) : เป็นตัวสนับสนุนการทำงานของ Database ที่ต่างกัน

นอกจากนี้ Component พวกนี้ของ OpenStack ยังใช้ MySQL database ที่หลากหลาย สามารถทำงานร่วมกับ Python รวมทั้งใช้ Command line interface ของ Python ได้อีกด้วย ตัวอย่างเช่น

คำสั่งดาวน์โหลด Keystone จากเซิร์ฟเวอร์ Linux ที่เก็บข้อมูลเอาไว้แบบ Public

apt-get install keystone python-keystoneclient

คำสั่งสร้าง User บน Keystone

keystone user-create –name Sam –description “Sam”

คำสั่งลิสต์ชื่อ VM images ด้วย Nova

nova image-list

คำสั่งเปิด Python Shell ก็ทำได้ง่ายๆ แค่พิมพ์ Python แล้วตามด้วย

from keystoneclient.v2_0 import client

หรือถ้าใครไม่คล่อง Python CLI (Command Line Interface) จะสลับไปใช้ Dashboard แบบคลิกก็ได้เหมือนกัน

นิยามใหม่ OpenStack Cloud

ถ้าพูดถึง Public Cloud เราก็คงนึกถึง Amazon Web Service (AWS) เพราะเป็นอันดับต้นๆ ของตลาด แต่ถ้าพูดถึง OpenStack เราก็จะนึกถึง Private Cloud ที่รองรับการทำงาน Private Cloud ได้ดีที่สุดในเวลานี้

โดยอาจกล่าวได้เลยว่าไม่มี Cloud Technology Platform ใดๆ ที่จะได้รับการสนับสนุนได้มากเท่า OpenStack ซึ่ง OpenStack นั้นเกิดมาจากการร่วมมือกันของ NASA และ Rackspace ในปี 2010 ก่อนที่จะมีการเติบโตขึ้นในฐานะ Open source ซึ่งมีผู้ให้การสนับสนุนมากมาย ทั้ง HP, IBM, Intel, Cisco, Dell, EMC, VMware, Symantec, Huawei, และ Yahoo

ใครใช้ OpenStack บ้าง?

          ผู้ให้การสนับสนุนจำนวนมากเหล่านี้ เป็นเพียงแค่ครึ่งหนึ่งของจำนวนผู้ใช้งาน OpenStack เท่านั้น ซึ่งภายในงาน OpenStack Summit ที่ Vancouver ที่ผ่านมา ผู้ค้าระดับโลกอย่าง Walmart ได้ออกมาพูดถึงการใช้งาน OpenStack กับระบบการจัดการ Ecommerce ว่าสามารถสร้างความสำเร็จมหาศาลได้อย่างไร นอกจากนี้ OpenStack ยังเป็นเบื้องหลังความสำเร็จของทั้ง eBay, Paypal, Comcast, Time Warner Cable และ Bestbuy ส่วนทาง NASA เองก็ถือว่าเป็นอีกหนึ่งสาวกผู้ที่กำลังใช้ OpenStack เป็นรากฐานพัฒนาเทคโนโลยีพามนุษย์ไปสู่ดาวอังคารนั่นเอง

เมื่อเราพอจะมองเห็นภาพกว้างๆ แล้วว่า OpenStack ถูกใช้โดยใครและใช้ทำอะไรบ้างแล้วนั้น ต่อมาก็จะต้องมาทำความเข้าใจกันหน่อยว่าแท้จริงแล้ว OpenStack ไม่ใช่ Homogeneous Cloud Product หรือผลิตภัณฑ์ Cloud ที่อยู่ภายใต้ผู้ให้บริการรายเดียวแบบเสร็จสรรพ ตั้งแต่ Hypervisor ยัน Management Layer (* อ้างอิงจาก http://www.bmc.com/blogs/what-price-homogeneity/) และ OpenStack ก็ไม่ใช่ผลิตภัณฑ์ Virtualization Hypervisor แต่อย่างใด

OpenStack นั้นเป็นเพียงแพลตฟอร์มผสานการทำงาน หรือ Integration Platform เท่านั้น โดย OpenStack จะเป็น Framework ที่มาพร้อมกับ API และ Tool สำหรับ Cloud Service พวก Product และ Technology ต่างๆ จะถูก Integrate และ Deploy ภายใน Framework นี้ เพื่อสร้าง OpenStack Cloud ขึ้นมา

ผู้ให้บริการบิดเบือนความหมายของ Cloud

ความหมายที่แท้จริงของ Cloud ได้ถูกบิดเบือนไปโดยเหล่าผู้ให้บริการ เพื่อให้เข้ากับจุดประสงค์การขายสินค้าของตน และสำหรับ Cloud ของ OpenStack นั้น จะขอยึดเอาตามคำจำกัดความจาก Amandeep Singh Juneja ผู้เป็น Senior Director ด้าน Cloud Engineering ที่ Walmart Labs คือ “Cloud นำมาซึ่งความยืนหยุ่นและการทำงานอย่างต่อเนื่องของระบบ Infrastructure”

ทั้งนี้ทั้งนั้นทาง OpenStack เองก็ได้นำเสนอ Framework ที่จะทำให้ ระบบ Infrastructure ทำงานได้อย่างต่อเนื่องและยืดหยุ่นเช่นเดียวกัน

นิยามใหม่ของ OpenStack Cloud

แรกเริ่มเดิมที OpenStack มีอยู่ 2 โปรเจ็กต์ได้แก่ Nova Compute Project และ Swift Storage ซึ่ง Nova จะทำให้ Cloud Operator สามารถเลือกการ Deploy ได้จาก Hypervisor และ Virtualization Technology หลายๆ แบบ ไม่ว่าจะ ESX ของ VMware, Open Source อย่าง KVM และ Xen Hypervisor หรือกระทั้ง Hyper-V ของ Microsoft ก็สามารถนำมา Deploy ใน Nova ได้เช่นกัน

หลังจากนั้น OpenStack ก็ได้ขยาย Project โดยการเพิ่มโปรเจ็กต์ใหม่ๆ เข้าไปภายใต้สิ่งที่รู้จักกันในชื่อ OpenStack Integrated Release สำหรับ OpenStack Kilo ที่ปล่อยออกมาไม่นานนี้ มีการผสานรวมหลายๆ โปรเจ็กต์เข้าด้วยกัน ซึ่งได้แก่ Nova compute, Swift object storage, Cinder block storage, Keystone identity, Horizon dashboard, Glance image, Neutron networking, Trove database, Sahara Big Data, Heat orchestration, Ceilometer monitoring และ Ironic Bare Metal projects

ความท้าทายของ Integrated Release ก็คือ ในการใช้งาน OpenStack Cloud เราไม่ได้ใช้สิ่งที่อยู่ใน Integrated Release ครบทั้งหมด เริ่มด้วย Liberty Release ที่จะทำให้เกิดนิยามใหม่ขึ้นสำหรับ OpenStack แล้วไหนจะ DefCore Project ส่วนสำคัญที่ต้องเข้าไปอยู่ใน Cloud เพื่อให้สามารถเรียกได้ว่าเป็น OpenStack Cloud นอกจากนี้ยังมี Big Tent ซึ่งเต็มไปด้วยสารพัดโปรเจ็กต์ให้ผู้ใช้หรือผู้ให้บริการ Cloud ได้เลือกสรร

ทั้งนี้ Big Tent ได้เปลี่ยนคำนิยามของ OpenStack Cloud ไปเสียหมด ทั้งเรื่องที่ OpenStack Cloud คืออะไร และสามารถทำอะไรได้บ้าง นั่นหมายความว่า Liberty ที่ปล่อยออกมาก็จะสร้างความแตกต่างมหาศาลให้กับ OpenStack เช่นเดียวกัน อย่างไรก็ตาม DefCore ยังคงเป็นส่วนที่ขาดไม่ได้ ทั้ง Keystone Identity service และ API เพราะ Keystone คือตัวเปิดการทำงานของ Federated Identity หรือ การพิสูจน์ตัวตนแบบรวมศูนย์ ใน OpenStack Cloud ด้วยไอเดียที่จะให้ OpenStack Foundation กลายมาเป็น OpenStack Powered Planet คือ ให้เกิดศูนย์กลางการใช้งาน OpenStack ทั่วโลกนั่นเอง

 

เทียบกันจะๆ Public, Private, และ Hybrid Cloud Computing แบบไหนที่ใช่คุณ

นักธุรกิจส่วนใหญ่ ที่หันมาใช้ Cloud Computing หลายคนมักเกิดคำถามว่า Cloud Computing มีแยกย่อยออกเป็น 3 รูปแบบ PublicPrivate, และ Hybrid Cloud Computing แล้วจะเลือกใช้แบบไหนดี เพื่อให้เหมาะกับธุรกิจของเรา

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

Public Clouds

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

Public Cloud จะเป็นตัวเลือกที่ดีที่สุดเมื่อ:

  1. Workload มาตรฐานสำหรับ Application ถูกใช้โดยคนจำนวนมาก เช่น E-mail
  2. ต้องการทดสอบและพัฒนา Application Code
  3. มี SaaS (Software as a Service) จากผู้ให้บริการที่เตรียมระบบรักษาความปลอดภัยและแผนการรับมือมาเป็นอย่างดี
  4. ต้องการความสามารถเพื่อรองรับ Workload ที่เพิ่มขึ้นอย่างมากในช่วง Peak Time
  5. มีโครงการหรืองานที่ต้องทำร่วมกับผู้อื่น
  6. ต้องการทำ ad-hoc software development project โดยใช้ PaaS (Platform as a Service) ผ่านทางระบบ Cloud

หมายเหตุ : ผู้บริหารในฝ่าย IT กังวลในเรื่องความปลอดภัยและความน่าเชื่อถือของ Public Cloud จึงต้องใช้เวลาพิจารณาศึกษาให้มั่นใจก่อนว่าระบบถูกออกแบบมาดี เพื่อป้องกันหรือรับมือได้เมื่อเกิดปัญหา นอกจากนี้การประหยัดงบประมาณในระยะสั้นอาจจะส่งผลเสียในระยะยาวได้

Private Clouds

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

Private Cloud จะเป็นตัวเลือกที่ดีที่สุดเมื่อ:

  1. มีการทำงานเกี่ยวกับ Data และ Application สำคัญ ซึ่งจะต้องมีความปลอดภัยและการควบคุมการเข้าถึงมาเป็นอันดับแรก
  2. มีการทำธุรกิจที่ใส่ใจเรื่องความปลอดภัยและความเป็นส่วนตัวของข้อมูลเป็นพิเศษ
  3. บริษัทหรือองค์กรมีขนาดใหญ่มากพอที่จะรัน Cloud Data Center อย่างมีประสิทธิภาพได้ด้วยตัวเอง

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

Hybrid Clouds

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

Hybrid Cloud จะเป็นตัวเลือกที่ดีที่สุดเมื่อ :

  1. ต้องการใช้ Application แบบ SaaS แต่ต้องการเรื่องความปลอดภัย ดังนั้นผู้ให้บริการ SaaS จึงสร้าง Private Cloud ขึ้นมาภายใต้ Firewall ของทางผู้ให้บริการ โดยผู้ใช้งานจะได้รับ VPN (Virtual Private Network) มาเป็นตัวเสริมความปลอดภัย
  2. เป็นธุรกิจที่ให้บริการในระบบตลาดแบบแนวตั้ง (Vertical Market) ซึ่งประกอบด้วยลูกค้าหลากหลายและเป็นอิสระแยกจากกัน จึงใช้ Public Cloud เพื่อติดต่อกับลูกค้า แต่เก็บข้อมูลของลูกค้าแต่ละรายไว้อย่างปลอดภัยภายใน Private Cloud

หมายเหตุ : ระบบการจัดการ Cloud Computing จะมีความซับซ้อนสูงขึ้นมาทันที เมื่อต้องจัดการทั้ง Public CloudPrivate Cloud, และ Data Center ภายในไปพร้อมๆ กัน ดังนั้นในการจัดการ Hybrid Cloud จึงจำเป็นต้องมีการเพิ่มความสามารถสำหรับจัดการและจัดกลุ่มการทำงานร่วมของสภาพแวดล้อมที่ต่างกันพวกนี้

ตัวเลือกของ Cloud Computing ที่มีมาให้เลือกอย่างหลากหลายแบบนี้ เมื่อเปรียบเทียบข้อแตกต่างทั้งหมดของทั้ง 3 แบบข้างต้นแล้ว ต่อไปก็เป็นหน้าที่ของผู้ประกอบการว่าจะใช้ Cloud Computing แบบไหนให้เหมาะกับธุรกิจของตนมากที่สุด เพื่อให้เกิดประโยชน์อันสูงสุดและผลลัพธ์ที่ดีกับองค์กร แล้วคุณล่ะ เลือกแบบไหน?

OpenStack พร้อมนำ Liberty มาสู่ Cloud

ในตอนนี้ Amazon Web Service (AWS) กำลังจะก้าวขึ้นมาเป็นที่หนึ่งของ Public Cloud หากพูดกันจริงๆแล้ว Private Cloud ยังไงๆ ก็ต้องยกนิ้วให้กับ OpenStack ซึ่งเป็น Open Source ที่รองรับการทำงาน Private Cloud สุดเจ๋ง พูดได้เลยว่าหากไม่มี Cloud Technology Platform ไหนได้รับการสนับสนุนและถูกนำมาใช้งานมากเท่ากับ OpenStack ซึ่ง OpenStack นี้มันเกิดจากการร่วมมือของ NASA และ Rackspace ในปี 2010 ก่อนจะเติบโตขึ้นมาในฐานะ Open source โดยมีผู้ให้การสนับสนุนมากมาย ทั้ง HP, IBM, Intel, Cisco, Dell, EMC, VMware, Symantec, Huawei, และ Yahoo เป็นต้น

 

แต่จริงๆแล้วใครบ้างล่ะที่ใช้ OpenStack?

แต่เหล่าผู้สนับสนุนเป็นเพียงแค่ครึ่งเดียวของผู้ใช้ OpenStack เท่านั้น ดูได้จากภายในงาน OpenStack Summit ที่ผ่านมา มีผู้ค้าระดับโลกอย่าง Walmart ได้ออกมาพูดถึงการใช้งาน OpenStack กับระบบการจัดการ Ecommerce ว่ามันสามารถสร้างความสำเร็จมหาศาลได้ นอกจากนี้ OpenStack ยังเป็นเบื้องหลังความสำเร็จของทั้ง eBay, Paypal, Comcast, Time Warner Cable และ Bestbuy ส่วนทาง NASA เองก็เป็นอีกหนึ่งผู้กำลังใช้ OpenStack เป็นรากฐานพัฒนาเทคโ

โลยีพามนุษย์ไปสู่ดาวอังคาร เอาล่ะเรามาทำความเข้าใจกันเสียหน่อยว่าแท้จริง OpenStack ไม่ใช่ Homogeneous Cloud Product หรือผลิตภัณฑ์ Cloud ที่อยู่ภายใต้ผู้ให้บริการรายเดียวแบบเสร็จสรรพ ตั้งแต่ Hypervisor ยัน Management Layer  และ OpenStack ก็ไม่ใช่ผลิตภัณฑ์ Virtualization Hypervisor แต่อย่างใด OpenStack เป็นเพียงแพลตฟอร์มผสานการทำงาน หรือ Integration Platform เท่านั้น โดย OpenStack จะเป็น Framework ที่มาพร้อมกับ API และ Tool สำหรับ Cloud Service พวก Product และ Technology ต่างๆ จะถูก Integrate และ Deploy ภายใน Framework นี้ เพื่อสร้าง OpenStack Cloud ขึ้นมาเท่านั้น

 

รู้จัก OpenStack แบบง่ายๆ ก่อนเริ่มใช้ Cloud

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

What’s OpenStack?

OpenStack เริ่มต้นมาจากการองค์การบริหารการบินและอวกาศแห่งชาติ (NASA) ร่วมกับ Rackspace บริจาคโค้ด (Code) ของระบบ Cloud ที่ตนเองมีอยู่ให้เป็น Open Source ปัจจุบันได้รับการยอมรับอย่างกว้างขวางจากกว่า 250 องค์กรใน 130 ประเทศทั่วโลก

เว็บไซต์ OpenStack.org ได้ให้ความหมายของคำว่า “OpenStack” ไว้ว่า “OpenStack software controls large pools of compute, storage, and networking resources throughout a datacenter, managed through a dashboard or via the OpenStack API. OpenStack works with popular enterprise and open source technologies making it ideal for heterogeneous infrastructure” (เป็นโปรแกรมควบคุมชุดคำสั่งคอมพิวเตอร์, Computer Networking และพื้นที่เก็บไฟล์ขนาดใหญ่ที่อยู่ภายใน Data Center โดยควบคุมผ่านทาง Dashboard หรือ OpenStack API ได้รับความนิยมในหมู่ผู้ประกอบการและระบบ Open source ด้วยกัน ซึ่งนั่นส่งผลให้ OpenStack เป็นโปรแกรมที่เหมาะกับ Infrastructure ขนาดใหญ่ที่สุดในขณะนี้)

OpenStack ในฐานะแพลตฟอร์มแบบ Open source

ภายหลังจาก NASA และ Rackspace เป็นผู้เริ่มต้นพัฒนา OpenStack เป็น Open source ให้เหล่าโปรแกรมเมอร์นำไปพัฒนาต่อได้ตามต้องการ โดยตรวจสอบ Source code ได้ทาง GitHub ทั้งนี้พวกโปรแกรมเมอร์ผู้พัฒนาระบบ OpenStack เองก็ทำงานให้กับองค์กรใหญ่ที่นำ OpenStack ไปใช้ด้วยเหมือนกัน เช่น Rackspace และ PayPal เป็นต้น

นอกจากนี้ ยังมีโปรเจ็คเกี่ยวกับ OpenStack อีกหลายโครงการ ซึ่งส่วนมากก็เป็นโปรเจ็คเฉพาะด้าน เช่น การติดตั้งแบบ bare-metal ผู้ที่สนใจจะเรียนรู้เกี่ยวกับการใช้งาน OpenStack หรือจะทดลองใช้ ทาง OpenStack ก็มี Development Version ให้ลองเล่นกันได้โดยนำไปติดตั้งบน Ubuntu Linux หรือจะใช้ OpenStack Autopilot wizard ในการสั่ง Deploy ก็ได้ ส่วน Source code ก็ไม่จำเป็น เพราะ OpenStack สามารถหาได้จาก Python package โดยใช้ Tools ชื่อ apt-get ในการติดตั้ง

รู้จัก Ecosystem ของ OpenStack

OpenStack กับ Amazon EC2 อาจดูคล้ายกันมาก เพราะผู้ใช้สามารถ Provision VM จาก dashboard หรือ API ได้เหมือนกัน แต่ข้อแตกต่างหลักๆ นอกจากเรื่องที่ OpenStack เป็นของฟรี ก็คือ Amazon EC2 เป็นบริการ Public Cloud เท่านั้น ส่วน OpenStack ผู้ใช้สามารถเลือกได้ว่าจะใช้เป็นบริการ Private Cloud ของ OpenStack เอง หรือจะสมัครไปใช้ Public Cloud จากตัวแทนผู้ให้บริการของ OpenStack ก็ได้

ต้องทำความเข้าใจกันก่อนว่า OpenStack ไม่ใช่ Hypervisor แต่ถูกสร้างมาเพื่อทำงานร่วมกับ Hypervisor ที่แตกต่างกันหลายๆ เครื่อง User สามารถเลือกได้ว่าจะ Deploy Hypervisor บนตัวเครื่อง (machine) หรือบน OS ที่ built-in มากับ Hypervisor เช่น Linux KVM เป็นต้น นอกจากนี้ OpenStack ยังทำให้ User สามารถนำ VM ไปติดตั้งบน Bare-Metal Server (เซิร์ฟเวอร์สำหรับผู้ใช้คนเดียว) ได้อีกด้วย

Component หลักของ OpenStack

  • Horizon (Dashboard) : เป็น User Interface (UI) แบบ Web-based
  • Nova (Compute) : ประกอบด้วย Controller และ Compute Nodes ที่ดึง VM image มาจาก OpenStack image service และสร้าง VM บนเซิร์ฟเวอร์ที่เราต้องการ โดยมี APIs ที่แตกต่างกันตามแต่ Platforms เช่น XenAPI, VMwareAPI, libvirt for Linux KVM (QEMU), Amazon EC2, และ Microsoft Hyper-V เป็นต้น
  • Neutron (Networking) : สำหรับสร้าง Virtual Network และ Network Interface อีกทั้งยังทำหน้าที่เชื่อมต่อกับ Networking Products จากตัวแทนผู้ให้บริการอื่นๆ
  • Swift (Object storage) : มีหลักการทำงานเหมือน Amazon S3 โดยจะบันทึกข้อมูลแบบเดี่ยว อย่าง Image เก็บไว้โดยใช้ระบบ REST Web service
  • Cinder (Block storage) : คล้ายกับ Swift โดยจะเก็บ disk file ต่างๆ เช่น Log และเปิดให้เราสามารถเพิ่มเติมข้อมูลเข้าไปได้ ในขณะที่ Swift จะให้เก็บแทนที่ของเดิมเท่านั้น
  • Keystone (Identity storage) : เป็นตัวคำสั่งที่เปิดให้ User และ Process สามารถเข้าถึง Tools ต่างๆ ของ OpenStack ได้โดยสร้าง Authentication Token ขึ้นมา
  • Glance (Image service) : เป็นตัวหลักของ OpenStack ในฐานะ Cloud Operating System คือ การสร้าง VM image ขึ้นมา โดย Glance คือแคตตาล็อกรวม VM ที่เราอัพโหลดเอาไว้และเปิดให้ใช้กันภายในองค์กร
  • Trove (Database server) : เป็นตัวสนับสนุนการทำงานของ Database ที่ต่างกัน

นอกจากนี้ Component พวกนี้ของ OpenStack ยังใช้ MySQL database ที่หลากหลาย สามารถทำงานร่วมกับ Python รวมทั้งใช้ Command line interface ของ Python ได้อีกด้วย ตัวอย่างเช่น

คำสั่งดาวน์โหลด Keystone จากเซิร์ฟเวอร์ Linux ที่เก็บข้อมูลเอาไว้แบบ Public

apt-get install keystone python-keystoneclient

คำสั่งสร้าง User บน Keystone

keystone user-create –name Sam –description “Sam”

คำสั่งลิสต์ชื่อ VM images ด้วย Nova

nova image-list

คำสั่งเปิด Python Shell ก็ทำได้ง่ายๆ แค่พิมพ์ Python แล้วตามด้วย

from keystoneclient.v2_0 import client

หรือถ้าใครไม่คล่อง Python CLI (Command Line Interface) จะสลับไปใช้ Dashboard แบบคลิกก็ได้เหมือนกัน