Hiện nay, các giải pháp serverless ngày càng trở nên phổ biến. Đây là công nghệ mà lập trình viên chỉ cần thực hiện quá trình viết code mà không cần lo lắng đến việc thiết lập server hay chạy các đoạn code đã viết. Đây được coi là lời giải cho bài toán chi phó cũng như giải pháp cho quá trình vận hành, khi lập trình viên chỉ cần tập trung vào việc hoàn thành các đoạn code. Một trong các nhà cung cấp giải pháp serverless hàng đầu hiện nay phải kể đến AWS với AWS Lambda.

AWS Lambda là gì?

Đây là dịch vụ cho phép người dùng tải lên các đoạn code và AWS Lambda sẽ chịu trách nhiệm cho tất cả các công việc còn lại như: chạy, hoặc mở rộng mã theo nhu cầu của bạn. AWS Lambda cũng cho phép bạn thiết lập để mã của bạn tự động kích hoạt từ các dịch vụ AWS khác.

Và bạn chỉ phải trả phí khi những đoạn code của bạn chạy trên nền tảng bất kỳ. 

Cách hoạt động của AWS Lambda

Bạn có thể sử dụng AWS Lambda để chạy code với các trình kích hoạt như thay đổi dữ liệu, thay đổi trạng thái hệ thống hoặc hành động của người dùng. Lambda có thể được kích hoạt trực tiếp bởi các dịch vụ AWS như S3, DynamoDB, Kinesis, SNS và CloudWatch, có thể kết nối với hệ thống tệp EFS hiện có hoặc nó có thể được tích hợp vào hệ thống thông qua AWS Step Functions. Điều này cho phép bạn xây dựng nhiều hệ thống xử lý dữ liệu serverless thời gian thực.

Bạn có thể sử dụng Amazon S3 để kích hoạt AWS Lambda nhằm xử lý dữ liệu ngay sau khi tải lên. Bạn cũng có thể kết nối trực tiếp với hệ thống tệp Amazon EFS hiện có, cho phép truy cập chia sẻ song song để xử lý tệp quy mô lớn. Ví dụ: bạn có thể sử dụng Lambda để thu nhỏ hình ảnh, chuyển mã video, lập chỉ mục tệp, nhật ký xử lý, xác thực nội dung cũng như tổng hợp và lọc dữ liệu trong thời gian thực.

Tại sao doanh nghiệp cần sử dụng AWS Lambda? 

Là một dịch vụ serverless, AWS Lambda là lời giải cho bài toán vận hành khi có độ linh hoạt cao hơn và tổng chi phí sở hữu thấp hơn. 

Lambda chạy các đoạn code trên nền tảng điện toán có tính khả dụng cao và chịu trách nhiệm xử lý toàn bộ công tác quản trị tài nguyên điện toán của bạn, trong đó có bảo trì máy chủ và hệ điều hành, dự phòng dung lượng và Auto Scaling, triển khai các bản vá bảo mật và vận hành các đoạn code, cũng như theo dõi và ghi nhật ký mã. Tất cả những gì bạn cần làm chỉ là cung cấp các đoạn code. 

Sử dụng ứng dụng serverless này của AWS đồng nghĩa với việc các nhà phát triển có thể tập trung vào việc phát triển sản phẩm của mình thay vì phải lo lắng về việc quản lý và vận hành nhiều máy chủ hoặc thời gian chạy các đoạn code. Tổng chi phí được cắt giảm này sẽ cho phép các nhà phát triển tiết kiệm thời gian và nguồn vốn để có thể tập trung nhiều hơn vào việc xây dựng các sản phẩm có quy mô linh hoạt và ổn định.

Ví dụ áp dụng của AWS Lambda

  • The Coca-Cola Company, tập đoàn đồ uống đa quốc gia của Mỹ đã sử dụng AWS Lambda và AWS Step Functions để xây dựng một giải pháp serverless nhằm cung cấp thông tin dinh dưỡng cho các đối tác dịch vụ thực phẩm của họ.
  • FINRA đảm nhiệm việc giám sát các đơn vị môi giới – giao dịch chứng khoán tại Hoa Kỳ. Finra thực hiện việc phân tích đến 75 tỷ giao dịch hàng ngày trên thị trường để xác định các giao dịch lừa đảo và nội gián. AWS Lambda giúp FINRA tăng hiệu suất trong việc phân tích dữ liệu.
  • iRobot, công ty robot tiêu dùng hàng đầu thế giới, sử dụng AWS Lambda và AWS IoT để chạy ứng dụng web kết nối đến máy hút bụi Roomba sử dụng kết nối WiFi.
  • Autodesk – một công ty đa quốc gia của Hoa Kỳ với sản phẩm chính là phần mềm thiết kế 2D, 3D dành cho kiến trúc, kỹ thuật xây dựng, truyền thông và giải trí sử dụng AWS Lambda để tự động hóa các hoạt động CNTT, tiết kiệm thời gian và chi phí cần thiết cho việc quản lý cơ sở hạ tầng.

Hạn chế của AWS Lambda

Cũng giống như các nền ứng dụng khác của serverless, AWS Lambda có một số nhược điểm đáng lưu ý như:

  • Phụ thuộc vào nhà cung cấp: Bạn sẽ phụ thuộc hoàn toàn vào nhà cung cấp trong vấn đề chạy code, hoặc nền tảng của bạn sẽ không chạy được như mong muốn.
  • Thời gian nghiên cứu: Bạn sẽ phải mất thời gian học cách sử dụng và cũng như cách quản lý tài nguyên của mình
  • Các vấn đề xử lý lỗi: Khi sử dụng nền tảng serverless, công việc giám sát và gỡ lỗi nếu có, cũng là một công việc khá khó khăn.

Chi phí của AWS

Như đã đề cập, đây là ứng dụng mà bạn chỉ phải trả phí khi những đoạn code của bạn được chạy. Với AWS Lambda, bạn chỉ phải trả tiền cho những gì bạn sử dụng. Phí bạn phải trả được tính dựa theo số lần yêu cầu các hàm và thời lượng, thời gian xử lý code của bạn.

AWS Lambda sẽ cho bạn 1 triệu yêu cầu miễn phí mỗi tháng và 400.000 GB-giây thời gian điện toán mỗi tháng.

AWS Lambda hiện có ưu đãi Compute Savings Plans – mô hình tiết kiệm chi phí đối với mức sử dụng EC2, Fargate và Lambda (tính theo USD/giờ) trong thời hạn 1 hoặc 3 năm. Với Compute Savings Plans, bạn có thể tiết kiệm tới 17% cho AWS Lambda. 

Chi tiết tham khảo tại: //aws.amazon.com/vi/savingsplans/pricing/

Như vậy, AWS Lambda là một giải pháp đáng xem xét cho bài toán chi phí.