IaaS, PaaS, SaaS, DBaaS là gì? Bản đồ điện toán đám mây cho người mới
Nếu bạn từng nghe dân kỹ thuật nói “app này chạy trên PaaS”, “database mình để trên DBaaS” mà thấy mông lung, bài này viết cho bạn. Không cần biết code, không cần biết vận hành máy chủ. Hết bài, bạn sẽ nhìn một dịch vụ bất kỳ và biết ngay nó thuộc tầng nào, ai đang lo phần việc gì cho bạn.
Một phép so sánh dễ hiểu: bữa tối pizza
Bạn muốn ăn pizza. Có bốn cách:
- Tự làm từ đầu ở nhà: mua bột, phô mai, lò nướng, tự làm hết. Cực nhất, nhưng toàn quyền. Đây là tự dựng máy chủ trong nhà (on-premise).
- Mua bột và đế làm sẵn: bạn vẫn nướng, vẫn dọn bàn, nhưng phần khó nhất có người lo. Đây là IaaS.
- Thuê bếp của nhà hàng: bạn chỉ cần mang nguyên liệu tới, bếp núc, ga, điện có sẵn. Đây là PaaS.
- Gọi giao pizza tận nhà: bạn không đụng tay vào gì cả, chỉ việc ăn. Đây là SaaS.
Điểm mấu chốt của cả bốn tầng đám mây chỉ nằm ở một câu hỏi: bạn tự lo bao nhiêu phần, và để nhà cung cấp lo bao nhiêu phần?
IaaS – Hạ tầng cho thuê
IaaS (Infrastructure as a Service) là khi bạn thuê phần “cứng” ảo hoá: máy chủ ảo, ổ đĩa, mạng. Nhà cung cấp lo điện, làm mát, phần cứng vật lý. Còn lại là việc của bạn: cài hệ điều hành, vá lỗi bảo mật, cấu hình, cài phần mềm.
Giống như bạn thuê một căn nhà trống. Có tường, có điện nước, nhưng nội thất, sơn sửa, dọn dẹp bạn tự làm.
Ví dụ quen thuộc: Amazon EC2, Google Compute Engine, Azure Virtual Machines, DigitalOcean Droplet, Linode.
Chọn IaaS khi bạn cần toàn quyền kiểm soát và không ngại việc vận hành.
PaaS – Nền tảng để chạy code
PaaS (Platform as a Service) tiến thêm một bước: bạn chỉ cần đẩy code lên, phần còn lại nền tảng lo. Không cần biết máy chủ nằm ở đâu, không cần vá hệ điều hành, không cần lo mở rộng khi đông người dùng.
Giống như thuê một căn hộ đủ nội thất. Bạn xách vali vào ở là được.
Ví dụ quen thuộc: Heroku, Render, Railway, Vercel, Google App Engine.
Chọn PaaS khi bạn muốn đi nhanh và không muốn tốn thời gian cho việc vận hành máy chủ. Đây là lựa chọn yêu thích của rất nhiều người làm sản phẩm một mình.
SaaS – Phần mềm dùng ngay
SaaS (Software as a Service) là phần mềm chạy sẵn trên đám mây, bạn chỉ việc đăng nhập và dùng. Không cài đặt, không cập nhật, mọi thứ chạy trên trình duyệt hoặc app.
Đây là tầng mà cả những người không phải dân kỹ thuật cũng đang dùng hằng ngày.
Ví dụ quen thuộc: Gmail, Notion, Figma, Canva, Google Docs.
DBaaS – Cơ sở dữ liệu được quản lý sẵn
DBaaS (Database as a Service) là một nhánh chuyên biệt: nhà cung cấp lo trọn phần cơ sở dữ liệu cho bạn. Sao lưu, cập nhật, mở rộng, bảo mật ở tầng hạ tầng đều có người lo. Bạn chỉ tập trung thiết kế bảng và viết truy vấn.
Với một sản phẩm thực tế, dữ liệu là thứ đáng sợ nhất khi mất. DBaaS gỡ bỏ phần lớn nỗi lo đó.
Ví dụ quen thuộc: Supabase, Neon, PlanetScale, Amazon RDS, MongoDB Atlas.
Trong series này, app ví dụ của chúng ta sẽ đặt cơ sở dữ liệu trên Supabase, một DBaaS dựng trên PostgreSQL, ở bài kế tiếp.
Ai lo gì? Bảng tổng kết
Cách dễ nhất để phân biệt là nhìn xem “ai chịu trách nhiệm cho phần nào”:
| Phần việc | Tự dựng | IaaS | PaaS | SaaS |
|—|—|—|—|—|
| Phần cứng vật lý | Bạn | Nhà cung cấp | Nhà cung cấp | Nhà cung cấp |
| Hệ điều hành, vá lỗi | Bạn | Bạn | Nhà cung cấp | Nhà cung cấp |
| Chạy và mở rộng app | Bạn | Bạn | Nhà cung cấp | Nhà cung cấp |
| Chính app / phần mềm | Bạn | Bạn | Bạn | Nhà cung cấp |
Đọc bảng từ trái qua phải: càng sang phải, bạn càng lo ít, nhà cung cấp càng lo nhiều. Không có tầng nào “tốt nhất” tuyệt đối, chỉ có tầng phù hợp với thứ bạn đang làm.
Đặt thử một dịch vụ vào đúng ô
Thử vài câu hỏi nhanh để định vị bất kỳ dịch vụ nào:
- Bạn có phải tự cài hệ điều hành không? Có thì đó là IaaS.
- Bạn chỉ đẩy code lên là chạy? Đó là PaaS.
- Bạn chỉ đăng nhập và dùng, không viết code? Đó là SaaS.
- Nó chỉ làm mỗi việc lưu trữ dữ liệu cho app của bạn? Đó là DBaaS.
Định nghĩa xong
Bạn coi như nắm được bài này khi có thể:
- Giải thích bốn tầng bằng ví dụ pizza cho một người không rành kỹ thuật.
- Nhìn tên một dịch vụ bất kỳ (ví dụ Vercel, RDS, Notion) và xếp nó vào đúng ô.
- Nói được vì sao một người làm sản phẩm một mình thường chọn PaaS cộng DBaaS thay vì tự dựng mọi thứ.
Bài tiếp theo trong series: chúng ta bắt tay vào Supabase, một DBaaS thực chiến với đăng nhập, PostgreSQL và lưu trữ tập tin, để thấy một tầng dịch vụ trông ra sao khi dùng thật.