Virtualization: ทำไม 1 เครื่องถึงกลายเป็น 10 เครื่องได้

บทที่แล้วเราบอกว่า Cloud เปิดเซิร์ฟเวอร์ใหม่ได้ในไม่กี่นาที โบรอาจสงสัยว่า... ทำได้ยังไงกัน ไม่ต้องเดินไปเสียบเครื่องใหม่เหรอ
คำตอบคือเทคโนโลยีที่ชื่อว่า Virtualization ซึ่งเป็นรากฐานของคลาวด์ทั้งหมดที่เราใช้กันทุกวันนี้
Virtualization คืออะไร
คือการซอยคอมพิวเตอร์จริง 1 เครื่อง ให้กลายเป็นคอมพิวเตอร์เสมือนหลายเครื่อง โดยแต่ละเครื่องเสมือนคิดว่าตัวเองเป็นคอมแยกกันจริง ๆ ไม่รู้ตัวเลยว่าโดนแบ่ง
นึกภาพหอพักนะโบร - บ้าน 1 หลังกั้นห้องแบ่งเช่าเป็น 5 ห้อง แต่ละห้องมีประตูล็อกของตัวเอง มีห้องน้ำในตัว ผู้เช่าอยู่กันคนละโลก ไม่รู้จักกันด้วยซ้ำ แต่ความจริงใช้โครงสร้างบ้านหลังเดียวกัน
ทำไปทำไม
1. ใช้เครื่องให้คุ้ม: เซิร์ฟเวอร์สมัยนี้แรงมาก ลงงานเดียวมักใช้ไม่ถึง 15% ที่เหลือทิ้งเปล่า เสียดายเงิน 2. แยกกันเด็ดขาด: ตัวนึงพัง ตัวอื่นไม่กระเทือน 3. สร้างและลบง่าย: อยากได้เครื่องใหม่ กดไม่กี่คลิก ไม่ต้องรอของส่ง 4. ย้ายได้: VM คือไฟล์ก้อนนึง ก๊อปย้ายไปเครื่องอื่นได้ บางระบบย้ายได้ทั้งที่ยังเปิดอยู่ด้วยซ้ำ 5. ทดลองได้แบบไม่กลัวพัง: อยากลอง Linux ตัวใหม่ อยากลองของแปลก ๆ สร้าง VM แล้วลบทิ้ง เครื่องจริงไม่เจ็บ
Hypervisor: คนคุมหอพัก
Hypervisor คือซอฟต์แวร์ที่แบ่งทรัพยากรของเครื่องจริงให้เครื่องเสมือน เปรียบเหมือนนิติบุคคลที่จัดสรรน้ำ ไฟ พื้นที่ ให้ผู้เช่าแต่ละห้อง
Type 1 เร็วกว่าเพราะไม่มีชั้น OS คั่นระหว่าง Hypervisor กับฮาร์ดแวร์
Type 1: Bare Metal (ลงบนเครื่องเปล่า)
ติดตั้งลงฮาร์ดแวร์ตรง ๆ ไม่มีระบบปฏิบัติการหลักคั่น เร็วกว่า เสถียรกว่า แบบที่ใช้ในดาต้าเซ็นเตอร์และคลาวด์ทั้งหมด
Type 2: Hosted (ลงบน OS ที่มีอยู่)
ติดตั้งเป็นโปรแกรมบน Windows หรือ macOS ที่ใช้อยู่ ติดตั้งง่าย เหมาะกับการเรียนรู้ แต่ช้ากว่าเพราะต้องผ่าน OS หลักอีกชั้น
เทียบซอฟต์แวร์: เสียเงิน vs โอเพนซอร์ส
💰 ฝั่งเสียเงิน
| ชื่อ | ประเภท | จุดเด่น |
|---|---|---|
| VMware vSphere / ESXi | Type 1 | มาตรฐานองค์กรมานาน เครื่องมือครบ มีซัพพอร์ต |
| Microsoft Hyper-V | Type 1 | ติดมากับ Windows Server เข้ากับสาย Microsoft ได้ดี |
| Nutanix AHV | Type 1 | รวมคอมพิวต์กับสตอเรจเป็นก้อนเดียว ติดตั้งง่าย |
| Parallels Desktop | Type 2 | สำหรับชาว Mac ที่อยากรัน Windows |
ข้อดี: มีคนซัพพอร์ตเวลาเจอปัญหา เครื่องมือจัดการครบครัน องค์กรใหญ่มักต้องการสัญญาซัพพอร์ตเป็นลายลักษณ์อักษร ข้อเสีย: ค่าไลเซนส์แพงเอาเรื่อง และรูปแบบการคิดเงินเปลี่ยนได้ตามนโยบายบริษัท
🆓 ฝั่งโอเพนซอร์ส
| ชื่อ | ประเภท | จุดเด่น |
|---|---|---|
| Proxmox VE | Type 1 | ฮิตที่สุดสำหรับโฮมแล็บและ SME หน้าเว็บจัดการสวย รองรับทั้ง VM และ Container |
| KVM / QEMU | Type 1 | ฝังอยู่ใน Linux Kernel เป็นเครื่องยนต์เบื้องหลังคลาวด์หลายเจ้า |
| XCP-ng | Type 1 | แตกยอดมาจาก Citrix XenServer มีเครื่องมือจัดการชื่อ Xen Orchestra |
| VirtualBox | Type 2 | ฟรี ติดตั้งง่ายทั้ง Windows/Mac/Linux เหมาะกับมือใหม่ที่สุด |
ข้อดี: ไม่มีค่าไลเซนส์ ปรับแต่งได้ทุกอย่าง มีชุมชนช่วยเหลือ ข้อเสีย: พังเมื่อไหร่แก้เอง ต้องมีคนในทีมที่เข้าใจจริง ๆ
สรุปว่าควรเอาอันไหน
- อยากลองเล่นที่บ้าน → VirtualBox (ง่ายสุด) หรือ Proxmox VE ถ้ามีเครื่องเก่าเหลืออยู่
- ธุรกิจเล็ก-กลาง งบจำกัด → Proxmox VE
- องค์กรใหญ่ ต้องมีสัญญาซัพพอร์ต → VMware หรือ Nutanix
- สาย Microsoft ทั้งบ้าน → Hyper-V
VM กับ Container ต่างกันยังไง (ข้อนี้สำคัญมาก)
นี่คือจุดที่มือใหม่งงที่สุด และเป็นคำถามที่เจอบ่อยเวลาไปสัมภาษณ์งานด้วยนะโบร จำไว้เลย
ฝั่งขวาไม่มี Guest OS จึงเบากว่ามาก เปิดได้ในไม่กี่วินาทีแทนที่จะเป็นนาที
Virtual Machine (VM)
- มีระบบปฏิบัติการของตัวเองเต็ม ๆ
- ตัวใหญ่ ระดับหลาย GB
- เปิดเครื่องใช้เวลาเป็นนาที
- แยกกันเด็ดขาดที่สุด ปลอดภัยสูง
- รันคนละ OS กันได้ เช่นเครื่องจริงเป็น Linux แต่ VM เป็น Windows
Container (เช่น Docker)
- ไม่มี OS ของตัวเอง ใช้เคอร์เนลของเครื่องหลักร่วมกัน
- ตัวเล็ก ระดับ MB
- เปิดใช้ได้ในไม่กี่วินาที
- แยกกันน้อยกว่า VM
- ต้องเป็นตระกูล OS เดียวกับเครื่องหลัก
เทียบง่าย ๆ
- VM = บ้านเดี่ยวแยกหลัง มีไฟมีน้ำของตัวเองครบ
- Container = ห้องในอพาร์ตเมนต์ ใช้ระบบส่วนกลางร่วมกัน แต่ก็มีประตูล็อกของตัวเอง
แล้วใช้อันไหนดี
จริง ๆ มักใช้คู่กันนะ: ใช้ VM แบ่งเซิร์ฟเวอร์ใหญ่เป็นก้อน ๆ แล้วรัน Container หลายตัวอยู่ใน VM อีกที
- ต้องการ OS ต่างกัน หรือความปลอดภัยสูงสุด → VM
- ต้องการเปิด-ปิดเร็ว แพ็กแอปให้ย้ายไปไหนก็รันเหมือนเดิม → Container
เอาไปใช้ทำอะไรได้บ้าง
- ผู้ให้บริการคลาวด์: ทุกครั้งที่โบรกดเปิด VPS นั่นคือ VM ที่ถูกสร้างบนเซิร์ฟเวอร์ยักษ์
- โฮมแล็บ: เอาคอมเก่ามาลง Proxmox แล้วสร้าง VM ไว้เล่น ทำ NAS ทำ Home Assistant (สายนี้อันตรายนะ เผลอ ๆ ซื้อเครื่องเพิ่มไม่รู้ตัว)
- ทีมพัฒนา: สร้างสภาพแวดล้อมทดสอบให้เหมือนของจริง โดยไม่ต้องซื้อเครื่องเพิ่ม
- การเรียนรู้: อยากลอง Linux แต่ไม่กล้าล้างเครื่อง ก็สร้าง VM ลองในนั้น
- รวมเซิร์ฟเวอร์: องค์กรที่มีเซิร์ฟเวอร์เก่า 20 เครื่อง ยุบเหลือ 3 เครื่องแรง ๆ ประหยัดทั้งค่าไฟและพื้นที่
ศัพท์ที่ควรรู้
- Host: เครื่องจริงที่รันทุกอย่าง
- Guest: เครื่องเสมือนที่อยู่ข้างใน
- Snapshot: บันทึกสถานะเครื่อง ณ เวลานั้น ทำพังก็ย้อนกลับได้ (มีประโยชน์มากตอนอัปเดตระบบ ใครไม่ทำแล้วพังจะรู้สึก)
- Template: VM แม่แบบ เอามาโคลนสร้างเครื่องใหม่ได้ไว
- Overcommit: แจกทรัพยากรรวมมากกว่าที่เครื่องจริงมี โดยหวังว่าทุกตัวจะไม่ใช้เต็มพร้อมกัน (เสี่ยงแต่คนก็ทำกัน)
สรุปให้โบร
Virtualization คือเทคโนโลยีที่ทำให้ เครื่อง 1 เครื่องกลายเป็นหลายเครื่อง ใช้ของคุ้ม สร้าง-ลบไว และแยกงานออกจากกันได้อย่างปลอดภัย
ถ้าอยากลองจริง ๆ แนะนำโหลด VirtualBox มาลงเครื่องตัวเอง แล้วสร้าง VM ลง Ubuntu สักตัว ใช้เวลาไม่ถึงชั่วโมง แต่เข้าใจกว่าอ่านสิบบทความรวมกัน
👉 บทต่อไป: Security พื้นฐานที่โบรต้องรู้ - ระบบพร้อมแล้ว แต่ถ้าไม่ปลอดภัยก็จบกัน มาปิดท้ายซีรีส์กัน
