
Khi ứng dụng ngày càng phức tạp và áp lực rút ngắn thời gian phát triển ngày càng lớn, FaaS (Function as a Service) trở thành một hướng tiếp cận giúp đội ngũ kỹ thuật tập trung hoàn toàn vào logic nghiệp vụ mà không phải lo vận hành hạ tầng. Bài viết này của VNPT Cloud sẽ phân tích toàn diện FaaS là gì, cách hoạt động, ưu nhược điểm và các trường hợp ứng dụng thực tế của mô hình này.
FaaS (Function as a Service) là mô hình điện toán đám mây cho phép lập trình viên viết và triển khai các hàm (function) nhỏ, độc lập để thực hiện từng nhiệm vụ cụ thể mà không cần quan tâm đến việc quản lý hạ tầng máy chủ bên dưới. Toàn bộ phần cứng, hệ điều hành và môi trường chạy đều do nhà cung cấp dịch vụ điện toán đám mây (cloud provider) tự động xử lý, cho phép lập trình viên tập trung hoàn toàn vào logic của code.
Khác với server truyền thống chạy liên tục 24/7 dù không có ai sử dụng ứng dụng, FaaS chỉ thực thi code khi có một tín hiệu kích hoạt từ hệ thống (event-driven), chẳng hạn như một HTTP request, một thay đổi trong cơ sở dữ liệu hay một tác vụ theo lịch. Khi function chạy xong, tài nguyên được giải phóng ngay lập tức và bạn chỉ trả tiền cho đúng thời gian function thực sự chạy.
Trong kiến trúc serverless, FaaS là lựa chọn phù hợp cho các tác vụ nhỏ, độc lập, có thể xử lý theo sự kiện và cần khả năng mở rộng linh hoạt theo nhu cầu.

Trong FaaS, đơn vị cơ bản không phải là một ứng dụng hay một server mà là từng function riêng lẻ. Mỗi function là một đoạn code nhỏ, độc lập, được thiết kế để chỉ thực hiện đúng một nhiệm vụ cụ thể như xác thực dữ liệu, gửi email hay xử lý ảnh. Điều này có nghĩa là bạn có thể viết, cập nhật hay thay thế từng function mà không ảnh hưởng đến phần còn lại của hệ thống.
FaaS thuộc kiến trúc serverless, nghĩa là toàn bộ hạ tầng bên dưới bao gồm phần cứng, hệ điều hành, môi trường runtime và bảo mật đều do cloud provider quản lý hoàn toàn. Lập trình viên không cần cấu hình, vá lỗi hay bảo trì bất kỳ máy chủ nào mà chỉ cần tập trung vào viết code cho từng function.

FaaS được thiết kế theo nguyên tắc phi trạng thái: mỗi lần một function được gọi là một phiên làm việc hoàn toàn độc lập, không mang theo bất kỳ thông tin nào từ lần thực thi trước đó. Nếu ứng dụng cần lưu trữ thông tin giữa các lần gọi, dữ liệu đó bắt buộc phải được lưu ra các dịch vụ bên ngoài như cơ sở dữ liệu, bộ nhớ đệm hay hệ thống lưu trữ đám mây.
FaaS sử dụng mô hình tính phí theo số lần function được gọi và thời gian thực thi thực tế, thường tính theo từng phần trăm giây. Đây là điểm khác biệt căn bản so với các mô hình cloud khác, nơi bạn trả tiền theo giờ hoặc theo tháng cho tài nguyên được cấp phát dù có dùng hay không.
Mỗi function trong FaaS chỉ tồn tại trong khoảng thời gian đủ để hoàn thành nhiệm vụ, sau đó môi trường thực thi bị hủy hoàn toàn. Không có khái niệm "server luôn bật chờ request" trong FaaS. Chính vì vậy, mọi tài nguyên cần duy trì lâu dài như kết nối cơ sở dữ liệu hay session người dùng đều phải được quản lý bên ngoài function.
FaaS vận hành theo mô hình event-driven, nghĩa là khi có sự kiện xảy ra, hệ thống tự động kích hoạt function tương ứng để xử lý, sau đó giải phóng tài nguyên ngay khi hoàn tất. Toàn bộ quá trình từ thực thi đến quản lý hạ tầng đều do cloud provider đảm nhiệm.
Quy trình bắt đầu khi hệ thống ghi nhận một sự kiện, chẳng hạn như HTTP request, file được upload lên storage, thay đổi trong database hoặc một message trong queue. Trigger sẽ nhận diện và ngay lập tức xác định function nào cần được thực thi. Lúc này, cloud provider tự động cấp phát môi trường runtime (có sẵn hoặc khởi tạo mới), nạp code và thực thi function để xử lý dữ liệu đầu vào.Tùy vào nhu cầu, việc thực thi có thể diễn ra theo kiểu đồng bộ hoặc bất đồng bộ.
Khi function hoàn thành, môi trường thực thi sẽ bị hủy ngay lập tức để giải phóng tài nguyên. Chi phí được tính dựa trên số lần gọi và thời gian thực thi thực tế, thường ở mức rất chi tiết theo từng phần nhỏ của giây. Song song đó, hệ thống liên tục tự động scale số lượng instance theo lưu lượng thực tế, đảm bảo xử lý linh hoạt mà không cần cấu hình trước.

FaaS mang lại nhiều lợi thế đáng kể cho cả đội ngũ phát triển lẫn vận hành, đặc biệt trong các hệ thống cloud hiện đại:

Bên cạnh những ưu điểm đó, FaaS cũng có một số hạn chế cần cân nhắc trước khi áp dụng:

FaaS đặc biệt phù hợp với các tác vụ có thể xử lý độc lập, chạy theo sự kiện hoặc cần mở rộng quy mô nhanh mà không muốn đầu tư vào hạ tầng cố định:

Nhiều tổ chức và doanh nghiệp lớn trên thế giới đã triển khai FaaS để xử lý các tác vụ rời rạc, có lưu lượng biến động, nơi việc duy trì hạ tầng cố định là không hiệu quả. Cụ thể:
FaaS, PaaS, IaaS và Container đều là các mô hình điện toán đám mây, nhưng khác nhau căn bản ở đơn vị triển khai, mức độ kiểm soát hạ tầng và cách tính phí:
Tiêu chí | FaaS | PaaS | IaaS | Container |
| Đơn vị cơ bản | Từng function nhỏ | Toàn bộ ứng dụng | Máy ảo (VM) | Container image |
| Thời gian khởi chạy | Mili giây | Vài phút | Vài phút đến hàng giờ | Vài phút |
| Quản lý hạ tầng | Không cần, provider lo toàn bộ | Không cần, provider lo toàn bộ | Tự quản lý OS, runtime, middleware | Tự quản lý container image, kết nối và OS |
| Khả năng mở rộng | Tức thì, tự động theo từng request, có thể scale về 0 | Tự động nhưng chậm hơn, cần cấu hình quy tắc | Tự động hoặc thủ công, cần cấu hình trước | Tự động nhưng cần cấu hình quy tắc |
| Lưu trữ trạng thái | Không, phải dùng dịch vụ bên ngoài | Có thể lưu state trong bộ nhớ giữa các lần gọi | Có thể lưu state trong bộ nhớ giữa các lần gọi | Có thể lưu state trong bộ nhớ giữa các lần gọi |
| Tính sẵn sàng cao (HA) | Có sẵn, không cần cấu hình thêm | Cần thêm chi phí và cấu hình | Có thể tự khởi động lại, cần cấu hình thêm | Có thể tự khởi động lại, cần cấu hình thêm |
| Tính phí | Theo từng 100ms thực thi | Theo thời gian tài nguyên đang chạy | Theo tài nguyên được cấp phát (giờ/tháng) | Theo tài nguyên được cấp phát |
| Giới hạn tài nguyên | Có giới hạn về kích thước code, bộ nhớ, thời gian chạy | Không có giới hạn cứng | Không có giới hạn cứng | Không có giới hạn cứng |
| Phù hợp nhất với | Tác vụ theo sự kiện, xử lý dữ liệu, workload không đều | Ứng dụng web, dịch vụ chạy liên tục | Ứng dụng cũ, hạ tầng tùy biến phức tạp | Ứng dụng cần môi trường nhất quán, microservices |
Tóm lại, với các ứng dụng có lưu lượng không đều, các tác vụ xử lý theo sự kiện hay các workload cần mở rộng nhanh, FaaS là một trong những mô hình cloud hiệu quả và tiết kiệm chi phí nhất hiện nay. Hy vọng qua bài viết này, bạn đã có câu trả lời rõ ràng cho câu hỏi FaaS là gì và biết khi nào nên dùng, khi nào nên kết hợp với container hay PaaS để đưa ra quyết định kiến trúc hạ tầng đúng đắn hơn cho từng dự án cụ thể.
Để hiện thực hóa mô hình FaaS và DevOps một cách hiệu quả nhất tại thị trường Việt Nam, VNPT Cloud là đối tác hạ tầng đáng tin cậy giúp bạn tối ưu hóa hiệu suất và chi phí. Với mạng lưới 8 Data Center chuẩn Tier III cùng đội ngũ 500+ kỹ sư chuyên môn cao luôn hỗ trợ 24/7, chúng tôi cam kết cung cấp nền tảng vững chắc nhất để hơn 10.000 doanh nghiệp hiện nay có thể tập trung hoàn toàn vào các giá trị cốt lõi của mình.

Liên hệ VNPT Cloud để được tư vấn dịch vụ phù hợp và nhận báo giá chi tiết theo nhu cầu thực tế của doanh nghiệp bạn.
