Iworld.com.vn – Serverless đã trở thành một mô hình điện toán đám mây phổ biến, nhưng chính xác thì nó là gì?
Thierry Ciot là một Kiến trúc sư Phần mềm về Hệ thống Quản lý Quy tắc Kinh doanh Corticon. Ciot có nhiều năm kinh nghiệm trong việc phát triển các sản phẩm từ các công cụ phát triển đến hệ thống giám sát sản xuất. Hiện ông đang tập trung vào việc đưa Quản lý Quy tắc Kinh doanh sang Javascript và đặc biệt là đưa vào thế giới không máy chủ, nơi Corticon sẽ tỏa sáng. Ông có hai bằng sáng chế trong lĩnh vực quản lý bộ nhớ.
Phát triển ứng dụng dựa trên serverless đã trở nên phổ biến trong vài năm gần đây. Trong bài viết này, chúng ta sẽ xem Serverless là gì và các thuộc tính cơ bản của nó đồng thời cung cấp các tài liệu tham khảo bổ sung trong quá trình tìm hiểu.
Khái niệm : Serverless là môi trường, nền tảng thực thi ứng dụng và dịch vụ mà không cần đến máy chủ
-> Tự động mở rộng quy mô các phiên bản hoặc các nguồn tài nguyên khác khi cần thiết để thực thi ứng dụng dựa trên phụ tải nền mà ứng dụng nhận được.
-> Duy trì các phiên bản này (từ phần cứng dùng để nâng cấp hệ điều hành và các thư viện phụ thuộc).
Serverless bắt đầu trở nên phổ biến trên Amazon khi AWS giới thiệu Lambda Function (code chạy trên AWS Lambda) vào năm 2014. Và cuối cùng, Microsoft và Google cũng sử dụng Azure Function (dịch vụ cho phép chạy các đoạn code có độ phức tạp của nghiệp vụ không cao) và Google Cloud Function ( một sản phẩm cho phép chạy code backend tự động trigger các event được kích hoạt bởi tính năng của Firebase (Google).
Lưu ý : Lambda Function, Azure Function và Google Cloud Function đều là các dịch vụ điện toán do AWS giới thiệu đến người dùng. Ngoài ra, AWS Lambda là đơn vị đầu tiên đi tiên phong trong lĩnh vực cloud không máy chủ vào năm 2014.
Trọng tâm ban đầu của các Cloud Provider là Serverless Function. Với Serverless Function, các nhà phát triển phải chịu trách nhiệm viết function code trong khi các Cloud Provider chịu trách nhiệm thực thi các chức năng theo yêu cầu, cũng như tăng và giảm số lượng các trường hợp mà các chức năng này thực thi.
Về chi phí, bạn chỉ phải trả khi các tính năng đang được thực hiện và tương ứng với thời gian nó thực thi (dung lượng bộ nhớ đã dùng/ tốc độ CPU). Khi không có chức năng nào đang thực thi, bạn không cần chi trả bất cứ một khoản phí nào.
Để hiểu rõ hơn, hãy lấy một ví dụ về chi phí bạn phải trả khi sử dụng AWS Lambda: với 1GB bộ nhớ, bạn phải trả $0,0000000167 cho mỗi mili giây thực thi. Nói một cách khác: với 1 triệu yêu cầu mỗi ngày ở tốc độ 20ms trong 30 ngày liên tục, bạn sẽ phải trả 10 đô la một tháng (số liệu tháng 7/2021)
Tuy nhiên, Serverless không giới hạn các chức năng. Những cải tiến gần đây từ các Cloud Provider khác nhau đã mở rộng khái niệm Serverless sang nhiều dịch vụ khác, bao gồm lưu trữ dữ liệu và quy trình làm việc.
Hiện tại với rất nhiều dịch vụ Serverless, việc xem xét tạo ra các ứng dụng chỉ dành cho Serverless (Serverless First) là hoàn toàn có thể. Chúng tôi sẽ nói về vấn đề này trong một bài viết khác.
Tất nhiên, Serverless không có nghĩa là không có máy chủ — thực sự có các phiên bản máy chủ đang chạy mã của bạn và sẵn sàng trả lời các yêu cầu đến. Thay vào đó, Serverless có nghĩa là nhóm phát triển không phải xử lý các máy chủ.
Mặc dù các ứng dụng vẫn cần được theo dõi lỗi và hiệu suất (thực tế, lỗi ứng dụng không thể tự biến mất), bạn không còn phải tìm hiểu xem liệu một phiên bản cụ thể có đang hoạt động tối đa hay không.
Đã qua rồi thời của việc lập kế hoạch năng lực và quản lý tài nguyên phức tạp. Bây giờ, chỉ trong một cú nhấp chuột, bạn có thể chạy các tính năng với 1GB bộ nhớ thay vì chỉ 256MB như trước và với CPU nhanh hơn gấp bốn lần mà không cần cấu hình phiên bản mới và cài đặt lại. Hơn nữa, bạn có thể điều chỉnh các chức năng riêng lẻ tùy theo nhu cầu của riêng họ.
Tất cả các thuộc tính Serverless đã cho phép các nhóm nhỏ cạnh tranh với các tổ chức lớn hơn, cho phép họ nhanh chóng xây dựng các ứng dụng có thể xử lý lượng lớn lưu lượng và các biến thể lớn về lưu lượng với chi phí rất thấp.
Serverless là một mô hình điện toán biến đổi đang trở nên rất phổ biến và bạn chắc chắn nên xem xét nó khi triển khai các ứng dụng dựa trên đám mây.
Trong các bài viết sau , chúng ta sẽ tìm hiểu về các chủ đề Serverless khác nhau như mô hình lập trình Serverless, xu hướng, ứng dụng tổng hợp và xử lý luồng.
Và nếu bạn đang muốn học cách xây dựng, kiểm tra và triển khai các quy tắc kinh doanh, thì Corticon là một công cụ tuyệt vời để viết logic kinh doanh cho môi trường Serverless.
Tài liệu tham khảo cho độc giả
Các content được tạo ra cho Bot hay con người?
Làm thế nào để tạo ra một content có nội dung lôi cuốn và hấp dẫn?
Biên dịch bởi Hằng Nga – Iworld.com.vn