LIBERTY : The twelfth release of OpenStack 12

OpenStack Liberty เป็นเวอร์ชั่นที่ 12 ของ Open Source Software ทำมาเพื่อต่อยอด Public, Private, และ Hybrid Cloud เสริมด้วยฟังก์ชั่นใหม่ๆ พร้อมด้วยส่วนเสริมการทำงาน ที่ครอบคลุมเทคโนโลยี Data Center ทำให้ OpenStack มาเป็น Integration Engine ที่ได้รับการตอบรับที่ดีเยี่ยมสำหรับผู้ให้บริการ Cloud และกลุ่มองค์กรที่กำลังใช้งาน Cloud ซึ่ง Feature ใหม่ของ Liberty มีดังนี้

 

ระบบการจัดการประสิทธิภาพสูง – OpenStack 12 ถูกพัฒนาให้มีระบบตั้งค่าการจัดการที่ดีขึ้น และระบบ Library ร่วม (Common library adoption) และยังมีการเพิ่ม Role-Based Access Control (RBAC) เพื่อใช้งานร่วมกับ Heat orchestration และ Neutron networking และเปิดให้ปรับ Security Setting อย่างเต็มรูปแบบ

 

ระบบปรับแต่งเรียบง่าย – OpenStack เป็นที่นิยมในการใช้สร้างระบบ Cloud ทั้ง Public และ Private อย่างแพร่หลาย ซึ่ง Liberty ก็ได้พัฒนาประสิทธิภาพการแสดงผล และมีความเสถียรมากขึ้น ติดตั้ง Application Nova Cells v2 ในตัว สามารถรองรับการ Deployment ขนาดใหญ่ และการ Deployment พร้อมกันในหลายพื้นที่ (Multi-location compute deployment) เพิ่มศักยภาพการปรับแต่ง (Scalability) และการทำงานของ Horizon dashboard, Neutron networking,

 

และ Cinder block storage

 

รองรับเทคโนโลยีใหม่ๆ – OpenStack เป็น Open Source Platform เพียงหนึ่งเดียวที่รองรับการจัดการ 3 เทคโนโลยีหลักๆ ของระบบ Cloud ทั้ง Virtual Machine, Container และ Bare Metal Instance และเป็นที่นิยมในการใช้

งานร่วมกับระบบ NFV (network functions virtualization) ขององค์กร โดย OpenStack “Liberty” ได้เพิ่มศักยภาพการทำงานทั้งสองด้านด้วยฟีเจอร์ตัวใหม่อย่าง Nova compute scheduler, QoS Framework และระบบ LBaaS (Load

Balancing as a Service) ที่ดีขึ้น

ระบบจัดการ Container ตัวใหม่ – ในระหว่างการพัฒนา Liberty ระบบ Magnum Container ระบบจัดการ

Container ตัวใหม่รองรับการทำงานร่วมกับ Kubernetes, Mesos และ Docker Swarm ก็ได้เปิดตัวขึ้น เมื่อนำ Magnum มาใช้ร่วมกับบริการที่มีอยู่เดิมของ OpenStack อย่าง Nova, Ironic, และ Neutron ซึ่งช่วยจัดการ Container ได้ง่ายกว่าเดิม และโปรเจกต์ Kuryr ถูกวางแผนให้เข้ามาเสริมประสิทธิภาพ โดยทำงานกับส่วนของ Container networking อย่าง

libnetwork ได้โดยตรง

Orchestration – Heat Orchestration เพิ่มระบบจัดการทรัพยากรใหม่ๆ เข้าไปมากมาย รวมทั้งระบบอัตโนมัติ

และการรองรับความสามารถใหม่ๆ ของ Liberty เพิ่มความสามารถการจัดการและการ Scale ซึ่งรวมด้านการเข้าถึง API เพื่อเช็คว่ามี Resource หรือ Action ไหนพร้อมใช้งานได้บ้าง โดยมาพร้อมกับ RBAC ติดตั้งในตัว

ไขข้อข้องใจ Private Cloud หรือ Public Cloud ต่างกันอย่างไร? ควรเลือกแบบไหนดี?

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

 

Private Cloud

Private Cloud ซึ่งเป็นที่รู้จักกันในชื่อ internal หรือ Enterprise Cloud จะอยู่ในระบบ Intranet หรือ Data Center ภายในของบริษัท ซึ่งมีการรักษาความปลอดภัยด้วยระบบ Firewall

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

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

 

Public Cloud

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

อย่างไรก็ดีเนื่องจากบริการ Public Cloud เป็นบริการที่แหล่งทรัพยากรอาจจะมาจากแหล่งเดียวกัน จึงทำให้องค์กรใหญ่ๆ บางแห่งหันไปใช้บริการ Private Cloud ที่มีความปลอดภัยสูงกว่า แต่ในขณะเดียวกัน กลุ่มธุรกิจขนาดเล็กไปจนถึงขนาดกลางจะให้ความสนใจกับ 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 กันสักที

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 และยังไม่กล้าที่จะใช้บริการ
การควบคุมส่วนใหญ่อยู่ที่ผู้ให้บริการ ทำให้ขาดความยืดหยุ่นในการบริหารจัดการ
การใช้งานในระยะยาวอาจจะไม่คุ้มค่า หากขาดการวางแผนที่ดี

4 ค่าใช้จ่ายของ Private Cloud ที่ต้องระวัง!

Private Cloud ที่มาพร้อมภาระค่าใช้จ่ายที่ต้องคิดคำนวณอย่างรอบคอบ

1.ค่าออกแบบ Application ใหม่

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

2.ปรับเปลี่ยนสถาปัตยกรรม

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

3.การเพิ่มระบบทำงานอัตโนมัติ

ถึงจะเรียกว่าระบบอัติโนมัติ แต่มันก็ไม่ได้ทำงานได้เองทันทีโดยปราศจากการตั้งค่าจากทีม IT นอกจากนี้ยังต้องการการตรวจเช็คและ Update เป็นระยะ

4.การเปลี่ยนขั้นตอนการดำเนินธุรกิจ

บางครั้งการใช้งานจริงก็ไม่มีความคุ้มค่ามากพอให้เปลี่ยนมาใช้ระบบ Private Cloud ที่มาพร้อมกับค่าใช้จ่ายและภาระผูกพันในการปรับแต่งระบบ

รูปแบบการทำงานของ Cloud Hosting

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

ถ้าพูดถึง Cloud Hosting แล้วหลาย ๆ คนอาจจะนึกถึงบริการ Host Website ต่าง ๆ ให้ใช้งานได้ตลอดเวลา แต่จริง ๆ แล้วนั่นเป็นเพียงส่วนหนึ่งของ Cloud Hosting เท่านั้น ซึ่งจริง ๆ แล้วมีหลากหลายแบบกว่านั้นมาก

รูปแบบการทำงานของ Cloud Hosting เป็น Virtual Data Center แบบหนึ่งที่เปิดให้บริการผ่านทางออนไลน์ ซึ่ง User นั้นต้องเชื่อมต่ออินเตอร์เน็ตเข้ามาเพื่อใช้งานด้วยกัน ซึ่งขนาดของ Cloud Hosting นั้นอาจใหญ่จนสามารถรองรับระบบทั้งหมดขององค์กรได้เพราะมี IaaS (Infrastructure-as-a-Service) เอาไว้รองรับอยู่แล้ว

ส่วนของ Application สำหรับทำงานจะเป็นส่วนของ PaaS (Platform-as-a-Service) ที่มี Software environment ครบถ้วนเพื่อให้รันการทำงานของ Application ต่าง ๆ ได้โดยไม่มีปัญหา ทำให้ Developer บางกลุ่มเลือกจะใช้ Cloud Hosting เพื่อ Host การทำงาน Application ที่พวกเขาใช้งานเพื่อสร้างและพัฒนา Web Application ใหม่ ๆ ได้ทดสอบการทำงานได้อย่างรวดเร็วอีกด้วย

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