KEYNOTE: Use Case: A Close Look at OpenStack Ocata as Public Cloud Part II
การเรียนรู้ OpenStack Public Cloud เมื่อเวลาผ่านไป
เมื่อเวลาผ่านไป การพัฒนา source code ของคอมมิวนิตี้ OpenStack ก็เกิดขึ้น และอีกสิ่งที่เราได้เรียนรู้ระหว่างทางคือการอัปเดต OpenStack Ocata ซึ่งปกติจะมีการอัปเดต อยู่ 2 ตัวเลือก ได้แก่
- การอัปเดตแนวนอน การอัปเดตภายในเวอร์ชันนั้น ๆ ตัวอย่างเช่น OpenStack Ocata 15.0.0 อัปเดตเป็น OpenStack Ocata 15.0.1 ซึ่งการอัปเดตแนวนอนเป็นการอัปเดตที่ไม่มาก และเมื่อถึงจุดหนึ่ง นักพัฒนาก็จะไม่อัปเดต แต่จะไปอัปเดตแนวตั้งแทน
- การอัปเดตแนวตั้ง การอัปเดตข้ามเวอร์ชันของ OpenStack เป็นเวอร์ชันใหม่ ซึ่งในทางหลักการ การอัปเดตแนวตั้งจะเป็นการอัปเดตการเปลี่ยนแปลงจำนวนมาก ตัวอย่างเช่น การอัปเดตจาก OpenStack Ocata เป็น OpenStack Pike
ซึ่งเราได้ศึกษาทั้ง 2 ตัวเลือกและตัดสินใจอัปเดตในแนวนอนจนสุดทาง หรือในทางเทคนิคเรียกว่า End of Life (EOL) คำถามต่อมาก็คือ เราควรอัปเดต Ocata ขึ้นไปเป็นเวอร์ชันต่อไป (OpenStack Pike) หรือไม่? หลังจากการศึกษาก็พบว่า การอัปเดตแนวตั้งนั้นน่าทดลอง แต่มีโอกาสเกิดความยุ่งยากและความเสี่ยง นั่นคือ ระบบอาจจะดาวน์มากพอสมควร หลังจากนั้นเราจึงได้ประเมินความเสี่ยง และสุดท้ายก็ตัดสินใจว่าจะยังอยู่ในเส้นทางเดิมต่อ นั่นคือ OpenStack Ocata
การเดินเส้นทาง Ocata ต่อ มีสาเหตุหลักมาจากการมองว่าต่อให้อัปเดตขึ้นไปเวอร์ชันใหม่ ก็จะยังคงมีปัญหาที่ยังแก้ไขไม่ได้ นั่นคือ ปัญหา network ไม่เพียงพอที่ได้กล่าวไปแล้วตอนต้น หรือ Open vSwitch เราจึงทำให้ตัดสินใจแก้ปัญหา network ก่อน เราจึงศึกษาและตัดสินใจเริ่มลงมือแก้ไข นั่นเป็นที่มาของการพัฒนา Tungsten Fabric ประกอบกับ ณ ขณะนั้นมีแผนในการตั้งวง (cluster) ใหม่อยู่แล้ว เราจึงมองว่า ควรพัฒนา Tungsten Fabric ให้เรียบร้อยก่อน จากนั้นจึงค่อยอัปเกรด OpenStack เพื่อแก้ปัญหาทั้งหมดให้เรียบร้อย
ซึ่งในความเป็นจริงแล้ว Ocata ก็ยังใช้งานได้ดีอยู่ เพียงแต่มีข้อเสียคือ หากรับโหลดมากกว่า 1,000-1,500 VM จะมีปัญหา แม้ว่าจะอัปเดต Ocata จนถึง EOL แล้ว ก็ยังมีปัญหาเรื่องนี้อยู่ ส่งผลให้การทำ auto backup ใช้เวลานาน เพราะเมื่อ VM มีปริมาณมากขึ้นก็จะยิ่ง backup ลำบากและใช้เวลามากขึ้น ซึ่งวิธีที่แก้ไขปัญหานี้ก็อยู่ในเวอร์ชันใหม่ เราจึงตัดสินใจใช้ Tungsten Fabric แทน Open vSwitch ที่เป็น network แบบใหม่เข้ามาช่วยแทน ซึ่งเป็น protocol ใหม่ที่เรียกว่า BGP
ข้อดีของการใช้ OpenStack สำหรับ Public Cloud
- ไม่มีค่าลิขสิทธิ์ในการพัฒนา
- ไม่ต้องเริ่มต้นจากศูนย์ (start from scratch) เนื่องจากมี source code จากคอมมิวนิตี้ให้นำมาต่อยอดได้ทันที
- สามารถ scale ได้เรื่อย ๆ เนื่องจากหากเข้าใจ open source ได้อย่างลึกซึ้งแล้ว ในระยะยาว ต้นทุนในการ scale ก็จะลดลงเรื่อย ๆ
- แม้จะเจอ bug ที่เป็น feature advance ก็สามารถเปิด source code ดูได้ หรือสามารถขอความช่วยเหลือจากคอมมิวนิตี้ได้
ข้อเสียของการใช้ OpenStack สำหรับ Public Cloud
- ไม่สามารถทำ performance scaling ได้
- เหมาะกับ private cloud มากกว่า public cloud
- ต้องเขียนหน้า portal เพราะ Horizon ไม่ได้รองรับการใช้งานปริมาณมาก เนื่องจากใช้สำหรับแอดมินซึ่งหากทำ private cloud ก็จะรองรับได้หลักสิบคน และโค้ดที่เขียนมาเป็นโค้ดที่ไม่ซับซ้อนนัก ไม่ได้รองรับผู้ใช้งานหลักร้อยหรือพันคน
- ไม่มีฟังก์ชันการคิดค่าบริการแบบ pay-as-you-go pricing ซึ่งเป็นส่วนหลักในการเป็น public cloud
- การจ้างคน การหาผู้ที่มีแพสชันในด้านนี้โดยเฉพาะนั้นค่อนข้างลำบาก
ความคุ้มค่าของการใช้ OpenStack พัฒนา Public Cloud
OpenStack ให้ความคุ้มค่าในแง่การสร้างรายได้ของคลาวด์ การเพิ่มมูลค่าให้ระบบอย่างที่ต้องการได้ มีคนเข้ามาใช้งานอย่างต่อเนื่อง และสิ่งสำคัญที่สุดคือ องค์ความรู้ ในอดีต ทุกอย่างถูกจำกัดอยู่แต่ในกล่อง ทดสอบอยู่แค่ในคอมพิวเตอร์ (PC) เป็นหลัก แต่เมื่อขึ้น production จริง เราก็คาดไม่ถึงว่าเราจะมีองค์ความที่รู้ลึกขนาดนี้ จากหนึ่งเครื่องกลายเป็นสิบเครื่อง หรือหลายร้อยเครื่อง นี่คือความรู้ที่เราได้มาอย่างคาดไม่ถึง ทีมงานพัฒนาศักยภาพและความสามารถขึ้นมากจากการสร้างระบบขึ้นมาทดสอบ นอกจากนี้ เราก็ไม่กลัว Kernel-based Virtual Machine (KVM) hypervisor เหมือนในอดีตอีกต่อไป เมื่อเรา launch cloud computing สิ่งที่สำคัญที่สุดที่จะทำให้เกิด virtualization ได้ คือ hypervisor และ KVM เป็นของ open source ทำให้เรากลัวว่าจะใช้งานได้ดีจริงหรือไม่ แต่เมื่อได้ทดลองใช้งานจริงก็พบว่าสามารถใช้งานได้ดี และทำให้ความกลัวเราลดลง เป็นผลมาจากความรู้ที่เพิ่มมากขึ้นนั่นเอง
นอกจากนี้ ความคุ้มค่าจากการเรียนรู้ที่จะทำ คือ ได้พัฒนาความสามารถของตัวเอง และได้แบ่งปันให้คนอื่น ๆ ทั้งความรู้ที่เราแชร์ในคอมมิวนิตี้ และที่สำคัญที่สุด คือ ได้ทำตามเจตนารมณ์ที่เคยสนทนากับ ผศ.ดร.ชาญวิทย์ ว่าจะช่วยเมืองไทยให้มี public cloud ที่สามารถใช้งานได้โดยที่มี performance เทียบเท่ากับคลาวด์ของต่างชาติ เพื่อเป็นพื้นฐานให้คนไทยสามารถพัฒนาเทคโนโลยีและต่อยอดได้โดยมีต้นทุนที่ไม่สูงมาก เป็นความคุ้มค่าและความสุขทางจิตใจ แต่ถ้ามองในแง่ของตัวเงินแล้ว การลงทุนไปตลอดระยะ 12 ปีที่ผ่านมาก็อาจจะไม่ใช่ผลตอบแทนที่สูงมากนัก ซึ่งก็คาดหวังว่าในอนาคตผลตอบแทนในส่วนนี้จะเพิ่มขึ้นเรื่อย ๆ จากการมีพาร์ตเนอร์เพิ่มมากขึ้น
เป้าหมายต่อไปข้างหน้า
สิ่งที่เราจะทำต่อก็คือการทำ R&D ด้าน performance ว่าทำยังไงให้สามารถใช้งานได้ดี เนื่องจากคลัสเตอร์นี้ เราใช้ฮาร์ดแวร์ Intel เป็นหลักในวงของ Ocata และเริ่มศึกษาฮาร์ดแวร์ของ AMD ว่าทำไมมีผู้ให้บริการคลาวด์รายอื่นใช้งานกันเป็นจำนวนมาก สุดท้ายได้คำตอบว่าจุดเด่นของ AMD มี 2 ประการ ได้แก่
- จำนวน core ที่เยอะกว่า Intel
- ราคาถูกกว่าและการประมวลผลเร็วกว่า Intel
ช่วงที่เข้าไปศึกษาก็พบว่า Intel ล้าหลัง AMD เนื่องจากวิธีการทำธุรกิจต่างกัน กล่าวคือ AMD ไม่ผลิตเองแล้ว แต่ใช้วิธีการจ้าง Taiwan Semiconductor Manufacturing Company Limited (TSMC) ซึ่งเป็นผู้ผลิต CPU รายใหญ่ที่สุดในโลกให้ผลิตให้ และสามารถทำงานได้ แตกต่างจาก Intel ที่ยังสร้างโรงงานและผลิตเองอยู่ ทำให้เมื่อมีการปรับเปลี่ยนภายในจะใช้ระยะเวลาค่อนข้างนาน ขณะที่ AMD จ้างองค์กรอื่นผลิต ทำให้สามารถเปลี่ยนอะไรเองก็ได้ อีกทั้ง TSMC ยังเก่งในการปรับเปลี่ยนเพราะว่าผลิตจำนวนมาก จะเปลี่ยนอะไรก็ได้ตามที่ AMD ต้องการ ดังนั้นจึงทำให้ต้นทุนในการผลิตถูกกว่าและมีประสิทธิภาพดีกว่า ยิ่งไปกว่านั้น ขนาดของ core CPU ก็เล็กลงไปเรื่อย ๆ จาก 7 nm เหลือ 6 nm และเหลือ 5 nm ทำให้ในพื้นที่เดียวกันสามารถแพ็กจำนวน core ได้มากขึ้น หมายความว่า ในขนาดพื้นที่ที่เท่ากัน เราสามารถคำนวณได้มากกว่ารายอื่น ทำให้มีประสิทธิภาพที่ดีกว่าด้วยราคาที่เท่ากัน เราจึงตัดสินใจว่าถ้าดีกว่าและถูกกว่าก็จะเลือกใช้ AMD
ในขณะเดียวกัน ปัญหาที่น่าเป็นห่วงคือปัญหาทางเทคนิค เราจึงตัดสินใจว่าจะเริ่มทีละน้อยก่อน และถ้าต้องสร้างวงใหม่ขึ้นมาจะต้องโฟกัสก่อน เพราะปัญหาของการทำคลาวด์คือการทำ live migration หากย้ายข้ามฝั่งจาก Intel ไปยัง AMD จะยากกว่าการย้าย Intel ไปยัง Intel เนื่องจากการย้ายภายในแบรนด์เดียวกันทำได้ง่ายกว่า
ในขณะนั้นเรามองว่า AMD กำลังมาแรง และตัดสินใจว่าจะนำ AMD มาใช้ในวง NC แต่เมื่อถึงเวลาก็คิดว่าถ้าจะไปวงใหม่อยู่แล้ว ก็ทดลองเอาตัวใหม่ขึ้นเลยดีกว่า ก็เหมือนว่าวงนี้เป็นการทดลองเอาเครื่อง AMD มาขึ้นเพื่อดูว่าการประมวลผลแรงและประสิทธิภาพสูงจริงหรือไม่
สถาบันการศึกษาและองค์กรไม่แสวงหาผลกำไร
NIPA Cloud ได้ launch วงใหม่ชื่อว่า NIPA Cloud Space เป็นการนำ OpenStack Victoria และ Tungsten Fabric มาใช้ในวงนี้ และมีการเขียนหน้า portal ใหม่ทั้งหมด เพราะฉะนั้น เราจึงพยายาม migrate ลูกค้าจากวงเก่ามาสู่วงใหม่ (Victoria) ขณะเดียวกัน วงเก่าที่เป็น Ocata ก็ยังใช้งานได้ดีอยู่ เราจึงนำไปใช้ทางการศึกษาโดยไม่คิดค่าใช้จ่าย หรือ non-profit organization ทั้งหลายที่ต้องการ migrate ขึ้นคลาวด์ก็สามารถเข้ามาใช้วงเก่านี้ได้โดยที่เราไม่คิดค่าใช้จ่าย สิ่งนี้คือนโยบายที่ NIPA Cloud พยายามให้บริการ OpenStack Ocata ต่อไป และพยายามให้ซอฟต์แวร์เวอร์ชันนี้วิ่งต่อไปข้างหน้าให้ได้ เพื่อประโยชน์ของภาคเอกชน และเพื่อเป็นการช่วยเหลือและตอบแทนสังคม ซึ่งเป็นประโยชน์จากการใช้งานซอฟต์แวร์ open source ที่ช่วยให้เราพัฒนาผลิตภัณฑ์และบริการโดยไม่ต้องเสียค่าลิขสิทธิ์ (license)
การตื่นตัวของคอมมิวนิตี้ OpenStack ในไทย : ธนาคาร องค์กรรัฐ และอุตสาหกรรมโทรคมนาคมเริ่มสนใจใช้งาน OpenStack
การตื่นตัวของคอมมิวนิตี้ OpenStack ในประเทศไทยอาจยังไม่ได้ตื่นตัวมากนักเมื่อเทียบกับต่างประเทศ อาทิ จีนและเวียดนาม เพราะภาครัฐของจีนและเวียดนามประกาศชัดเจนว่าไม่ให้ผู้ให้บริการคลาวด์สัญชาติอื่นเข้าไปตั้งไซต์ในประเทศ บางรายให้บริการจากนอกประเทศ แต่ไม่อนุญาตให้องค์กรหรือคนเข้ามาในประเทศ นั่นจึงเป็นเหตุผลที่ผู้ให้บริการภายในประเทศ (local provider) ต้องเริ่มค้นคว้าแล้วว่าจะใช้อะไร ซึ่ง OpenStack เป็นตัวเลือกเดียวที่ชัดเจน จึงส่งผลให้จีนและเวียดนามมีการตื่นตัวเรื่องนี้เป็นอย่างมาก
อย่างไรก็ตาม ในประเทศไทยยังต้องมีการกระตุ้นให้คนเห็นความสำคัญพอสมควร การกระตุ้นนี้ไม่ได้เกิดจากนโยบายภาครัฐอย่างจีนและเวียดนาม แต่เกิดจากการแข่งขันทางธุรกิจหรือภาคเอกชนเพียงเท่านั้น ความหมายก็คือ หาก NIPA Cloud ทำแล้วสามารถกินส่วนแบ่งการตลาด (market share) ได้มาก ก็อาจมีผู้สนใจและเกิดการพูดถึงในวงกว้างได้ ตอนนี้แม้จะมีคอมมิวนิตี้อยู่แล้ว แต่ก็ยังมีคนสนใจน้อย ตลอดจนสถาบันการศึกษาก็ยังไม่ได้ให้ความสำคัญอย่างจริงจัง นิสิตนักศึกษาจึงยังไม่รู้ว่ามีเส้นทางความก้าวหน้าในสายอาชีพ (career path) ที่ดีสำหรับ open source ด้วย
ในส่วนของภาครัฐ แท้จริงแล้วภาครัฐก็เคยริเริ่มว่าอยากจะมาใช้ OpenStack แต่เพราะปัจจัยทางการเมือง จึงทำให้ยังไม่เกิดขึ้น แม้จะมีการประมูลกันว่าจะใช้ open source แต่ตอนหลังก็หันไปเลือกซอฟต์แวร์ที่เป็นแบบ license
ภาคธนาคารเองก็รู้ว่ามีความจำเป็น แต่ยังไม่เห็นความสำคัญ และยังเลือกตัวเลือกอื่นที่เป็นแบรนด์ระดับโลกอยู่ แสดงให้เห็นว่าแม้แต่ธนาคารเองก็ยังไม่ได้ตื่นตัวที่จะหันมาใช้ซอฟต์แวร์ open source เนื่องจากยังคงมองว่าเป็นการลงทุนที่สูงอยู่ และก็ต้องใช้คนที่เข้าใจใน open source มากขึ้น
ในภาคเทคโนโลยีสื่อสารหรือโทรคมนาคม จริง ๆ แล้ว OpenStack เริ่มต้นที่อุตสาหกรรมนี้ เพราะเป็นที่มาที่ไปของต่างประเทศ ไม่ว่าจะเป็นจีนที่มี China Telecom เวียดนามเองก็มี Viettel Telecom เนื่องจากภาคเทคโนโลยีสื่อสารจำเป็นต้องใช้ และ OpenStack สามารถตอบโจทย์ได้ จึงเข้าไปลงทุนและจัดการด้วยตัวเอง นี่คือที่มาว่าทำไมภาคเทคโนโลยีสื่อสารจึงควรเข้ามาดู OpenStack เป็นรายแรก ๆ แต่ในประเทศไทยยังไม่เป็นเช่นนั้น ยังเป็นการเลือกใช้บริการคลาวด์ตาม vendor อยู่
ผู้บรรยาย
ดร.อภิศักดิ์ จุลยา, Chief Executive Officer
ชาญศิลป์ ชิ้นประเสริฐ, Chief Innovation Officer
คมกฤช เวียงวิเศษ, Principle OpenStack Engineer
วันและเวลา
14 มิถุนายน 2566
เวลา 09:00 น. (ตามเวลาท้องถิ่น PDT)
สถานที่
Vancouver Convention Centre
รับชมวิดีโอ Use Case: A Close Look at OpenStack Ocata as Public Cloud
We—as a team of Thai people—are assured that Thai cloud is the absolute answer for driving your business in the digital era.