LỰA CHỌN NÀO CHO SERVERLESS

Thật khó để đưa ra lựa chọn phù hợp khi có rất nhiều dịch vụ serverless có sẵn trên thị trường. Việc so sánh và quyết định lựa chọn hãng nào là cả một thách thức lớn, vì mỗi nền tảng serverless đều có các đặc điểm hoạt động riêng. Trong bài viết này, ba nhà cung cấp dịch vụ đám mây chính là Amazon Web Services, Google Cloud và Microsoft Azure sẽ được đưa ra thảo luận. Kết quả của việc so sánh được dựa trên bốn tiêu chí: chi phí, dễ dàng tích hợp, số lượng dịch vụ và các thông số áp dụng trong ngành.

Toàn cảnh

Dựa trên các tiêu chí ở trên thì không có nhiều nhà cung cấp serverless trên thị trường. Chúng tôi sẽ thảo luận về ba dịch vụ phổ biến nhất.

Cái đầu tiên và lâu đời nhất là AWS Lambda. Được phát hành vào năm 2014 với lợi thế là sản phẩm mang tính cách mạng đầu tiên dành cho người dùng đám mây. AWS Lambda có thể tích hợp với nhiều dịch vụ AWS. Rất nhiều công ty thích sử dụng dịch vụ AWS serverless để tập trung tất cả cơ sở hạ tầng của họ ở một nơi. Và Amazon Web Services kiểm soát khoảng 40% thị trường đám mây dễ dàng thỏa mãn được nhu cầu này.

Tiếp theo, chúng ta sẽ xem xét Google Cloud Functions. Google Cloud Functions chạy trên Google Cloud Platform (GCP). Được phát hành vào năm 2018, sau một thời gian dài ở giai đoạn thử nghiệm. Tương tự như AWS, một số tích hợp có sẵn cho Google Cloud Functions để kích hoạt, từ các HTTP call đơn giản đến phức tạp trên Cloud Scheduler và Cloud Tasks.

Microsoft Azure Functions là dịch vụ serverless cuối cùng mà chúng tôi đề cập tới. Nó xuất hiện vào năm 2017, sớm hơn một năm so với Google Cloud Functions. Microsoft Azure Functions cũng đã ở trong giai đoạn thử nghiệm trong một thời gian dài. Và rõ ràng là Microsoft đã tăng cường tích hợp giữa Azure Functions và phần còn lại của nền tảng Microsoft Azure trong giai đoạn beta đó. Microsoft cung cấp các ghi chú và tài liệu dễ dàng mở rộng. Và tùy thuộc vào phiên bản bạn đang chạy, sẽ cho phép nhiều dịch vụ khác nhau kích hoạt, nhập lên và xuất ra dữ liệu.

So sánh giữa Microsoft và Google

Sau đây chúng ta sẽ so sánh Microsoft Azure Functions với Google Cloud Functions. Cả hai nhà cung cấp đám mây đều cung cấp các chức năng mở rộng quy mô để đáp ứng nhu cầu dung lượng cho serverless của bạn. Chúng ta cần xem xét một số chi tiết cụ thể như: thời gian thực thi chức năng, tính dễ dàng thiết lập / tích hợp và giá cả.

Đối với hầu hết các dịch vụ đám mây công cộng, thời gian thực thi dựa trên cơ sở hạ tầng có thể so sánh được. Ví dụ: cold start time ở Microsoft Azure Functions và Google Cloud Functions là tương tự nhau, lượng chi phí tương đương và khoảng cách chỉ ngày càng nhỏ hơn kể từ năm 2017. Google Cloud Functions có lợi thế hơn Microsoft Azure Functions là dễ dàng thiết lập. Trong khi Microsoft Azure Functions có tính linh hoạt cao trong việc cấu hình các mục mới. Thì giao diện người dùng của Google cho thấy nguồn gốc của nó là dựa trên nền tảng web, với giao diện người dùng trực quan và các tùy chọn dễ hiểu.

Việc thanh toán trên Microsoft và Google thì tương tự nhau, đều áp dụng theo quan điểm định giá. Và cả hai nhà cung cấp đám mây đều cung cấp free tier, để có thể dễ dàng đáp ứng nhu cầu của các nhà phát triển cá nhân. Cả Microsoft và Google đều lập hóa đơn khoảng 0,000016 USD mỗi GB-giây và GHz-giây với thanh toán dựa trên mức sử dụng. Vì vậy, cuối cùng sự lựa chọn nền tảng sẽ phụ thuộc vào mức độ mà bạn sử dụng các dịch vụ liên quan. Mỗi nhà cung cấp dịch vụ đám mây cung cấp một số tích hợp dịch vụ tương tự. Vì vậy trừ khi bạn định triển khai phương pháp tiếp cận đa đám mây. Còn lại sẽ tùy thuộc vào cơ sở hạ tầng hiện tại của bạn để đưa ra lựa chọn phù hợp.

So sánh giữa Microsoft và AWS

Trong phần này, chúng ta sẽ so sánh Microsoft Azure Functions với AWS Lambda. Tương tự như AWS Lambda, Microsoft Azure Functions cung cấp nhiều loại run-times và cấu hình máy khác nhau để xác định tài nguyên dành riêng cho ứng dụng của bạn. Về cơ sở hoạt động, rất khó để phân biệt hai dịch vụ có cấu trúc chi phí tương tự nhau (cả hai dịch vụ đều nhắm mục tiêu $ 0,000016- $ 0,000017 mỗi GB-giây). Trong giao diện người dùng, Microsoft cũng có một chút lợi thế. Như tệp cấu hình linh hoạt, giúp kiểm soát tốt hơn container đang chạy so với kết quả nhận được trên một hàm Lambda tương tự trên AWS.

Tuy nhiên, AWS Lambda có một số lợi ích mà Microsoft Azure không thể sánh kịp. Lợi ích của nền tảng được thể hiện rõ ràng, trong khi thời gian thực thi chức năng và độ trễ cold-start gần như tương đương. Các công cụ như AWS SAM cũng cung cấp một lớp quản lý cấu hình và độ phức tạp giúp giảm bớt đáng kể thách thức khi làm việc với một ứng dụng serverless mà không phải trả thêm phí. Tiến bộ mà AWS đạt được trong lĩnh vực này hầu như đã thu hẹp khoảng cách. Trong khi Microsoft được cho là đã làm tốt hơn trong việc ra mắt các chức năng như một phần của một ứng dụng lớn hơn.

So sánh giữa Google và AWS

Chúng ta sẽ kết thúc việc so sánh với so sánh giữa Google Cloud Functions và AWS Lambda. Như đã đề cập ở trên, không có nhiều sự khác biệt lớn giữa ba nhà cung cấp đám mây này. Chúng gần như ngang bằng nhau trong môi trường thực thi, tích hợp dịch vụ và thậm chí chi phí. Nói như vậy, sự khác biệt thực sự ẩn chứa trong các đặc điểm thứ cấp. Một số người có thể nói rằng luồng cấu hình của Google thân thiện với người dùng hơn AWS. Nhưng liệu cách tiếp cận thân thiện với người dùng này có giúp người sử dụng nền tảng theo cách tốt nhất.

Cách tiếp cận của Google Cloud Functions làm cho bạn dành phần lớn thời gian của mình ở giao diện người dùng. Trong khi AWS Lambda thúc đẩy tự động hóa với các công cụ như CloudFormation để cung cấp các tùy chọn tiếp cận phương pháp infrastructure-as-code. Giúp cải thiện rõ ràng quyền và khả năng bảo trì của kiến trúc ứng dụng.

Sự hỗ trợ của bên thứ ba là điểm khác biệt cuối cùng trong so sánh này. Chỉ vì quy mô của hệ sinh thái mà AWS có, sự đa dạng của các công cụ của bên thứ ba có sẵn trong hệ sinh thái AWS đơn giản là lớn hơn so với Google Cloud. Bạn sẽ bị giới hạn trong các công cụ có sẵn nếu không có các công cụ của bên thứ ba. Các bên thứ ba như Thundra (hiện chỉ hoạt động trên AWS) thêm một lớp bổ sung lên trên các giao diện dành riêng cho nhà cung cấp này, lấp đầy các lỗ hổng trong luồng thông tin mà nếu không, các pipeline tùy chỉnh sẽ yêu cầu sửa chữa.

AWS

Sau khi được kiểm tra, hầu như tất cả các hãng dịch vụ đám mây serverless đều có tính năng tương tự và một số hạn chế khác nhau. Một trong những yếu tố quan trọng nhất đối với người dùng là chi phí. Nhưng khi chúng tôi so sánh từ góc độ này thì không có nhiều sự khác biệt lớn. Ngoài ra, số liệu thống kê thực thi cũng gần nhau giữa ba nhà cung cấp chức năng serverless. Do đó, đối với hầu hết các ứng dụng serverless, việc chọn nhà cung cấp “phù hợp” chỉ đơn giản dựa trên nền tảng dịch vụ cơ sở hạ tầng. Nếu các ứng dụng của bạn đang chạy trên Google Cloud, thì bạn nên xem Google Cloud Functions như một lựa chọn tiềm năng đầu tiên khi xây dựng chức năng serverless  của bạn.

Nhưng nếu bạn có thể linh hoạt lựa chọn bất kể nhà cung cấp nào thì bạn nên xét đến các dịch vụ kèm theo từ bên thứ 3 của các nhà cung cấp đám mây. Chúng tôi đề xuất AWS Lambda làm nhà cung cấp chức năng serverless của bạn trong những trường hợp như vậy. Sự đầy đủ của AWS Lambda và hệ sinh thái bao quanh AWS mang lại lợi thế đáng chú ý cho các chủ doanh nghiệp và nhà phát triển phần mềm. Về khả năng sử dụng, hệ sinh thái này khác biệt rất nhiều khi so sánh với Microsoft và Google.

Bạn có thể dễ dàng nâng cao khả năng giám sát, gỡ lỗi và xử lý sự cố của các ứng dụng của mình bằng cách tận dụng hệ sinh thái của bên thứ ba nếu bạn sử dụng AWS. Cùng với thị phần đáng kể và sự dễ dàng tích hợp với các dịch vụ như Route 53, API Gateway và S3. AWS rõ ràng là người chiến thắng trong mảng hệ sinh thái của bên thứ ba và nó có thể giúp đưa ứng dụng của bạn lên một tầm cao mới.

Hãy liên hệ Renova Cloud ngay để được tư vấn các giải pháp cho doanh nghiệp của bạn.