Máy ảo (Virtual Machines)
Đây là gì
Hãy hình dung việc thuê nguyên một căn hộ thay vì một phòng khách sạn: đó là một không gian trống hoàn toàn thuộc về bạn, và bạn tự trang bị nội thất, tự vận hành nó theo ý muốn. Máy ảo (virtual machine, viết tắt ) chính là "căn hộ" đó trong thế giới phần mềm — một chiếc máy tính hoàn chỉnh tồn tại dưới dạng phần mềm, chạy trên phần cứng của một nhà cung cấp. Bạn có toàn quyền kiểm soát hệ điều hành: bạn đăng nhập, cài bất cứ thứ gì mình muốn, và chạy ứng dụng của mình y hệt như trên một máy vật lý. Đây là lựa chọn hosting đòi hỏi bạn "nhúng tay" nhiều nhất.
Điểm mạnh
- Toàn quyền kiểm soát — hệ điều hành đầy đủ, phần mềm tùy ý, cấu hình tùy ý.
- Hiệu năng ổn định, dự đoán được; máy là của bạn trong suốt thời gian bạn thuê.
- Không có giới hạn thời gian thực thi hay thời gian chạy, khác với hay .
- Chạy được mọi thứ: cơ sở dữ liệu, phần mềm cũ (legacy), các daemon tùy chỉnh, các tác vụ chạy dài.
- Mô hình đã trưởng thành, được hiểu rõ với hàng thập kỷ công cụ hỗ trợ.
Đánh đổi
- Bạn phải tự quản lý mọi thứ: cập nhật hệ điều hành (operating system, viết tắt OS), vá lỗi bảo mật, sao lưu, giám sát.
- Bạn phải trả tiền cho máy dù nó đang bận hay đang rảnh.
- Việc mở rộng quy mô (scaling) là thủ công — bạn tự thay đổi kích thước máy hoặc thêm máy.
- Càng nhiều bộ phận chuyển động thì càng nhiều cách để mọi thứ hỏng.
- Chậm nhất khi khởi tạo (provision) so với functions hay containers.
Khi nào nên dùng
Dùng VM khi bạn cần toàn quyền kiểm soát, hoặc có những yêu cầu mà các lựa chọn nhẹ hơn không thể đáp ứng: phần mềm đặc thù, trạng thái bền vững (persistent state), cơ sở dữ liệu tự host, các tác vụ dùng GPU (graphics-processing-unit — bộ xử lý đồ họa), hoặc di chuyển một ứng dụng sẵn có mà không cần viết lại.
Phù hợp với vibe coding ra sao
VM cho AI không gian rộng nhất để hoạt động, nhưng cũng đi kèm trách nhiệm lớn nhất, vì vậy hãy dựa vào hạ tầng dưới dạng mã (infrastructure-as-code) thay vì bấm chuột thủ công. Hãy để agent viết một script khởi tạo (một file cloud-init hoặc một setup script) để toàn bộ máy có thể tái tạo và rà soát lại được, thay vì cấu hình server bằng tay qua SSH (Secure Shell — một kết nối đăng nhập từ xa được mã hóa vào máy). Mẹo: yêu cầu agent viết toàn bộ quá trình cài đặt thành một file bootstrap duy nhất và thiết lập cập nhật bảo mật tự động — như vậy bạn có thể xóa và tạo lại VM bất cứ lúc nào mà không mất cấu hình.
#!/usr/bin/env bash
# bootstrap.sh — provision an Ubuntu VM
set -euo pipefail
apt-get update && apt-get upgrade -y
apt-get install -y nginx
systemctl enable --now nginx
# enable unattended security updates
apt-get install -y unattended-upgrades
dpkg-reconfigure -f noninteractive unattended-upgrades
# Run the bootstrap on a fresh server
scp bootstrap.sh user@my-server:/tmp/
ssh user@my-server "sudo bash /tmp/bootstrap.sh"