Table of Contents
- บทนำ (Introduction)
- OpenStack คืออะไร?
- แล้ว OpenStack เหมาะกับใคร?
- ปี 2025 ยังควรเรียนรู้ OpenStack อยู่หรือไม่?
บทนำ (Introduction)
น่าจะเกิน 5–6 ปีแล้วที่ผมไม่ได้ยุ่งอะไรกับ OpenStack เลย พอดีว่ามี partner ติดต่อผมมาว่ารับ implement OpenStack มั้ย? ลูกค้าเค้าต้องการเปลี่ยนจาก VMware มาเป็น open source (ตอนนี้ใครๆ ก็หนี VMware โดยเฉพาะหลัง Broadcom เข้ามาซื้อ 😂)
ที่จริง OpenStack ไม่ได้เป็นแค่ hypervisor ครับ มันเป็นมากกว่านั้น ซึ่งถ้าใครจะเอามันมาแทน hypervisor อย่าง VMware vSphere/ESXi หรือ Nutanix AHV ก็อาจจะเกินความต้องการไปมาก ผมคิดว่า open source ที่จะมาแทน VMware vSphere/ESXi ได้ตรงโจทย์ที่สุดคือ Proxmox ครับ แถมมี enterprise support ราคาเบาๆ ให้ซื้อเพื่อความสบายใจด้วย
แต่ในบทความนี้สิ่งที่ผมจะพูดถึงคือแนะนำให้รู้จักกับ OpenStack แบบสั้นๆ และคุยกันว่า ณ วันนี้ OpenStack ยังน่าสนใจหรือคุ้มค่าที่จะลงทุนลงแรงศึกษาอยู่หรือไม่? และถ้าไม่…มีเทคโนโลยีฝั่ง infrastructure ตัวไหนที่น่าสนใจบ้าง
OpenStack คืออะไร?
OpenStack คือ software ที่ถูกออกแบบมาให้เราสร้าง cloud ได้แบบครบวงจร เป็น anything as a service (XaaS) แบบ public cloud เลย ต่างกันที่เราเอามาติดตั้งใช้งานได้ในองค์กรได้ (เป็น private cloud) ซึ่งทำให้ user ในองค์กรสามารถ self-service ตัวเองได้ เช่น สร้าง virtual server, virtual network, block/object storage, database, load balancer หรืออื่นๆ ผ่าน UI, CLI หรือ API เหมือน public cloud อย่าง AWS หรือ Azure เลย
Credit รูปภาพ: Mastering OpenStack (Third Edition) by Omar Khedher
OpenStack มี components มากมายที่ต้องติดตั้งและดูแล เช่น
- Nova สำหรับจัดการ compute resources และ VM lifecycle
- Neutron สำหรับจัดการ networking และ network environment ต่างๆ
- Cinder สำหรับจัดการ block storage รวมถึง VM disks และ snapshots
- Glance สำหรับจัดการ VM images และ lifecycle ของ images
- Swift สำหรับ object storage ที่เข้าถึงผ่าน REST API เก็บข้อมูลประเภท images และ media files
- Keystone สำหรับจัดการ authentication และ authorization
- Horizon เป็น web interface สำหรับจัดการระบบ
- Manila สำหรับจัดการ shared filesystems
- Ceilometer สำหรับเก็บ metrics เพื่อ tracking การใช้งานทรัพยากรและ billing
- Aodh สำหรับสร้าง alarms และ triggers ต่างๆ จาก metrics
นอกจากนั้นยังต้องมี infrastructure services อื่นๆ เพื่อให้ทุกอย่างทำงานได้อีก ทั้งหมดนี้ทำให้การติดตั้งและดูแล OpenStack เป็นเรื่องที่ซับซ้อนมาก ต้องใช้ทีมที่มีความรู้เฉพาะทางจำนวนมากและมีประสบการณ์สูง
แล้ว OpenStack เหมาะกับใคร?
OpenStack จะคุ้มค่าก็ต่อเมื่อองค์กรมีความต้องการพิเศษจริงๆ เช่น
- Telco ที่ต้องรัน network functions virtualization (NFV) จำนวนมาก, ต้องการ performance สูง และต้องการ customize ทุกอย่างได้
- องค์กรที่ให้บริการ public cloud ใกล้เคียงกับ AWS หรือ Azure จริงๆ ไม่ใช่แค่ IaaS (ในเมืองไทยผมเห็น NIPA Cloud ที่ใช้จริงจังอยู่เจ้าเดียวมั้ง นอกนั้นเอา commercial product มาขาย ซึ่ง services ไกลจาก public cloud หรือ OpenStack มาก)
- องค์กรวิจัยขนาดใหญ่ที่ต้องประมวลผลข้อมูลมหาศาล เช่น CERN ที่ใช้ OpenStack จัดการ compute resources กว่า 300,000 cores
- องค์กรขนาดใหญ่ที่มีข้อจำกัดด้าน compliance ที่ต้องเก็บข้อมูลไว้ที่ data center ของตัวเอง และมี workload ขนาดใหญ่มากพอที่จะคุ้มกับการลงทุนสร้าง cloud
แต่สำหรับองค์กรทั่วไปที่ไม่ได้ต้องการทำ private cloud ของตัวเอง และไม่ได้ต้องการความยืดหยุ่นบน on-premise infrastructure ระดับนั้น เช่น แค่ต้องการสร้าง virtual machine ขึ้นมา งานลักษณะนี้ hypervisor จะเหมาะสมกว่าเพราะมันตอบโจทย์ความต้องการโดยตรง แถมการติดตั้งและดูแลก็ง่ายกว่าแบบเทียบไม่ติด
และเมื่อใดก็ตามที่ต้องการความยืดหยุ่น ส่วนใหญ่ก็จะเลือกใช้ public cloud อย่าง AWS หรือ Azure ต่อไป เพราะไม่ต้องลงทุน hardware ก้อนใหญ่ตั้งแต่แรก, จ่ายตามที่ใช้จริง และไม่ต้องกังวลเรื่องการดูแลระบบที่ซับซ้อนครับ (ตอนนี้ public cloud หลายค่ายกำลังจะมี data center ในไทยแล้ว)
ปี 2025 ยังควรเรียนรู้ OpenStack อยู่หรือไม่?
แม้ในภาพกว้าง OpenStack จะยังไม่ตายซะทีเดียว แต่สำหรับผมมันได้ตายไปแล้ว เพราะมันเหมาะกับบางองค์กรจริงๆ ซึ่งมีจำนวนน้อยมากในตลาดงาน (โดยเฉพาะในบ้านเรา)
บริษัทที่เคยเป็นผู้นำด้าน OpenStack ก็ได้ปรับตัว(หนี)กันไปเรียบร้อย เช่น
- Mirantis: เคยเป็นบริษัท OpenStack consultancy ที่ใหญ่ที่สุดรายหนึ่งของโลก แต่ในช่วงปี 2016-2017 เมื่อ container เริ่มมาแรง เค้าก็ปรับเปลี่ยนโมเดลธุรกิจครั้งใหญ่โดยเน้นไปที่ Kubernetes (container platform) เป็นหลัก
- Opsta: บริษัทไทยที่ผมเคยเห็นว่าเน้น OpenStack มาก่อน ก็เริ่มเปลี่ยนมาลงทุนกับ Kubernetes และ DevOps แทน ล่าสุดก็ขยายไปที่ platform service แล้ว
สำหรับคนทั่วไปผมมองว่า OpenStack ไม่คุ้มค่าที่จะลงทุนเวลาเพื่อศึกษา(มาหลายปีแล้วครับ) เอาเวลาไปศึกษาเรื่องพวกนี้จะดีกว่า เช่น
- Containerization เช่น Docker, Podman, Kubernetes (หรือ OpenShift ที่ตลาดแคบกว่า Kubernetes แต่ก็ยังคุ้มค่า)
- Public cloud เช่น AWS, Azure, GCP
- Cloud native technologies เช่น service mesh หรือ serverless services ต่างๆ
- Infrastructure as Code (IaC) เช่น Ansible, Terraform, Pulumi, Crossplane, CDK
- DevOps CI/CD เช่น Jenkins, GitLab CI, GitHub Actions, Tekton, ArgoCD
- Observability & Monitoring เช่น Prometheus, Grafana, ELK/EFK Stack, Datadog, Jaeger