So sánh nhà cung cấp VPS: AWS vs DigitalOcean vs Vultr vs Hetzner (Hướng dẫn 2024)

HomeLab tutorial - IT technology blog
HomeLab tutorial - IT technology blog

Bắt đầu nhanh: Chọn VPS trong 5 phút

2 giờ sáng. App của bạn sập. Hosting hiện tại đang tắc nghẽn, và bạn cần dựng một server mới ngay lập tức. Bạn sẽ chọn nhà cung cấp nào mà không cần suy nghĩ?

Chính tình huống đó đã định hình quan điểm của tôi về từng nhà cung cấp trong danh sách này. Sau vài năm chạy workload production trên AWS, DigitalOcean, Vultr và Hetzner, tôi đã có được cái nhìn rõ ràng về khi nào nên dùng cái gì.

Đây là câu trả lời nhanh nếu bạn cần ngay:

  • AWS EC2 — Khi công ty bạn đã dùng AWS hoặc cần tuân thủ quy định doanh nghiệp (SOC2, HIPAA, v.v.)
  • DigitalOcean — Khi bạn muốn tài liệu rõ ràng, hóa đơn dễ đoán và không phải chuyên gia cloud
  • Vultr — Khi bạn cần server nhanh ở một vị trí địa lý cụ thể với chi phí thấp
  • Hetzner — Khi hiệu năng trên từng đồng tiền là ưu tiên hàng đầu và người dùng của bạn ở Châu Âu

Nếu không có trường hợp nào ở trên phù hợp, hãy đọc tiếp.

Phân tích chuyên sâu: Hiệu năng thực tế của từng nhà cung cấp

AWS EC2 — Con ngựa thồ của doanh nghiệp

AWS là tiêu chuẩn ngành không phải không có lý do, nhưng nó đi kèm với độ phức tạp thực sự. Chỉ riêng giá cả đã có thể khiến bạn đau đầu — on-demand, reserved, spot instances, savings plans… cần khá nhiều thời gian để hiểu mình đang thực sự trả tiền cho cái gì.

Một t3.micro (2 vCPU, 1 GB RAM) có giá khoảng $0.0104/giờ theo on-demand tại us-east-1. Tức là khoảng $7.50/tháng nếu chạy 24/7. Còn t3.small (2 vCPU, 2 GB RAM) thì gấp đôi, tầm ~$15/tháng.

# Khởi chạy t3.micro trên AWS bằng CLI
aws ec2 run-instances \
  --image-id ami-0c55b159cbfafe1f0 \
  --instance-type t3.micro \
  --key-name my-keypair \
  --security-group-ids sg-0123456789abcdef0 \
  --subnet-id subnet-0123456789abcdef0

AWS tỏa sáng khi bạn đã dùng sâu vào hệ sinh thái của họ — RDS, S3, CloudFront, Lambda. Nếu kiến trúc của bạn đã dùng từ 3 dịch vụ AWS trở lên, việc để compute ở đó hoàn toàn hợp lý. Ngược lại, bạn đang trả giá premium của AWS mà không tận dụng được lợi ích hệ sinh thái.

Sự phức tạp lúc bắt đầu mới là điểm đau thực sự. Cấu hình một EC2 instance đúng cách — VPC, security groups, IAM roles, EBS volumes — mất thời gian đáng kể hơn so với việc dựng một Droplet hay Vultr instance. Lần đầu hãy dự tính ít nhất một tiếng đồng hồ.

DigitalOcean — Lựa chọn thân thiện với developer

DigitalOcean xây dựng danh tiếng dựa trên sự đơn giản, và họ đã duy trì được điều đó. Droplet của họ rất trực quan: chọn cấu hình, chọn region, chọn OS, xong.

Một Droplet cơ bản với 1 vCPU / 1 GB RAM / 25 GB SSD có giá $6/tháng cố định. Không có gì bất ngờ. Mức giá dễ đoán này thực sự có giá trị khi bạn quản lý nhiều khách hàng hoặc dự án.

# Tạo Droplet bằng doctl (DigitalOcean CLI)
doctl compute droplet create my-server \
  --region nyc3 \
  --size s-1vcpu-1gb \
  --image ubuntu-22-04-x64 \
  --ssh-keys YOUR_SSH_KEY_ID

Tài liệu của họ thuộc hàng tốt nhất trong ngành. Các hướng dẫn của DigitalOcean về LAMP stack, Nginx, Docker và Kubernetes rất chi tiết và được cập nhật thường xuyên. Hồi mới học quản trị server, tài liệu cộng đồng của họ là tài liệu tham khảo chính của tôi — chắc mỗi tuần tôi vào đó ba bốn lần.

Tuy nhiên, bạn đang trả thêm một khoản phụ phí cho sự đơn giản đó. Cùng cấu hình trên Hetzner hay Vultr sẽ rẻ hơn đáng kể.

Vultr — Chuyên gia về phạm vi địa lý

Vultr vận hành 32 vị trí data center trên toàn thế giới, bao gồm các thành phố mà AWS và DigitalOcean không có — Johannesburg, Seoul, São Paulo, Osaka. Nếu người dùng của bạn trải rộng về mặt địa lý, phạm vi phủ sóng này rất quan trọng.

Cloud Compute instance của họ bắt đầu từ $2.50/tháng cho 1 vCPU / 512 MB RAM, và $5/tháng cho 1 vCPU / 1 GB RAM. Hiệu năng ổn định — NVMe SSD trên toàn bộ fleet, và mạng của họ luôn đạt benchmark tốt so với các đối thủ cùng phân khúc giá.

# Tạo instance Vultr qua API
curl "https://api.vultr.com/v2/instances" \
  -X POST \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
    "region": "nrt",
    "plan": "vc2-1c-1gb",
    "os_id": 1743,
    "label": "my-server"
  }'

Vultr còn cung cấp bare metal, GPU instances và block storage. API của họ gọn gàng và được tài liệu hóa tốt, giúp việc tự động hóa trở nên đơn giản.

Hetzner — Vô địch về hiệu năng trên từng đồng tiền

Hetzner là nhà cung cấp của Đức đã dần chiếm được thị phần lớn tại thị trường Châu Âu — và không phải ngẫu nhiên. Giá của họ cực kỳ cạnh tranh. Một CX22 instance (2 vCPU, 4 GB RAM, 40 GB SSD) chỉ khoảng €3.79/tháng (~$4.10 USD). Thử tìm mức giá đó trên AWS xem.

# Tạo server Hetzner bằng hcloud CLI
hcloud server create \
  --name my-server \
  --type cx22 \
  --image ubuntu-22.04 \
  --ssh-key my-ssh-key \
  --location nbg1

Hetzner xứng đáng có mặt trong bộ công cụ của bạn — đặc biệt cho các dự án cá nhân, môi trường staging, hoặc bất kỳ workload nào mà người dùng chủ yếu ở Châu Âu. Giá trị trên từng euro khó có nơi nào sánh được.

Vị trí địa lý là hạn chế. Hetzner có ít vị trí data center hơn nhiều (Đức, Phần Lan, Mỹ, Singapore). Nếu độ trễ đến Châu Á hay Nam Mỹ quan trọng với người dùng của bạn, họ sẽ không đáp ứng được. Thời gian phản hồi hỗ trợ cho các vấn đề khẩn cấp cũng chậm hơn AWS và DigitalOcean — hãy tính bằng giờ, không phải phút.

Sử dụng nâng cao: Benchmark trước khi quyết định

Đừng tin vào thông số marketing. Hãy tự chạy benchmark trước khi chọn nhà cung cấp cho production. Đây là script nhanh để kiểm tra VPS mới:

#!/bin/bash
# Benchmark VPS nhanh — CPU, disk I/O, mạng

echo "=== Benchmark CPU ==="
sysbench cpu --cpu-max-prime=20000 run | grep "total time"

echo "=== Benchmark Disk I/O ==="
dd if=/dev/zero of=/tmp/test.img bs=1M count=1024 conv=fdatasync 2>&1 | tail -1
rm /tmp/test.img

echo "=== Tốc độ Mạng ==="
curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python3 -

echo "=== Thông tin Bộ nhớ ==="
free -h

Để kiểm tra kỹ hơn, script nench.sh (network-enhanced bench) được sử dụng rộng rãi trong cộng đồng homelab:

curl -s wget.racing/nench.sh | bash

Chạy script này ngay sau khi khởi tạo instance mới. Disk I/O thường là bottleneck đầu tiên — một số nhà cung cấp giới hạn tốc độ shared storage vào giờ cao điểm, và cách này sẽ giúp bạn phát hiện nhanh.

Terraform cho hạ tầng đa nhà cung cấp

Khi bạn phải quản lý nhiều hơn một nhà cung cấp, việc quản lý server thủ công sẽ nhanh chóng trở nên lộn xộn. Terraform xử lý các thiết lập đa nhà cung cấp một cách gọn gàng:

# main.tf — triển khai trên Hetzner và Vultr đồng thời
terraform {
  required_providers {
    hcloud = {
      source  = "hetznercloud/hcloud"
      version = "~> 1.42"
    }
    vultr = {
      source  = "vultr/vultr"
      version = "~> 2.15"
    }
  }
}

resource "hcloud_server" "web_eu" {
  name        = "web-eu"
  server_type = "cx22"
  image       = "ubuntu-22.04"
  location    = "nbg1"
}

resource "vultr_instance" "web_asia" {
  region   = "nrt"  # Tokyo
  plan     = "vc2-1c-1gb"
  os_id    = 1743   # Ubuntu 22.04
  label    = "web-asia"
}

Mẹo thực tế từ kinh nghiệm thực chiến

Mẹo 1: Luôn bật backup ngay từ ngày đầu

Mọi nhà cung cấp đều có backup tự động. Không ai bật nó mặc định cả. Hãy bật ngay khi tạo server — đừng đợi đến khi đã mất ba ngày cấu hình xong xuôi. DigitalOcean tính 20% giá Droplet cho backup hàng tuần. Hetzner tính €0.49/tháng cho snapshot CX22. Chi phí bảo hiểm rẻ bèo.

Mẹo 2: Để ý chi phí egress trên AWS

AWS tính phí cho lưu lượng dữ liệu đi ra ngoài. Hetzner và DigitalOcean bao gồm 1–3 TB lưu lượng outbound trong gói hàng tháng. Chạy một site lưu lượng cao trên AWS mà không có CDN phía trước có thể tạo ra hóa đơn bất ngờ cuối tháng. Luôn đặt CloudFront hoặc CDN khác trước các EC2 instance phục vụ lưu lượng công cộng.

Mẹo 3: Chọn nhà cung cấp phù hợp với vị trí người dùng

# Kiểm tra độ trễ từ server đến các khu vực đích
for host in 8.8.8.8 1.1.1.1 yahoo.co.jp naver.com; do
  echo -n "$host: "
  ping -c 3 $host | tail -1 | awk '{print $4}'
done

Chạy lệnh này từ trial instance của từng nhà cung cấp ở các region khác nhau. Chênh lệch 20ms trong độ trễ trung bình là đáng kể ở quy mô lớn — và nó tích lũy lên khi thêm các vòng lặp database bên trên.

Mẹo 4: Dùng Hetzner cho staging, AWS cho production

Một mô hình hoạt động tốt: chạy môi trường staging và dev trên Hetzner (nơi chi phí quan trọng hơn các tính năng compliance), và giữ production trên nền tảng phù hợp với yêu cầu kinh doanh. Cách này giúp giảm chi phí hạ tầng 60–70% cho môi trường non-production mà không ảnh hưởng đến độ tin cậy của production.

Ma trận quyết định nhanh

Kịch bản Lựa chọn tốt nhất
Doanh nghiệp, hệ sinh thái AWS AWS EC2
VPS đầu tiên, đang học hỏi DigitalOcean
Người dùng ở Châu Á/Châu Phi/Mỹ Latinh Vultr
Khán giả Châu Âu, ngân sách eo hẹp Hetzner
Homelab / dự án cá nhân Hetzner
Ứng dụng lưu lượng cao có CDN Bất kỳ (đo chi phí egress)

Không có câu trả lời duy nhất đúng. Nhà cung cấp VPS phù hợp phụ thuộc vào vị trí người dùng của bạn, ngân sách như thế nào, và bạn muốn chịu đựng bao nhiêu độ phức tạp vận hành. Hãy thử với trial instance $5–10 trên hai ứng viên hàng đầu trước khi cam kết với deployment lâu dài hơn.

Share: