กลับ

2025/03/31

12. การเปรียบเทียบซอฟต์แวร์การจำลองเสมือนเซิร์ฟเวอร์

นับตั้งแต่ซอฟต์แวร์การจำลองเสมือนเซิร์ฟเวอร์ปรากฏตัวครั้งแรกบนระบบ x86 ผ่านมาแล้วประมาณ 25 ปี ในช่วงแรก VMware มีส่วนแบ่งตลาดที่ท่วมท้น แต่ปัจจุบัน Linux KVM ก็ถูกใช้งานอย่างแพร่หลายเช่นกัน บริการที่ใช้ Linux KVM เป็นหลักได้รับความนิยมโดยเฉพาะในหมู่บริการเครื่องเสมือนที่จัดหาโดยผู้จำหน่ายคลาวด์สาธารณะ (เช่น Amazon EC2 และ OCI Compute)

ในคอลัมน์นี้ เราได้กล่าวถึง Oracle Linux KVM ในฐานะซอฟต์แวร์การจำลองเสมือนเซิร์ฟเวอร์มาหลายครั้ง เราจะย้อนดูประวัติของซอฟต์แวร์การจำลองเสมือนเซิร์ฟเวอร์และอธิบายตัวเลือกที่มีอยู่ในปัจจุบัน รวมถึงประเด็นที่ควรพิจารณาเมื่อเลือกใช้งาน

การเกิดขึ้นและวิวัฒนาการของซอฟต์แวร์การจำลองเสมือนเซิร์ฟเวอร์

ซอฟต์แวร์การจำลองเสมือนเซิร์ฟเวอร์ตัวแรกสำหรับระบบ x86 คือ VMware Workstation เปิดตัวในปี 1999 ในปี 2001 VMware ESX Server ซึ่งเป็นเวอร์ชันแรกของ VMware vSphere ESXi ในปัจจุบัน ได้รับการเปิดตัว

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

ตั้งแต่นั้นมา การจำลองเสมือนเซิร์ฟเวอร์กลายเป็นเรื่องปกติ เนื่องจากการปรับปรุงประสิทธิภาพของฮาร์ดแวร์อย่างมากและวิวัฒนาการของซอฟต์แวร์การจำลองเสมือนเซิร์ฟเวอร์ ที่นี่เราจะกล่าวถึงการปรับปรุงประสิทธิภาพของฮาร์ดแวร์อย่างคร่าว ๆ และย้อนดูประวัติของซอฟต์แวร์การจำลองเสมือนเซิร์ฟเวอร์

การปรับปรุงประสิทธิภาพของฮาร์ดแวร์

อิทธิพลที่ใหญ่ที่สุดต่อการแพร่กระจายของการจำลองเสมือนเซิร์ฟเวอร์คือการปรับปรุงประสิทธิภาพของฮาร์ดแวร์ ปัจจุบัน แม้แต่เซิร์ฟเวอร์ระดับต่ำก็ติดตั้ง CPU ที่มีประมาณสี่คอร์ และไม่ใช่เรื่องแปลกที่จะเห็น CPU ที่มีมากกว่า 50 คอร์ การจำลองเสมือนเซิร์ฟเวอร์กลายเป็นเทคโนโลยีที่ขาดไม่ได้สำหรับการใช้เซิร์ฟเวอร์เหล่านี้อย่างมีประสิทธิภาพ

นอกจากนี้ ประสิทธิภาพของฮาร์ดแวร์ได้ปรับปรุงอย่างมากเมื่อเทียบระหว่าง 20 ปีที่แล้วกับปัจจุบัน

  • CPU แบบมัลติคอร์และหลายคอร์
  • จำนวนเธรด CPU ที่เพิ่มขึ้นด้วย Hyper-Threading และ Simultaneous Multi Threading (SMT)
  • เทคโนโลยีสนับสนุนการจำลองเสมือนของ CPU เช่น Intel VT และ AMD-V (AMD SVM)
  • การแพร่กระจายของหน่วยความจำความจุสูงในช่วงหลายร้อยกิกะไบต์ถึงเทราไบต์
  • การเร่งการเข้าถึงดิสก์ด้วย SSD/NVMe

วิวัฒนาการของซอฟต์แวร์การจำลองเสมือนเซิร์ฟเวอร์

มีซอฟต์แวร์การจำลองเสมือนเซิร์ฟเวอร์มากมายที่ใช้งานได้จนถึงปัจจุบัน ที่นี่เราจะแนะนำซอฟต์แวร์หลักที่ได้รับการเปิดตัวมาจนถึงตอนนี้

ตั้งแต่การปรากฏตัวของ VMware
VMware ESX (ปัจจุบันคือ VMware ESXi) ทำให้การจำลองเสมือนที่มีประสิทธิภาพโดยใช้ Hypervisor เป็นไปได้ นอกจากนี้ ยังมีฟังก์ชันมากมาย เช่น การย้ายแบบสดโดยใช้ vMotion และการปรากฏตัวของเครื่องมือจัดการที่มีประสิทธิภาพ vCenter Server

หากคุณดูที่เว็บไซต์ของ VMware คุณจะเห็นว่ามีหลายฉบับของ VMware vSphere เพียงอย่างเดียวที่มีฟังก์ชันหลากหลาย นอกจากนี้ ยังมีผลิตภัณฑ์ที่เกี่ยวข้องมากมาย เช่น vSAN และ NSX ที่ได้รับการเปิดตัว

Xen
Xen เป็น Hypervisor ตัวแรกที่ปรากฏใน Linux เวอร์ชันแรกเปิดตัวในปี 2003 และตั้งแต่นั้นมา Citrix Systems, Oracle และบริษัทอื่น ๆ ได้เปิดตัว Hypervisor ที่ใช้ Xen

ผลิตภัณฑ์ที่ Oracle เปิดตัวในขณะนั้นคือ Oracle VM Server for x86 ซึ่ง Oracle VM Server ช่วยให้สามารถทำ Hard Partitioning ได้ ซึ่งก่อนหน้านี้ไม่ได้รับอนุญาตในสภาพแวดล้อมการจำลองเสมือน เช่น VMware

Oracle VM Server ยังคงใช้งานอยู่ แต่การสนับสนุนแบบ Premier Support ได้สิ้นสุดลงแล้ว และได้มีการประกาศว่าการสนับสนุนแบบ Extended Support จะสิ้นสุดในเดือนมิถุนายน 2024 ผลิตภัณฑ์ที่สืบทอดต่อมาคือ Oracle Linux KVM ซึ่งจะอธิบายในภายหลัง

Linux KVM
KVM (Kernel-based Virtual Machine) ถูกรวมเข้ากับเคอร์เนลหลักของ Linux ในปี 2007 ในช่วงแรกมันด้อยกว่าเนื่องจาก Xen เหนือกว่า (Amazon EC2 ก็เริ่มต้นจาก Xen เช่นกัน) อย่างไรก็ตาม ตั้งแต่ถูกรวมเข้ากับเคอร์เนลหลัก มันค่อย ๆ ได้เปรียบ และปัจจุบัน KVM เป็น Hypervisor หลักของ Linux

นอกจากนี้ คลาวด์สาธารณะหลายแห่ง เช่น Amazon Web Services, Oracle Cloud Infrastructure, และ Google Cloud ใช้ระบบที่อิงจาก Linux KVM

KVM รวมอยู่ในเคอร์เนล Linux และดังนั้นจึงมีอยู่ใน Linux Distribution ส่วนใหญ่ที่เปิดตัวในปัจจุบัน

Oracle Linux เป็นหนึ่งในนั้น และไม่มีผลิตภัณฑ์ที่เรียกว่า Oracle Linux KVM คุณสามารถใช้ KVM กับ Oracle Linux ปกติได้ นอกจากนี้ โดยการรวมเข้ากับ Oracle Linux Virtualization Manager ที่เปิดตัวในปี 2019 คุณไม่เพียงแต่สามารถจัดการแบบรวมศูนย์ได้ แต่ยังสามารถทำ Hard Partitioning คล้ายกับ Oracle VM Server ได้อีกด้วย

ตัวอย่างของผลิตภัณฑ์ที่เชี่ยวชาญด้านการจำลองเสมือนคือ Red Hat Virtualization (เดิมชื่อ Red Hat Enterprise Virtualization) ซึ่งเปิดตัวโดย Red Hat ในปี 2009
ผลิตภัณฑ์นี้ได้รับการปรับให้เหมาะสมสำหรับสภาพแวดล้อมเสมือนและรวมเข้ากับเครื่องมือจัดการ แต่ได้มีการประกาศว่าระยะเวลาการสนับสนุนการบำรุงรักษาจะสิ้นสุดในปี 2022 และการสนับสนุนระยะชีวิตขยายสูงสุดจะสิ้นสุดในเดือนสิงหาคม 2026

ปัจจุบัน Red Hat Virtualization ถูกรวมเข้ากับแพลตฟอร์มคอนเทนเนอร์ Red Hat OpenShift และมีอยู่เป็นฟีเจอร์ที่เรียกว่า Red Hat OpenShift Virtualization

Microsoft Hyper-V
Hyper-V ถูกแนะนำในปี 2008 เป็นหนึ่งในฟีเจอร์ของ Windows Server ในช่วงแรกมันประสบปัญหาด้านประสิทธิภาพไม่เพียงพอและมีระบบปฏิบัติการ Guest ที่รองรับน้อย แต่ปัจจุบันมันถูกนำมาใช้เป็นพื้นฐานสำหรับ Azure บางฉบับของ Windows 8 และรุ่นหลัง ๆ ยังมี Client Hyper-V แต่บทความนี้เน้นที่ Windows Server Hyper-V

ตัวเลือกอื่น ๆ

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

ผลิตภัณฑ์นี้จัดอยู่ในประเภท Nutanix
โครงสร้างพื้นฐานแบบ Hyperconverged Infrastructure (HCI) เป็นผลิตภัณฑ์ที่รวมฟังก์ชันที่จำเป็นสำหรับการจำลองเสมือนเซิร์ฟเวอร์เข้าไว้ด้วยกัน และรวมถึงส่วนประกอบทั้งหมดของเซิร์ฟเวอร์, ที่เก็บข้อมูล, เครือข่าย, และซอฟต์แวร์ มันถูกตั้งค่าล่วงหน้า ดังนั้นจึงสามารถสร้างได้ในเวลาสั้น ๆ และทั้งหมดจัดหาโดยผู้จำหน่ายรายเดียว จึงลดความซับซ้อนและต้นทุนการดำเนินงาน

ในฐานะ Hypervisor, Nutanix AVH ที่ใช้ Linux KVM สามารถใช้งานได้ตามค่าเริ่มต้น และ Hypervisor ภายนอก เช่น ESXi ก็สามารถใช้งานได้เช่นกัน

ข้อเสียคือยากที่จะสร้างด้วยจำนวนคอร์ CPU ที่ต้องการ เนื่องจากการกำหนดค่าเซิร์ฟเวอร์มีจำกัด และมีข้อจำกัดด้านประสิทธิภาพ I/O เนื่องจากเป็นที่เก็บข้อมูลแบบซอฟต์แวร์ อย่างไรก็ตาม Nutanix สามารถใช้ที่เก็บข้อมูลภายนอกได้

OpenStack
OpenStack เป็นซอฟต์แวร์สำหรับสร้างสภาพแวดล้อมการประมวลผลแบบคลาวด์ ส่วนใหญ่ใช้ในสภาพแวดล้อมคลาวด์ส่วนตัวและรวมถึงเครื่องเสมือน, ที่เก็บข้อมูล, เครือข่าย, เครื่องมือจัดการ ฯลฯ รองรับ Hypervisor เช่น KVM, ESXi, และ Hyper-V

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

OpenStack ยังถูกปล่อยออกมาในรูปแบบ Distribution เช่น Red Hat OpenStack Platform

ตาราง 01: ตารางความเข้ากันได้ของส่วนประกอบ OpenStack และคลาวด์สาธารณะ

OpenStack AWS OCI
การประมวลผล Nova EC2 Compute
เครือข่าย Neutron VPC VCN
ที่เก็บข้อมูลแบบบล็อก Cinder EBS Block Volume
ที่เก็บข้อมูลแบบออบเจกต์ Swift S3 Object Storage
เครื่องมือจัดการการดำเนินงาน Horizon Management Console OCI Console

คอนเทนเนอร์
เริ่มต้นด้วย Docker ที่ปรากฏในปี 2013 Kubernetes กลายเป็นมาตรฐานในฐานะตัวจัดการโครงสร้างพื้นฐานคอนเทนเนอร์ประมาณปี 2018 การจำลองเสมือนเซิร์ฟเวอร์โดยใช้คอนเทนเนอร์มีพลังการรวมสูงกว่า, เร็วกว่า, และเบากว่า Hypervisor นอกจากนี้ยังเข้ากันได้กับ DevOps จึงได้รับการต้อนรับจากวิศวกรแอปพลิเคชันขั้นสูง

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

  1. รอบการเปิดตัวของ Kubernetes รวดเร็ว (หนึ่งเวอร์ชันได้รับการสนับสนุนเป็นเวลาเก้าเดือน) และ Kubernetes เองและระบบนิเวศมีการพัฒนาอย่างรวดเร็วจนยากที่จะตามทัน
  2. การแก้ไขปัญหายากกว่าเครื่องเสมือน
  3. แอปพลิเคชันที่มีอยู่ต้องได้รับการปรับปรุงเนื่องจากกลไกแตกต่างจากเครื่องเสมือน

ปัญหาข้อ 1 สามารถบรรเทาได้โดยใช้บริการที่มีการจัดการในคลาวด์สาธารณะ แต่ไม่สามารถใช้ได้ในสถานที่

การเปรียบเทียบซอฟต์แวร์การจำลองเสมือนเซิร์ฟเวอร์

จนถึงตอนนี้ เราได้แนะนำวิธีการจำลองเสมือนเซิร์ฟเวอร์หลายวิธี ครั้งนี้เราจะเปรียบเทียบผลิตภัณฑ์สามรายการต่อไปนี้ในฐานะ Hypervisor ในสถานที่

  • VMware vSphere
  • Microsoft Hyper-V
  • Oracle Linux KVM

ในความเป็นจริง เมื่อ 10 ปีที่แล้ว VMware มีความเหนือกว่าอย่างท่วมท้น อย่างไรก็ตาม ตั้งแต่นั้นมา การแพร่กระจายของคลาวด์สาธารณะและการใช้ Linux KVM โดยผู้จำหน่ายคลาวด์สาธารณะหลายรายได้ปรับปรุงอย่างมาก และตอนนี้ไม่มีข้อแตกต่างในฟังก์ชันพื้นฐาน เช่น ฟังก์ชัน, ประสิทธิภาพ, และความเสถียร (Azure ใช้ Hyper-V) ผลสำรวจบางรายการยังแสดงว่า KVM เหนือกว่าในแง่ของความสามารถในการขยาย

ตัวอย่างเช่น AWS Nitro System ซึ่งเป็นพื้นฐานของ Amazon EC2 ประกอบด้วยฮาร์ดแวร์ที่ใช้ SoC (System on a Chip) โดยเฉพาะและ Hypervisor ที่ใช้ KVM

ในการเปรียบเทียบซอฟต์แวร์นี้ เราจะย้อนดูและเปรียบเทียบภาพรวม รวมถึงด้านต้นทุนและการดำเนินงานที่ปรากฏความแตกต่าง

การเปรียบเทียบภาพรวม

ตารางต่อไปนี้แสดงภาพรวมพื้นฐานและคุณสมบัติหลักของแต่ละ Hypervisor มีตารางเปรียบเทียบที่ละเอียดกว่านี้อยู่ แต่ไม่มีความแตกต่างมากนัก ดังนั้นเราจะทิ้งไว้ที่ระดับนี้ โปรดดูตารางนี้เพื่อรับภาพรวมของแต่ละตัว

ตาราง 02: การเปรียบเทียบ Hypervisor (พื้นฐาน)

*1: ระบุเพียงว่า Hypervisor มีฟังก์ชันนี้ แต่บางครั้งอาจไม่ทำงานขึ้นอยู่กับการตั้งค่า Host และ Guest

การเปรียบเทียบต้นทุน

ความแตกต่างที่ใหญ่ที่สุดคือต้นทุนของใบอนุญาตและการสนับสนุน VMware และ Hyper-V มีการกำหนดราคาที่ซับซ้อนและบางส่วนไม่เปิดเผยต่อสาธารณะ ดังนั้นฉันจะไม่ให้ราคาเฉพาะเจาะจง แต่ถ้าคุณเคยขอใบเสนอราคาสำหรับแต่ละตัว คุณจะรู้ว่า Oracle Linux KVM ถูกกว่าอย่างท่วมท้น นอกจากนี้ หากคุณใช้ผลิตภัณฑ์ Oracle มันได้รับการรับรองว่าเป็น Hard Partitioning ดังนั้นคุณสามารถลดต้นทุนใบอนุญาต Oracle ได้อย่างมาก

ตาราง 03: การเปรียบเทียบ Hypervisor (ต้นทุน)

การเปรียบเทียบด้านการดำเนินงาน

ในทางกลับกันกับด้านต้นทุน Oracle Linux KVM ด้อยกว่าในแง่ของการดำเนินงาน แม้ว่าเซิร์ฟเวอร์ของผู้จำหน่ายที่คุณชื่นชอบจะไม่ได้รับการสนับสนุนอย่างเป็นทางการ คุณสามารถแก้ปัญหาการสนับสนุนได้โดยใช้ Oracle x86 Server ของ Oracle ปัญหาคือการขาดเครื่องมือของบุคคลที่สาม เช่น การสำรองข้อมูล และวิศวกรที่มีความรู้

ตาราง 04: การเปรียบเทียบ Hypervisor (การดำเนินงาน)

สรุป

ตอนนี้เมื่อความแตกต่างในฟังก์ชันพื้นฐาน, ประสิทธิภาพ, และความเสถียรลดลง ประเด็นสำคัญที่ต้องเปรียบเทียบคือ “ต้นทุน” และ “การดำเนินงาน” หากคุณมีงบประมาณมากและต้องการดำเนินงานอย่างปลอดภัย VMware เป็นตัวเลือกที่แข็งแกร่ง นอกจากนี้ หากคุณใช้ Windows Server จำนวนมาก Hyper-V ควรมีความเข้ากันได้สูง

Oracle Linux KVM น่าสนใจสำหรับผู้ที่กังวลเรื่องต้นทุน มันไม่มีค่าใบอนุญาตและการสนับสนุนมีราคาถูก โดยเฉพาะเมื่อใช้ผลิตภัณฑ์ Oracle ความแตกต่างของราคากับบริษัทอื่น ๆ จะชัดเจนขึ้นเพราะคุณสามารถใช้ Hard Partitioning ความกังวลที่เหลืออยู่คือด้านการดำเนินงาน ไม่ว่าจะแก้ไขโดยการฝึกอบรมวิศวกรภายในหรือโดยพันธมิตรที่ดีอาจขึ้นอยู่กับนโยบายและการเผชิญหน้าของแต่ละบริษัท

เพื่อเป็นข้อมูลอ้างอิง Oracle ได้เผยแพร่เอกสารเปรียบเทียบระหว่าง KVM และ VMware vSphere ซึ่งฉันอยากจะแนะนำ