Chức năng như một dịch vụ (FaaS) đại diện cho một danh mục dịch vụ điện toán đám mây cung cấp nền tảng cho phép khách hàng phát triển, chạy và quản lý các chức năng ứng dụng mà không gặp phải sự phức tạp trong việc xây dựng và duy trì cơ sở hạ tầng thường liên quan đến việc phát triển và khởi chạy ứng dụng. Mẫu kiến trúc này thường được liên kết với điện toán không có máy chủ, nơi các nhà phát triển có thể tập trung vào việc viết mã ứng dụng của họ và nhà cung cấp đám mây quản lý môi trường thực thi.
Truy tìm lịch sử và nguồn gốc của chức năng như một dịch vụ (FaaS)
Sự ra đời của Chức năng như một Dịch vụ (FaaS) có mối liên hệ chặt chẽ với sự phát triển của điện toán đám mây. Sự ra đời của điện toán đám mây vào đầu những năm 2000 đã đưa Cơ sở hạ tầng dưới dạng dịch vụ (IaaS) và Nền tảng dưới dạng dịch vụ (PaaS) trở thành tâm điểm chú ý. Tuy nhiên, các nhà phát triển vẫn cần quản lý máy chủ ở cả hai mô hình, mặc dù ít hơn với PaaS.
Bước đột phá đến vào năm 2014 khi Amazon Web Services (AWS) giới thiệu AWS Lambda là nền tảng FaaS đầu tiên. Nó loại bỏ nhu cầu các nhà phát triển phải lo lắng hoàn toàn về máy chủ. Lambda cho phép các nhà phát triển chạy mã của họ để phản hồi các sự kiện như thay đổi dữ liệu trong bộ chứa Amazon S3 hoặc cập nhật trong bảng Amazon DynamoDB. Điều này đánh dấu một sự thay đổi mang tính cách mạng trong cách xây dựng và phân phối các ứng dụng.
Đi sâu hơn vào chức năng như một dịch vụ (FaaS)
FaaS là một phương pháp không có máy chủ để thực thi các đoạn mã mô-đun ở biên. Thay vì triển khai toàn bộ ứng dụng hoặc dịch vụ, nhà phát triển có thể thực thi các phần chức năng nhỏ để thực hiện một nhiệm vụ xác định. Các chức năng này là 'không trạng thái' vì chúng được thiết kế để tồn tại trong thời gian ngắn và thực thi trong môi trường không trạng thái. Nhà cung cấp đám mây tự động quản lý các tài nguyên họ cần để chạy và mở rộng quy mô.
Các chức năng được kích hoạt bởi các sự kiện như yêu cầu HTTP, hoạt động cơ sở dữ liệu, hàng đợi, lưu trữ, v.v. Nhà cung cấp thực thi chức năng và trả về kết quả sau khi hoàn thành thành công. Đặc điểm chính của FaaS là bạn chỉ trả tiền cho thời gian xử lý thực tế của chức năng chứ không phải cơ sở hạ tầng cơ bản.
Làm sáng tỏ cấu trúc bên trong và cơ chế hoạt động của FaaS
Trong mô hình FaaS, logic ứng dụng được chia thành các chức năng riêng biệt. Chúng được quản lý bởi một nền tảng cơ bản và thường không có trạng thái. Khi nhận được một sự kiện, nền tảng sẽ nhanh chóng sử dụng tài nguyên để chạy chức năng, xử lý sự kiện và sau đó tắt tài nguyên khi quá trình xử lý hoàn tất.
- Trình kích hoạt sự kiện: Một sự kiện như yêu cầu HTTP, tải tệp lên hoặc thao tác cơ sở dữ liệu sẽ kích hoạt chức năng này.
- Khởi tạo hàm: Nhà cung cấp đám mây chuẩn bị chức năng để thực thi. Điều này có thể liên quan đến việc khởi động một vùng chứa và tải mã chức năng vào đó.
- Chấp hành: Hàm được chạy với dữ liệu sự kiện được cung cấp.
- Phản ứng: Hàm xử lý dữ liệu sự kiện và trả về kết quả. Nó cũng có thể tương tác với các dịch vụ hoặc cơ sở dữ liệu khác như một phần của quá trình xử lý này.
- Tắt: Sau khi chức năng chạy xong, nhà cung cấp đám mây sẽ tắt các tài nguyên được sử dụng để chạy chức năng.
Các tính năng chính của Chức năng như một Dịch vụ (FaaS)
- Theo hướng sự kiện: Các hàm được thực thi để phản hồi lại các sự kiện hoặc trình kích hoạt.
- Không quốc tịch: Các hàm không giữ lại thông tin giữa các lần thực thi.
- Có thể mở rộng: Nhà cung cấp đám mây tự động quản lý việc mở rộng quy mô của chức năng.
- tồn tại trong thời gian ngắn: Các chức năng dự kiến sẽ khởi động nhanh, chạy trong thời gian ngắn rồi dừng.
- Trả mỗi lần sử dụng: Định giá dựa trên thời gian tính toán thực tế mà hàm này sử dụng.
Các loại chức năng khác nhau như một dịch vụ (FaaS)
Mặc dù khái niệm cơ bản về FaaS vẫn giữ nguyên nhưng các nhà cung cấp đám mây khác nhau cung cấp các sản phẩm FaaS hơi khác nhau. Một số trong những cái phổ biến nhất bao gồm:
Các nhà cung cấp | Sản phẩm FaaS |
---|---|
AWS | Lambda |
Đám mây của Google | Chức năng đám mây |
Microsoft Azure | Chức năng Azure |
IBM | Chức năng đám mây |
Lời tiên tri | Dự án Fn |
Cách sử dụng Chức năng như một Dịch vụ (FaaS), Vấn đề và Giải pháp
FaaS đặc biệt hữu ích cho các ứng dụng cần phản hồi thông tin theo thời gian thực hoặc các yêu cầu rời rạc. Ví dụ: nó có thể được sử dụng để xử lý tệp theo thời gian thực, chuyển đổi dữ liệu hoặc xử lý luồng sự kiện. Tuy nhiên, có những thách thức tiềm ẩn liên quan đến giới hạn thời gian thực hiện, quản lý trạng thái, kiểm thử và gỡ lỗi. Các giải pháp bao gồm thiết kế cẩn thận mã chức năng để tuân thủ giới hạn thời gian thực thi và sử dụng các dịch vụ đám mây bổ sung để quản lý trạng thái.
So sánh với các khái niệm tương tự
Ý tưởng | Sự miêu tả |
---|---|
FaaS | Nhà phát triển cung cấp mã chức năng. Nền tảng tự động xử lý tất cả các cơ sở hạ tầng. |
IaaS | Nhà phát triển quản lý ứng dụng, dữ liệu, thời gian chạy và phần mềm trung gian. Nhà cung cấp xử lý ảo hóa, máy chủ, lưu trữ và kết nối mạng. |
PaaS | Các nhà phát triển quản lý các ứng dụng và dữ liệu. Nhà cung cấp xử lý thời gian chạy, phần mềm trung gian, hệ điều hành, ảo hóa, máy chủ, lưu trữ và kết nối mạng. |
Quan điểm và công nghệ của tương lai liên quan đến FaaS
FaaS có thể sẽ tiếp tục phát triển với hệ sinh thái không có máy chủ rộng lớn hơn. Những tiến bộ trong điện toán biên có thể thấy FaaS trở nên phổ biến hơn ở biên mạng, gần hơn với các nguồn dữ liệu. Hơn nữa, chúng ta có thể thấy nhiều môi trường không có máy chủ kết hợp hơn trong đó FaaS được sử dụng kết hợp với các mô hình điện toán khác cho các phần khác nhau của ứng dụng.
Vai trò của Máy chủ proxy trong Chức năng như một Dịch vụ (FaaS)
Máy chủ proxy có thể đóng một vai trò trong FaaS bằng cách đóng vai trò trung gian cho các yêu cầu từ khách hàng đang tìm kiếm tài nguyên từ các máy chủ khác. Họ có thể cải thiện hiệu suất, cung cấp bảo mật và duy trì tính ẩn danh. Trong ngữ cảnh FaaS, máy chủ proxy có thể được sử dụng để xử lý các yêu cầu kích hoạt các chức năng, cung cấp khả năng kiểm soát, ghi nhật ký và sửa đổi bổ sung.