Cloud, VPS, Shared Hosting — chọn nhà cho web theo quy mô
Shared Hosting là 'thuê phòng trọ chung', VPS là 'thuê căn hộ riêng', Cloud là 'thuê khách sạn auto scale theo khách'. Hiểu 3 lựa chọn hosting để biết khi nào upgrade — tiết kiệm 50-90% chi phí khi chọn đúng quy mô.
Mục lục bài viết(21)

Kiến trúc cloud computing 3 tầng: IaaS (Infrastructure — bạn quản OS + app), PaaS (Platform — chỉ quản app), SaaS (Software — chỉ dùng). VPS thuộc IaaS, Vercel/Netlify thuộc PaaS, Google Workspace/Notion thuộc SaaS. Hiểu 3 tầng giúp bạn biết được mình đang trả tiền cho cái gì + quyền control bao nhiêu. Nguồn: Wikimedia Commons (CC BY-SA 3.0).
Hiểu đơn giản nhất
Tưởng tượng web bạn là một cửa hàng. Bạn cần chỗ để mở cửa. 3 lựa chọn:
| Lựa chọn | Analogy | Giá VN/tháng | Phù hợp ai |
|---|---|---|---|
| Shared Hosting | Sạp trong chợ — nhiều người chung không gian | 30-100k VND | Blog, landing đơn giản |
| VPS | Căn hộ thuê riêng — bếp+toilet riêng, hàng xóm không quấy | 100-500k VND | SaaS nhỏ, e-commerce vừa |
| Cloud | Khách sạn — thêm phòng khi đông khách, bớt khi vắng | 200k-vô hạn | Startup scale nhanh, traffic burst |
3 từ khác bạn nghe thường xuyên:
- VM / VPS / Server — về cơ bản là cùng thứ: 1 "máy tính ảo" cấp cho bạn
- Dedicated Server — server vật lý nguyên cái dành riêng cho bạn (như mua nhà thay vì thuê)
- Serverless / Edge — bạn chỉ trả tiền khi code thực sự chạy (Lambda, Cloudflare Workers)
Tại sao bạn cần biết
- Tránh trả 10x giá cho web ít traffic. Web 1000 visit/tháng dùng AWS = $50-100/tháng phí. Cùng web dùng shared hosting = $1-3/tháng. Chênh 30-50 lần cho cùng performance.
- Tránh down khi viral. Web bán hàng đăng Facebook chia sẻ 50k lượt, shared hosting quá tải → down 30 phút → mất 100tr doanh thu. Cloud auto-scale fix vấn đề này.
- Đặt câu hỏi đúng khi thuê dev. "Anh dùng AWS với Vercel" có thể đúng (cùng project), có thể overkill cho nhu cầu của bạn. Hỏi cụ thể "monthly hosting cost dự kiến?" để chọn đúng.
- Hiểu pricing model. Cloud tính theo giờ + bandwidth. Bug code làm app gọi API 1 tỷ lần/ngày = bill 50tr trong 24h. Set billing alert tránh shock.
- Hiểu vendor lock-in. Vercel/AWS chuyển sang nhà khác có thể tốn 1-3 tháng dev. Chọn từ đầu phù hợp + giữ code "portable" nếu lo lock-in.
Shared Hosting — sạp chung chợ
Shared = 1 server vật lý (CPU + RAM + disk) chia cho 50-500 website. Provider quản hết: OS, security update, mail server, MySQL, backup.
Bạn được gì
- cPanel hoặc DirectAdmin — UI quản domain, email, file, database, cron
- Domain + email tích hợp —
[email protected]free thường có sẵn - Auto-install WordPress, Joomla, Drupal qua Softaculous (1 click)
- SSL miễn phí Let's Encrypt (provider cấu hình sẵn)
- Backup hàng ngày thường có
Hạn chế
- CPU + RAM dùng chung — "noisy neighbor" có thể ăn hết tài nguyên
- Không SSH root — không cài Node.js custom, Redis, Python ML
- PHP only (đa phần) — không chạy được Next.js, Django dev mode, Rails
- Giới hạn process/cron — không chạy background worker nặng
- Database size capped — thường 500MB-2GB MySQL
Khi nào nên dùng
- Blog WordPress < 10k visit/tháng
- Landing page tĩnh
- Brochure web doanh nghiệp nhỏ
- Test/staging env trước khi launch
Provider VN phổ biến
| Provider | Giá khởi điểm | Note |
|---|---|---|
| Mắt Bão | 50k/tháng | Lớn nhất VN, hỗ trợ ổn |
| Vinahost | 30k/tháng | Giá rẻ nhất |
| TinoHost | 40k/tháng | Trẻ, marketing mạnh |
| BKHost | 60k/tháng | Tích hợp với BKAV |
| AZDIGI | 100k/tháng | Cloud hosting (giữa shared + VPS) |
⚠️ Tránh provider giá quá rẻ (10-20k/tháng) — thường oversell, lag liên tục. Mức 50-100k là sweet spot.
VPS — căn hộ thuê riêng
VPS = bạn được cấp 1 "máy tính ảo" với CPU/RAM/disk cố định. Root SSH access. Cài gì cũng được.
Bạn quản gì
- OS — Ubuntu/Debian/CentOS (chọn lúc setup)
- Web server — Nginx, Apache, Caddy (cài + config)
- Database — MySQL, PostgreSQL, MongoDB, Redis
- Runtime — Node.js, Python, Go, Java, Docker
- SSL — Certbot Let's Encrypt
- Firewall — UFW, fail2ban
- Backup — cron + rsync hoặc Restic
Trade-off
✅ Tự do cài đặt, performance ổn định ❌ Cần biết Linux command line cơ bản ❌ Phải tự update security patch (apt upgrade hàng tuần) ❌ Down do bug bạn cài thì tự fix
Specs phổ biến
| Tier | CPU | RAM | Disk | Bandwidth | Giá VN | Giá quốc tế |
|---|---|---|---|---|---|---|
| Nano | 1 vCPU | 1GB | 25GB SSD | 1TB | 100-200k | $4-5 |
| Small | 2 vCPU | 2GB | 50GB SSD | 2TB | 300-500k | $10-15 |
| Medium | 4 vCPU | 4GB | 80GB SSD | 4TB | 700k-1tr | $20-30 |
| Large | 8 vCPU | 16GB | 160GB SSD | 6TB | 1.5-2.5tr | $50-80 |
Provider phổ biến
| Provider | Vùng | Note |
|---|---|---|
| Vinahost VPS | VN | Latency tốt cho khách VN |
| Mắt Bão VPS | VN | Hỗ trợ tiếng Việt 24/7 |
| Vultr | Singapore + global | $2.5/tháng entry, 30 region |
| DigitalOcean | Singapore + global | Docs đẹp nhất, $4/tháng entry |
| Linode (Akamai) | Singapore + global | Network rất ổn |
| Hetzner | Đức/Phần Lan | $3.5/tháng entry, RAM nhiều nhất, latency tới VN cao 200-300ms |
Cloud — khách sạn auto scale
Cloud thực ra là VPS có thêm 3 đặc tính:
- Auto-scale — peak time tự thêm server, off-peak tự bớt
- Managed services — database, queue, storage, ML đều "serverless" — bạn không quản server
- Pricing theo giây/giờ thay vì gói tháng cố định
3 hyperscaler chính
| Provider | Mạnh nhất | Yếu nhất | Phù hợp |
|---|---|---|---|
| AWS | Phổ biến nhất, 200+ service, market leader | Pricing phức tạp nhất, learning curve | Enterprise, startup có dev senior |
| GCP (Google) | BigQuery (analytics), Kubernetes (GKE), AI (Vertex) | UI lủng củng, ít region VN | Data-heavy, ML startup |
| Azure (Microsoft) | Tích hợp Office/AD, .NET, hybrid | Marketing UI rối, đắt | Doanh nghiệp dùng Microsoft stack |
PaaS — cloud cấp cao hơn
Vercel, Netlify, Cloudflare Pages, Render, Fly.io = PaaS:
- Push code Git → tự build + deploy + serve
- Không cần biết Linux/server admin
- SSL + CDN built-in
- Free tier rộng (Vercel 100GB bandwidth, Netlify 100GB)
- Trade-off: vendor lock-in một phần (env-specific config, edge runtime)
Serverless / Edge
- AWS Lambda, Cloudflare Workers: code chạy theo request, tính tiền theo ms
- 1M request đầu/tháng free, sau đó $0.2-0.5/triệu
- Tốt cho: API có spike, webhook handler, image processing
- Hạn chế: timeout 10-30 giây, không state, cold start 100-500ms
Ví dụ thực tế: vietcodex.com đang dùng gì
vietcodex.com self-host trên homeserver (server vật lý tại VN):
Hardware: Intel Xeon 8 core, 32GB RAM, 1TB SSD
OS: Ubuntu 24.04 LTS
Runtime: Docker compose (vietcodex-app + postgres + soketi)
HTTPS: Cloudflare Tunnel (cf tunnel) — không cần IP public
CDN: Cloudflare proxy (free tier)
Domain: vietcodex.com qua Cloudflare DNS
Lý do chọn self-host:
- ✅ Hardware đã có sẵn (đầu tư 1 lần) → cost ~0 ngoài điện
- ✅ Latency tốt cho khách VN (server trong VN)
- ✅ Không vendor lock-in
- ✅ Cloudflare Tunnel ẩn IP nhà + DDoS protection free
- ❌ Phải tự maintain (security patch, backup, uptime)
- ❌ Down nếu mất điện > 4 giờ (chưa có UPS)
Alternative considered:
- Vercel Pro $20/tháng → Next.js native, nhưng vendor lock-in + cost tăng nhanh khi traffic
- VPS Vinahost 700k/tháng → đơn giản hơn self-host nhưng phải migrate workload Docker
- AWS Lightsail $20/tháng → overkill, AWS console phức tạp cho nhu cầu
Lựa chọn theo quy mô
< 1k visit/tháng: Shared Hosting (50-100k VND)
1k-10k/tháng: Shared khá ổn hoặc VPS entry ($5)
10k-100k/tháng: VPS ($10-30) hoặc Vercel/Netlify free
100k-1M/tháng: VPS lớn ($30-80) hoặc Cloud PaaS pro tier
1M-10M/tháng: Cloud (AWS/GCP) với auto-scale + CDN
> 10M/tháng: Multi-region cloud + dedicated team DevOps
Cái gì có thể sai
| Vấn đề | Nguyên nhân | Cách fix |
|---|---|---|
| Hoá đơn cloud bất ngờ 50tr | Bug code gọi API loop infinite | Set billing alert $50/$100/$200, code review trước push |
| Shared hosting "chậm bất thường" | Web khác trên cùng server đang ăn CPU | Liên hệ provider request move server hoặc upgrade VPS |
| VPS bị hack qua SSH | Password yếu hoặc port 22 mở public | Disable password login, dùng SSH key, đổi port 22 → 2222 |
| Cloud "auto-scale" không scale | Forgot enable, hoặc account limit | Check Service Quotas (AWS), tăng limit trước peak |
| Vercel bandwidth quá free tier | Image không optimize, video lớn | Bật Image Optimization, dùng CDN cho video |
| VPS down 4 giờ giữa đêm | Provider down, không alert | Setup UptimeRobot + Telegram bot báo |
| Mất data khi VPS bị xoá | Không backup | Restic daily + offsite (Backblaze B2 ~$0.005/GB) |
Tóm tắt 1 dòng
Shared = sạp chợ ($1-5), VPS = căn hộ thuê ($5-50), Cloud = khách sạn auto-scale (vô hạn). Web < 10k visit dùng shared. 10k-100k dùng VPS. Trên đó cloud bắt đầu có lợi. Self-host homeserver + Cloudflare Tunnel là sweet spot cho dev VN có hardware. Set billing alert + backup trước khi đụng cloud.
Đọc tiếp
- Domain, Hosting, DNS — 3 thứ phải mua riêng để có website — hosting là 1 trong 3 yếu tố
- CDN là gì — vì sao web load nhanh ở Hà Nội nhưng chậm ở Mỹ — pair với hosting để tăng tốc global
- Internet là gì? Cách hoạt động dễ hiểu nhất — hosting là điểm cuối của mọi route Internet
- HTTPS, SSL, TLS — vì sao web không có ổ khoá xanh thì khách bỏ chạy — Let's Encrypt cài trên VPS dễ hơn shared