Faas (Dịch vụ thuê bao chức năng)

Tìm hiểu về những lợi ích độc đáo và những thách thức của mô hình dịch vụ điện toán đám mây này và đánh giá khả năng phù hợp của Faas với nhiều phương pháp phát triển và triển khai ứng dụng.

Tổng quan về FaaS:

  • FaaS là một loại hình dịch vụ điện toán đám mây trong đó nhà cung cấp dịch vụ đám mây (CSP) sở hữu và quản lý tất cả các khía cạnh của môi trường điện toán, bao gồm cơ sở hạ tầng phần cứng, trình trung gian, hệ điều hành và thậm chí cả các ứng dụng.

  • FaaS có thể là một lựa chọn kinh tế cho những mô hình sử dụng gián đoạn hoặc không thể dự đoán được với đặc trưng là những đợt bùng nổ hoạt động ngắn, vì người dùng chỉ trả cho việc thực hiện hoặc thời gian xử lý cần thiết để làm công việc hữu ích.

  • Các ứng dụng phổ biến của FaaS bao gồm xử lý, xác thực và phân loại dữ liệu, cũng như hỗ trợ back-end cho các ứng dụng di động và IoT.

FaaS là gì?

Nhiều loại hình điện toán đám mây khác nhau đã trở nên phổ biến trong những năm gần đây khi các công ty CNTT hàng đầu hiểu được sự tiện lợi, khả năng mở rộng cũng như ưu thế về chi phí của phương pháp linh hoạt này trong cách quản lý cơ sở hạ tầng.

Các nhà cung cấp dịch vụ đám mây (CSP) đã đáp ứng bằng nhiều mô hình dịch vụ đám mây khác nhau, mỗi mô hình lại có mức độ dịch vụ của riêng mình. Một trong những dịch vụ toàn diện nhất là Dịch vụ thuê bao chức năng (FaaS).

Trong mô hình FaaS, khách hàng thực thi mã trên đám mây, trong khi đó CSP lưu trữ và quản lý vận hành toàn bộ back-end, từ cơ sở hạ tầng cho đến ứng dụng. Khách hàng chỉ có trách nhiệm với dữ liệu của chính họ và các chức năng mà họ thực hiện.

Thông thường, khách hàng FaaS chỉ phải trả tiền cho thời gian chạy thực tế cần thiết để thực thi "chức năng" trong mô hình Dịch vụ thuê bao chức năng. Việc thực thi có thể chỉ mất một phần của một giây và hệ thống FaaS có thể nhanh chóng mở rộng quy mô để đáp ứng nhiều phiên bản cùng một lúc. Khách hàng không phải chịu chi phí liên tục cho khoảng thời gian nhàn rỗi khi thực thi một chức năng này và chức năng tiếp theo.

Cách tính giá theo sự kiện giúp cho mô hình dịch vụ đám mây này trở thành một lựa chọn kinh tế cho các nhà phát triển với nhu cầu xử lý gián đoạn hoặc rời rạc.

Các ứng dụng phổ biến của FaaS bao gồm xử lý, xác thực và phân loại dữ liệu, cũng như hỗ trợ back-end cho các ứng dụng di động và IoT.

"Điện toán phi máy chủ" chạy trên máy chủ

FaaS được coi là mô hình "phi máy chủ" từ góc nhìn của khách hàng vì CSP quản lý cơ sở hạ tầng đám mây, nền tảng, hệ điều hành và các ứng dụng phần mềm - tất cả có thể không rõ ràng với người dùng.

Tuy nhiên, "Điện toán phi máy chủ" là cách gọi chưa đúng. Mặc dù người dùng FaaS không quản lý hoặc thậm chí không thấy được phần cứng, nhưng mô hình FaaS vẫn chạy trên máy chủ. Phần cứng do CSP sở hữu, vận hành và quản lý, nhờ đó khách hàng có thể tận dụng tối đa chức năng theo yêu cầu mà không cần phải mua hay duy trì máy chủ của mình.

Từ "dịch vụ", chữ "S" viết hoa trong từ "FaaS", chính là dịch vụ kinh doanh, giống như trong nhà cung cấp "dịch vụ" đám mây. Dịch vụ ở đây chính là đơn vị tiêu thụ. Bạn không trả tiền cho máy chủ mà trả tiền cho thứ mà nó lưu trữ".1

Các công nghệ Intel® dành cho FaaS

Với các sản phẩm FaaS của hầu hết các CSP, các thành phần nền tảng không được xác định chi tiết. Người dùng thường không thể yêu cầu một công nghệ phần cứng cụ thể cho máy ảo của họ. Các tính năng nhất định của phần cứng Intel®, chẳng hạn như bộ gia tốc Intel® AVX-512AVX2, giúp tối ưu hóa hiệu năng và tăng độ hài lòng của người dùng. Vì lý do đó, một số CSP thích chạy các dịch vụ FaaS của họ trên các nền tảng trang bị công nghệ Intel®.

Mặc dù các nhà phát triển phần mềm không thể chỉ định các máy ảo trang bị công nghệ Intel trong một môi trường FaaS, nhưng họ có thể yêu cầu CSP cấp quyền truy cập các thư viện mã được Intel tối ưu hóa. Một số thư viện này có sẵn trong bộ công cụ Intel® oneAPI và có chứa mã tăng cường hiệu năng để tăng tốc các quy trình toán học phức tạp, nén, mã hóa và các tác vụ cần nhiều điện toán khác. Những giải pháp tối ưu hóa như vậy có thể giúp người dùng tiết kiệm thời gian chạy và tiền bạc khi triển khai FaaS.

Vi dịch vụ là gì?

Vi dịch vụ là một phần của cấu trúc ứng dụng, trong đó một phần của mã ứng dụng vận hành tương đối độc lập với các chức năng khác. Khi phát triển các ứng dụng phức tạp, cách tiếp cận vi dịch vụ sẽ tách biệt các chức năng khác nhau với nhau, nhờ đó toàn bộ ứng dụng có thể tiếp tục vận hành ngay cả khi một dịch vụ bị lỗi.

Có thể tạo được môi trường phát triển phần mềm dựa trên vi dịch vụ trong bối cảnh cấu trúc hướng dịch vụ. Các ứng dụng phức tạp được xây dựng và duy trì như một tập hợp các dịch vụ rời được tích hợp lỏng lẻo với nhau thông qua giao diện lập trình ứng dụng (API). Dễ dàng duy trì và nâng cấp các ứng dụng phần mềm hướng dịch vụ và các vi dịch vụ thành phần của chúng vì có thể vá hoặc nâng cấp các dịch vụ riêng lẻ mà không cần phải dừng toàn bộ ứng dụng.

Nhiều mô-đun vi dịch vụ có thể được phát triển và thực hiện hiệu quả trong môi trường FaaS. Trong nhiều trường hợp, các vi dịch vụ được đóng gói hoặc cô lập thêm, để cải thiện khả năng kiểm soát từng phần riêng lẻ của ứng dụng lớn hơn.

Dịch vụ thuê bao chức năng hoạt động như thế nào?

Theo quan điểm của người dùng, Dịch vụ thuê bao chức năng là một môi trường dựng sẵn để phát triển hoặc triển khai phần mềm. CSP sở hữu và quản lý toàn bộ ngăn xếp công nghệ, bao gồm phần cứng, trình trung gian và phần mềm.

Trong các mô hình dịch vụ đám mây khác, người dùng trả tiền để được truy cập liên tục đến các máy ảo hoặc bộ chứa nhất định và cho những tài nguyên mà họ tiêu thụ, trong một khoảng thời gian xác định. Trong mô hình FaaS, khách hàng chỉ trả tiền cho thời gian và tài nguyên cần thiết để tạo ra một chức năng.

Ví dụ, trong cấu trúc định giá của một CSP, thời gian triển khai một chức năng và tài nguyên của nó được đo bằng "gigabyte giây", làm tròn đến mili giây gần nhất.2

Lợi thế của FaaS

Người dùng FaaS được hưởng lợi từ mô hình định giá "sử dụng bao nhiêu trả bấy nhiêu", điểm khác biệt của loại hình điện toán đám mây này so với các mô hình "dịch vụ thuê bao" khác. CSP sở hữu và quản lý toàn bộ ngăn xếp công nghệ, từ phần cứng cho đến phần mềm ứng dụng và công cụ, người dùng chỉ quản lý dữ liệu và chức năng của họ.

Người dùng chỉ trả tiền cho thời gian mà các chức năng hoặc dịch vụ chạy trong môi trường FaaS. Những đợt bùng nổ hoạt động này thường được đo bằng mili giây. Người dùng không trả tiền cho thời gian nhàn rỗi giữa những đợt bùng nổ này.

FaaS phù hợp nhất với những khối lượng công việc không thể dự đoán và không liên tục.

Những khó khăn của FaaS

Đối với những khối lượng kéo dài không gián đoạn, một mô hình "Dịch vụ thuê bao" khác có thể kinh tế hơn so với FaaS. Vì việc sử dụng FaaS thường được đo và trả theo mili giây, và FaaS đắt hơn nhiều so với một dịch vụ đám mây IaaS thông thường, nên việc sử dụng liên tục có thể trở nên rất tốn kém.

Việc triển khai FaaS cũng khó gỡ lỗi vì các hợp phần của môi trường phát triển không rõ ràng với người dùng. Khi cần thiết kiểm tra rộng rãi, nên sử dụng một mô hình điện toán đám mây khác, để người dùng có thể chỉ định và kiểm soát nhiều hệ sinh thái tiêu chuẩn khác nhau. Tuy nhiên, nếu công nghệ phần mềm đã phát triển và hoàn toàn độc lập với nền tảng, FaaS có thể rất phù hợp.

Các trường hợp sử dụng FaaS

Chức năng theo yêu cầu là mô hình sử dụng tổng thể hoàn toàn phù hợp với môi trường FaaS. Trong thiết lập theo yêu cầu, các tính năng được tăng và giảm công suất một cách nhanh chóng và không liên tục. Người dùng FaaS chỉ trả tiền cho khoảng thời gian khi mà tính năng đang hoạt động, do đó mô hình theo yêu cầu là một cách sử dụng FaaS tiết kiệm chi phí.

Các trang web tương tác là một ví dụ cho mô hình sử dụng theo yêu cầu, đặc biệt là khi thực thi back-end. FaaS chỉ được kích hoạt khi người dùng cuối nhấp chuột trên trang web và kích hoạt sự kiện ngắn. Các nhà xuất bản truyền thông trực tuyến và các trang thương mại điện tử tận dụng mô hình FaaS vì độ linh hoạt của nó, vì người dùng truy cập trang của họ theo lịch trình không thể dự đoán. Ví dụ, một công ty cung cấp phương tiện truyền phát có thể quản lý trang web chính của mình, với menu người dùng và các đề xuất, theo kế hoạch FaaS của CSP.

Các tác vụ xử lý và xác thực dữ liệu có thể điều chỉnh phù hợp theo mô hình FaaS. Một trường hợp sử dụng khác là cài đặt Internet of Things (IoT) nhằm gửi dữ liệu cảm biến đến đám mây không liên tục để phân tích.

Phát triển phần mềm cũng có thể triển khai trong thiết lập FaaS, miễn là khối lượng công việc phát triển không liên tục.

Triển khai phần mềm cũng phù hợp với mô hình FaaS để cung cấp các vi dịch vụ. Các nhà cung cấp Dịch vụ thuê bao phần mềm (SaaS) cũng có thể hoạt động trên cơ sở FaaS trong giai đoạn bắt đầu khi họ thêm người dùng mới và phần mềm được sử dụng một cách không thường xuyên, gián đoạn.

Các loại hình Điện toán đám mây

Các dịch vụ điện toán đám mây có thể chia thành hai nhóm cơ bản: công cộng và riêng tư. Nhiều tổ chức triển khai kết hợp hai mô hình dịch vụ đám mây, theo cấu hình lai hoặc đa đám mây.

Đám mây công cộng

Trong mô hình dịch vụ đám mây công cộng, người dùng trả tiền khi sử dụng tài nguyên điện toán, lưu trữ và mạng của CSP. Các dịch vụ dám mây công cộng có sẵn theo yêu cầu, do đó có thể nhanh chóng triển khai và tính vào chi phí vận hành với một khoản tiền nhỏ đầu tư trước.

Đám mây Riêng

Ngược lại, đám mây riêng chạy trên trung tâm dữ liệu của chính tổ chức đó, đòi hỏi khoản đầu tư lớn về phần cứng cũng như quản lý liên tục. Về lâu dài, đám mây riêng có thể kinh tế hơn so với mô hình dịch vụ đám mây công cộng trong một số trường hợp.

Những lợi ích của đám mây riêng bao gồm kiểm soát cục bộ tài sản trí tuệ và tuân thủ quy định, cũng như hỗ trợ các khối lượng công việc và các ứng dụng quan trọng trong kinh doanh mà không thể dễ dàng di chuyển sang đám mây công cộng.

Đám mây lai

Với đám mây lai, các tổ chức nhận được lợi ích từ cả hai mô hình dịch vụ đám mây công và riêng tư. Đám mây lai kết nối các đám mây công cộng và riêng tư, nhờ đó tổ chức có thể chia sẻ các ứng dụng và dữ liệu giữa hai môi trường. Đám mây lai đem lại sự linh hoạt, khả năng mở rộng, kiểm soát và có thể tiết kiệm chi phí.

Đa mây

Trong mô hình đa đám mây, tổ chức có thể tận dụng các dịch vụ điện toán đám mây từ nhiều CSP khác nhau. Việc triển khai tài nguyên thường được quản lý trong phần mềm. Chiến lược đa đám mây rất linh hoạt vì tổ chức có thể cân bằng khối lượng công việc và tối ưu chi phí mà không bị cản trở bởi ngăn xếp công nghệ hay dịch vụ của riêng một CSP.

Nhiều tổ chức yêu cầu các phiên bản trang bị công nghệ Intel® tại mỗi CSP khi triển khai đa đám mây để đảm bảo tính nhất quán và tương thích giữa các nhà cung cấp.

IaaS, PaaS và SaaS

Nhiều CSP cung cấp nhiều lựa chọn "dịch vụ thuê bao" điện toán đám mây, từ quyền truy cập đến phần cứng máy chủ cho đến các lựa chọn toàn diện, đầy đủ như FaaS.

Dịch vụ thuê bao hạ tầng mạng (IaaS)

Dịch vụ điện toán đám mây cơ bản, quen thuộc nhất là Dịch vụ thuê bao hạ tầng mạng (IaaS). Trong mô hình IaaS, CSP sở hữu và quản lý tất cả các phần cứng, bao gồm máy chủ, nối mạng và lưu trữ. Người dùng chịu trách nhiệm với ngăn xếp phần mềm, bao gồm các gói đăng ký, giấy phép, nâng cấp và bảo trì tất cả hệ điều hành và ứng dụng cũng như dữ liệu và chức năng của tổ chức.

Người quản lý CNTT thích chọn IaaS thay vì phải mua sắm và duy trì phần cứng tại chỗ hoặc đặt chung chỗ, với chi phí vốn đi kèm. IaaS là mô hình linh hoạt, có thể mở rộng quy mô theo nhu cầu người dùng, và các khoản phí của CSP được coi là chi phí vận hành trong ngân sách của tổ chức.

Dịch vụ thuê bao nền tảng hệ thống (PaaS)

Dịch vụ thuê bao nền tảng hệ thống (PaaS) là mô hình dịch vụ đám mây cung cấp một môi trường phát triển và triển khai hoàn chỉnh hơn. Sản phẩm PaaS của một CSP thường bao gồm tất cả cơ sở hạ tầng phần cứng của IaaS cộng với các khối xây dựng để tạo nên nền tảng phần mềm: hệ điều hành, trình trung gian, các công cụ phát triển và một số loại hình dịch vụ quản lý và phân tích dữ liệu.

Người dùng PaaS tiếp tục quản lý lớp ứng dụng trong ngăn xếp phần mềm, cũng như dữ liệu và chức năng của chính họ, giống như trong một môi trường IaaS.

Dịch vụ thuê bao phần mềm (SaaS)

SaaS, Dịch vụ thuê bao phần mềm, có lẽ là mô hình dịch vụ điện toán đám mây phổ biến nhất. Những ví dụ triển khai SaaS có ở hầu hết mọi tổ chức, bao gồm những tổ chức từ chối sử dụng IaaS vì muốn sở hữu và quản lý cơ sở hạ tầng máy chủ tại chỗ mạng mẽ.

Một số ứng dụng, ví dụ như email, CRM, bộ công cụ văn phòng và lưu trữ tệp tin, được cung cấp hiệu quả trong mô hình SaaS. Tổ chức trả phí cấp phép cho một khoảng thời gian nhất định và các ứng dụng được đưa lên đám mây. Người dùng và đội CNTT tránh các bản tải xuống và cài đặt mất nhiều thời gian, và họ không cần quản lý các bản cập nhật.

Những câu hỏi thường gặp

Những câu hỏi thường gặp

Không, FaaS không phải là vi dịch vụ, nhưng hai loại hình dịch vụ điện toán đám mây này có liên quan đến nhau. Vi dịch vụ là các phần theo mô-đun của các ứng dụng phức tạp hơn mà có thể phát triển hoặc triển khai trong môi trường FaaS.

FaaS là một loại hình dịch vụ điện toán đám mây trong đó nhà cung cấp dịch vụ đám mây (CSP) sở hữu và quản lý tất cả các khía cạnh của môi trường điện toán, bao gồm cơ sở hạ tầng phần cứng, trình trung gian, hệ điều hành và thậm chí cả các ứng dụng.

Một mặt, cả PaaS và FaaS đều có quyền truy cập đến cơ sở hạ tầng phần cứng cộng với nền tảng phần mềm cơ sở, bao gồm hệ điều hành, trình trung gian và một số công cụ và dịch vụ.

Người dùng PaaS tiếp tục quản lý lớp ứng dụng của ngăn xếp phần mềm, trong khi người dùng FaaS chỉ chịu trách nhiệm với dữ liệu và chức năng của họ.

Có, mô hình FaaS được coi là phi máy chủ vì CSP quản lý toàn bộ ngăn xếp phần cứng và phần mềm. Thực ra, FaaS có vận hành trên máy chủ, nhưng phần cứng do CSP sở hữu và quản lý, do đó từ góc độ của người dùng, đây là trải nghiệm điện toán phi máy chủ.