VPS hay PaaS, chọn gì cho startup và agency Việt Nam
VPS hay PaaS tốt hơn tuỳ vào việc ai sẽ vận hành hệ thống: VPS rẻ và linh hoạt nhưng bạn tự lo cài đặt, bảo mật, sao lưu và sự cố; PaaS như ZoCloud tốn ít công vận hành hơn vì nền tảng lo build, HTTPS, database được quản lý và sao lưu. Với startup nhỏ và agency nhiều khách, giờ công vận hành thường là chi phí lớn nhất mà bảng giá không ghi.
VPS và PaaS khác nhau thế nào
VPS (máy chủ ảo) cho bạn một máy Linux với quyền root. Mọi thứ phía trên là việc của bạn: hệ điều hành, Nginx, Node.js hay Python, PostgreSQL, chứng chỉ SSL, firewall, cập nhật, sao lưu, giám sát.
PaaS (Platform as a Service) cho bạn một nơi chạy app. Bạn đưa code lên (từ GitHub, từ máy, hoặc Docker image); nền tảng build, chạy, cấp HTTPS, nối database và theo dõi app.
| Việc cần làm | VPS tự quản lý | PaaS (ví dụ ZoCloud) |
|---|---|---|
| Cài runtime, web server | Bạn tự làm | Tự nhận diện framework, build và chạy |
| HTTPS cho tên miền | Tự cài và gia hạn chứng chỉ | Cấp tự động khi DNS đúng, tự gia hạn |
| Database | Tự cài, tự tối ưu, tự sao lưu | Một chạm, sao lưu mỗi đêm, mã hoá, bản chính lưu tại Việt Nam |
| Deploy không gián đoạn | Tự viết script | Bản cũ phục vụ tới khi bản mới khoẻ; rollback một bấm |
| Một máy hỏng | App chết tới khi bạn dựng lại | Từ 2 bản chạy trở lên, app không gián đoạn |
| Vá lỗi hệ điều hành | Việc của bạn | Việc của nền tảng |
| Quyền root, phần mềm tuỳ ý | Có | Giới hạn trong container |
| Chi phí thuê | Thường thấp | Theo gói và mức dùng |
Chi phí vận hành mà bảng giá không ghi
Khi so sánh giá, nhiều đội chỉ nhìn tiền thuê máy. Với VPS, hãy cộng thêm:
- Dựng ban đầu: cài đặt, cấu hình, viết script deploy. Có thể mất từ vài giờ tới vài ngày cho mỗi dự án.
- Cập nhật bảo mật: hệ điều hành, OpenSSL, runtime, database đều có bản vá định kỳ.
- Sao lưu và thử khôi phục: sao lưu mà chưa từng thử khôi phục thì chưa chắc dùng được.
- Giám sát và trực sự cố: ai nhận cảnh báo lúc 2 giờ sáng?
- Rủi ro con người: nếu chỉ một người biết server được dựng thế nào, người đó nghỉ là cả đội gặp khó.
Với PaaS, bạn trả tiền nền tảng để chuyển phần lớn các việc trên cho nhà cung cấp. Trên ZoCloud, giá gói và đơn giá theo mức dùng (vCPU·giờ, GB RAM·giờ, GB đĩa·tháng) hiện trong portal (Bảng giá); bạn có thể đặt Giới hạn chi tiêu để phần dùng vượt gói không vượt quá một số tiền mỗi tháng.
Sao lưu: điểm yếu hay gặp của VPS tự quản lý
Sự cố mất dữ liệu thường không đến từ phần cứng, mà từ một lệnh xoá nhầm, một bản cập nhật lỗi hay một đĩa đầy. Câu hỏi cần trả lời: bản sao lưu nằm ở đâu, bao lâu một lần, đã thử khôi phục chưa?
Trên ZoCloud:
- Database sao lưu tự động mỗi đêm, mã hoá, bản chính lưu tại Việt Nam. Backup ngay trước khi chạy lệnh ghi lớn. Khôi phục luôn vào một database mới, database hiện tại vẫn chạy để bạn đối chiếu.
- Volume (ổ lưu trữ của app) sao lưu mỗi đêm, kèm các bản dày mỗi vài phút và nút Sao lưu ngay. Nếu máy chủ chứa volume gặp sự cố kéo dài, ZoCloud tự khôi phục bản mới nhất sang máy khác; phần ghi sau bản gần nhất có thể mất (thường tối đa khoảng 15 phút).
- File của app nên để trong object storage S3 tại Việt Nam thay vì trên đĩa container.
Bảo mật: ai chịu trách nhiệm phần nào
Trên VPS, bạn chịu trách nhiệm từ hệ điều hành trở lên: mở cổng nào, ai SSH được, database có lộ ra Internet không, vá lỗi kịp chưa.
Trên PaaS, ranh giới dịch chuyển: nền tảng lo máy chủ và mạng, bạn lo code và cấu hình app. Ví dụ trên ZoCloud:
- Database chạy trong mạng riêng, chỉ app cùng environment truy cập được; muốn kết nối từ máy thì bật Truy cập từ Internet có TLS bắt buộc, và nên tắt khi không dùng.
- Tường lửa OWASP Core Rule Set đứng trước app, chế độ Chỉ ghi nhận hoặc Chặn; chặn quốc gia và dải IP.
- Biến môi trường được mã hoá khi lưu; zo CLI không bao giờ gửi file
.env. - Vai trò thành viên (Chủ sở hữu, Quản trị, Developer, Thanh toán, Chỉ xem), bắt buộc 2FA, nhật ký Hoạt động.
PaaS không làm code của bạn an toàn hơn: lỗi SQL injection hay lộ khoá API vẫn là việc của đội phát triển.
Khi nào chọn VPS, khi nào chọn PaaS
VPS hợp khi:
- Bạn cần quyền root, kernel module, phần mềm hay giao thức mà PaaS không hỗ trợ.
- Đội có người vận hành Linux thành thạo và có thời gian cho việc đó.
- Khối lượng ổn định, lâu dài, và bạn muốn tự tối ưu chi phí từng thành phần.
PaaS hợp khi:
- Startup giai đoạn đầu, đội nhỏ, muốn dồn thời gian vào sản phẩm.
- Agency làm nhiều dự án cho khách: mỗi dự án một project, mỗi khách có thể là một tổ chức riêng với ví, gói và thông tin xuất hoá đơn riêng.
- Cần staging, preview cho từng Pull Request, rollback nhanh.
- Vibe coder muốn AI agent tự deploy (xem deploy từ Cursor và Claude Code).
Nhiều đội dùng cả hai: app web, API, worker, database trên PaaS; một VPS riêng cho phần mềm đặc thù.
Chuyển từ VPS sang ZoCloud
- Tạo project, thêm database cùng loại (Thêm → PostgreSQL hoặc MySQL (MariaDB)).
- Bật Truy cập từ Internet cho database mới, chuyển dữ liệu bằng công cụ dump/restore quen thuộc, rồi tắt lại.
- Deploy app:
curl -fsSL https://app.zocloud.io/install.sh | sh
zo login
zo detect # xem ZoCloud sẽ build thế nào
zo deploy -to myorg/shop/web
zo vars set 'DATABASE_URL=${{pg.DATABASE_URL}}'
zo deploy
- App đã có Dockerfile? ZoCloud build từ Dockerfile (
"builder": "dockerfile"trongzocloud.json). - Kiểm tra trên địa chỉ
….zocloud.app, rồi trỏ tên miền bằngCNAMEhoặcA.
Câu hỏi thường gặp
PaaS là gì và khác VPS ở điểm nào?
VPS là một máy chủ ảo, bạn tự cài hệ điều hành, web server, database, chứng chỉ và tự vá lỗi. PaaS là nền tảng chạy app cho bạn, bạn đưa code lên còn nền tảng lo build, chạy, HTTPS, sao lưu và mở rộng.
VPS có rẻ hơn PaaS không?
Tiền thuê một VPS thường thấp hơn, nhưng tổng chi phí còn gồm thời gian cài đặt, vá bảo mật, sao lưu, giám sát và xử lý sự cố. Hãy cộng cả giờ công vận hành trước khi so sánh.
Khi nào nên chọn VPS?
Khi bạn cần quyền root, phần mềm hay cấu hình mà PaaS không hỗ trợ, có người rành vận hành Linux, hoặc chạy khối lượng ổn định lâu dài và muốn tự tối ưu từng thành phần.
Dùng PaaS có bị khoá chặt vào nhà cung cấp không?
Ít hơn bạn nghĩ nếu app theo chuẩn thông thường. Trên ZoCloud, app đọc cấu hình từ biến môi trường, database là PostgreSQL, MySQL (MariaDB) hay Valkey chuẩn, và bạn có thể deploy từ Docker image hoặc Dockerfile của chính mình.
Thử PaaS với một dự án thật
Chọn một dự án nhỏ, deploy thử và đo thời gian bạn tiết kiệm được. Đăng ký ZoCloud, rồi xem hướng dẫn bắt đầu, hướng dẫn app và database. So sánh thêm với các PaaS quốc tế ở bài thay thế Heroku, Railway, Render.