AWS Lambda là dịch vụ điện toán serverless có chức năng chạy mã của bạn để phản hồi các sự kiện và tự động quản lý tài nguyên điện toán cơ sở cho bạn. Bạn có thể sử dụng AWS Lambda để mở rộng các dịch vụ AWS khác bằng logic tùy chỉnh hoặc tạo các dịch vụ back-end hoạt động theo quy mô, hiệu năng và mức bảo mật của AWS. AWS Lambda có khả năng tự động chạy mã để phản hồi nhiều sự kiện, ví dụ như yêu cầu HTTP thông qua Amazon API Gateway, sửa đổi đối tượng trong bộ chứa của Amazon S3, cập nhật bảng biểu trong Amazon DynamoDB và chuyển đổi trạng thái trong AWS Step Functions.

Lambda chạy mã trong cơ sở hạ tầng điện toán có khả năng sử dụng cao và thực hiện 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 bản vá bảo mật và triển khai mã 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 mã.

Hàm AWS Lambda

Giới thiệu hàm AWS Lambda

Mã mà bạn chạy trên AWS Lambda được gọi là “hàm Lambda”. Sau khi được tạo, hàm Lambda sẽ luôn sẵn sàng chạy ngay khi được kích hoạt, tương tự như công thức trong bảng tính. Mỗi hàm có chứa mã của bạn cũng như một số thông tin cấu hình đi kèm, trong đó có tên hàm và yêu cầu tài nguyên. Hàm Lambda là hàm “không có trạng thái”, không liên quan tới cơ sở hạ tầng chạy ngầm, vì vậy Lambda có thể nhanh chóng khởi chạy nhiều bản sao của hàm theo nhu cầu để thay đổi quy mô theo mức độ sự kiện xảy ra.

Sau khi tải mã lên AWS Lambda, bạn có thể liên kết hàm của mình với các tài nguyên AWS cụ thể (ví dụ: bộ chứa cụ thể của Amazon S3, bảng của Amazon DynamoDB, luồng của Amazon Kinesis hoặc thông báo của Amazon SNS). Sau đó, khi tài nguyên thay đổi, Lambda sẽ thực thi hàm của bạn và quản lý tài nguyên điện toán theo nhu cầu để giúp bạn bắt kịp diễn tiến của các yêu cầu được gửi đến.

Tính năng chính của sản phẩm

Mở rộng các dịch vụ AWS khác bằng logic tùy chỉnh

AWS Lambda đem đến cho bạn khả năng bổ sung logic tùy chỉnh vào các tài nguyên AWS như bộ chứa của Amazon S3 và bảng của Amazon DynamoDB, giúp bạn dễ dàng áp dụng hoạt động tính toán vào dữ liệu ngay khi dữ liệu đi vào hoặc di chuyển trên đám mây.

Bắt đầu với AWS Lambda thật dễ dàng. Trước hết, hãy tạo hàm bằng cách tải mã lên (hoặc dựng mã ngay từ bảng điều khiển Lambda) và chọn bộ nhớ, khoảng thời gian chờ và vai trò AWS Identity and Access Management (IAM). Sau đó, hãy chọn tài nguyên AWS cụ thể sẽ kích hoạt hàm, đó có thể là bộ chứa cụ thể của Amazon S3, bảng của Amazon DynamoDB hay luồng của Amazon Kinesis. Khi tài nguyên thay đổi, Lambda sẽ chạy hàm của bạn và khởi chạy cũng như quản lý tài nguyên điện toán theo nhu cầu để giúp bạn bắt kịp diễn tiến của các yêu cầu được gửi đến.

Xây dựng dịch vụ back-end tùy chỉnh

Bạn có thể sử dụng AWS Lambda để tạo các dịch vụ back-end cho ứng dụng, được kích hoạt theo yêu cầu bằng cách sử dụng API Lambda hoặc điểm cuối API tùy chỉnh được dựng bằng Amazon API Gateway. Bằng cách sử dụng Lambda để xử lý sự kiện tùy chỉnh thay vì cung cấp các sự kiện này trên ứng dụng khách, bạn sẽ tránh được sự khác biệt về nền tảng của ứng dụng khách, giảm hao pin và dễ dàng thực hiện cập nhật hơn.

Sử dụng mã của chính bạn

Với AWS Lambda, bạn sẽ không phải học ngôn ngữ, cách sử dụng công cụ hay framework mới. Bạn có thể sử dụng bất kỳ thư viện bên thứ ba nào, kể cả thư viện thuần. Bạn cũng có thể đóng gói mã bất kỳ (framework, SDK, thư viện...) dưới dạng Lớp Lambda và quản lý cũng như chia sẻ dễ dàng qua nhiều chức năng. Về bản chất, Lambda hỗ trợ mã Java, Go, PowerShell, Node.js, C#, Python và Ruby, cũng như cung cấp Runtime API cho phép bạn sử dụng bất kỳ ngôn ngữ lập trình nào khác để lập trình các chức năng của mình.

Công tác quản trị được tự động hóa hoàn toàn

AWS Lambda chịu trách nhiệm quản lý toàn bộ cơ sở hạ tầng để chạy mã của bạn trên cơ sở hạ tầng có độ sẵn sàng và khả năng chịu lỗi cao, cho bạn thêm thời gian để tập trung vào các dịch vụ back-end nổi bật của mình. Với Lambda, bạn sẽ không bao giờ phải cập nhật hệ điều hành khi có bản vá mới hoặc phải lo lắng về việc thay đổi kích cỡ hay bổ sung máy chủ mới khi nhu cầu sử dụng tăng lên. AWS Lambda sẽ triển khai mã của bạn một cách trơn tru, áp dụng toàn bộ bản vá bảo mật, thực hiện toàn bộ công tác quản trị và bảo trì cũng như thực hiện chức năng ghi nhật ký và theo dõi tích hợp thông qua Amazon CloudWatch.

Tích hợp sẵn khả năng chịu lỗi

Lambda được tích hợp sẵn khả năng chịu lỗi. AWS Lambda duy trì năng lực điện toán trên nhiều Vùng sẵn sàng ở từng khu vực để giúp bảo vệ mã của bạn khi hỏng máy hoặc cơ sở trung tâm dữ liệu riêng lẻ. Cả AWS Lambda lẫn hàm đều chạy trên dịch vụ có công suất hoạt động ổn định và có thể dự báo trước. AWS Lambda được thiết kế để có thể mang đến độ sẵn sàng cao cho bản thân dịch vụ lẫn các hàm chạy trên dịch vụ. Không có khung thời gian bảo trì hay thời gian ngừng hoạt động theo lịch.

Đóng gói và triển khai các hàm dưới dạng hình ảnh bộ chứa

AWS Lambda hỗ trợ đóng gói và triển khai các hàm dưới dạng hình ảnh bộ chứa, giúp khách hàng dễ dàng xây dựng các ứng dụng dựa trên Lambda bằng cách sử dụng công cụ hình ảnh bộ chứa, quy trình làm việc và thành phần phụ thuộc quen thuộc. Khách hàng cũng được hưởng lợi từ sự đơn giản trong hoạt động, tự động thay đổi quy mô với thời gian khởi động tính bằng mili giây, tính khả dụng cao, tích hợp gốc với 140 dịch vụ AWS và mô hình thanh toán trả phí sử dụng do AWS Lambda cung cấp. Khách hàng doanh nghiệp có thể sử dụng một bộ công cụ nhất quán với cả ứng dụng Lambda và ứng dụng nằm trong bộ chứa của họ cho các yêu cầu quản trị trung tâm như quét bảo mật và ký hình ảnh.

Tự động thay đổi quy mô

AWS Lambda chỉ gọi mã của bạn khi cần và auto scaling để hỗ trợ mức độ yêu cầu gửi đến mà không bắt bạn phải cấu hình bất kỳ thứ gì. Số lượng yêu cầu mà mã của bạn có thể xử lý là vô hạn. AWS Lambda thường sẽ bắt đầu chạy mã trong vòng vài mili giây khi xảy ra sự kiện và do Lambda có khả năng thay đổi quy mô tự động, hiệu năng vẫn sẽ được duy trì ở mức cao khi tần suất sự kiện tăng lên. Vì mã của bạn không có trạng thái, nên AWS Lambda có thể khởi động số lượng phiên bản hàm cần thiết mà không mất thời gian cho việc triển khai và cấu hình.

Kết nối với cơ sở dữ liệu quan hệ

Sử dụng Amazon RDS Proxy để tận dụng các nhóm kết nối được quản lý toàn phần cho cơ sở dữ liệu quan hệ. RDS Proxy quản lý hàng ngàn kết nối cơ sở dữ liệu đồng thời với cơ sở dữ liệu quan hệ một cách hiệu quả, giúp dễ dàng xây dựng các ứng dụng serverless dựa trên Lambda bảo mật và có quy mô cực kỳ linh hoạt, vốn cần tương tác với cơ sở dữ liệu quan hệ. Hiện tại, RDS Proxy hỗ trợ MySQL và Aurora. Bạn có thể sử dụng RDS Proxy cho các ứng dụng serverless thông qua bảng điều khiển Amazon RDS hoặc bảng điều khiển AWS Lambda.

Kiểm soát cao về mặt hiệu năng

Tính đồng thời được cung cấp cho phép bạn kiểm soát tốt hơn hiệu năng của các ứng dụng serverless. Khi được kích hoạt, Tính đồng thời được cung cấp sẽ đảm bảo tính sẵn sàng cực cao và duy trì khởi tạo nhằm đáp ứng trong vài mili giây cho các hàm của bạn. Tính đồng thời được cung cấp là tính năng lý tưởng với bất kỳ ứng dụng nào được xây dựng bằng AWS Lambda và cần kiểm soát tốt hơn thời gian bắt đầu của hàm này. Bạn có thể dễ dàng cấu hình mức dung lượng đồng thời thích hợp theo nhu cầu của ứng dụng của bạn. Bạn có thể tăng mức đồng thời trong thời gian có nhu cầu cao và giảm hoặc tắt hoàn toàn, khi nhu cầu giảm. Việc sử dụng Tính đồng thời được cung cấp không yêu cầu trả phí cho mã của bạn. Tính đồng thời được cung cấp là cách hiệu quả để đạt được hiệu năng phù hợp cho các ứng dụng đòi hỏi cao về độ trễ khi bạn cần đến, mà không cần phải quản lý tài nguyên điện toán.

Kết với đến các hệ thống tệp được chia sẻ

Với Amazon Elastic File System cho AWS Lambda, bạn có thể đọc, ghi và lưu trữ khối lượng dữ liệu lớn một cách an toàn với độ trễ thấp, ở mọi quy mô. Bạn không cần phải ghi mã để tải dữ liệu về kho lưu trữ tạm thời để xử lý. Điều này giúp tiết kiệm thời gian và đơn giản hóa mã, cho phép bạn tập trung vào logic kinh doanh của mình. Sử dụng EFS cho Lambda thường lý tưởng để xây dựng các ứng dụng máy học hoặc tải các tệp hoặc mô hình tham chiếu lớn, xử lý hoặc sao lưu lượng lớn dữ liệu, lưu trữ nội dung web hoặc chia sẻ tệp giữa các ứng dụng phi máy chủ và các ứng dụng dựa trên bộ chứa hoặc phiên bản.

Chạy mã để phản hồi các yêu cầu của Amazon CloudFront

Với Lambda@Edge, AWS Lambda có khả năng chạy mã của bạn tại nhiều địa điểm AWS trên toàn cầu để phản hồi các sự kiện của Amazon CloudFront, ví dụ như yêu cầu nội dung đến hoặc từ máy chủ và trình xem gốc. Việc này giúp bạn dễ dàng cung cấp nội dung phong phú và có độ cá nhân hóa cao hơn, với độ trễ thấp hơn cho người dùng cuối. Tìm hiểu thêm »

Điều phối đa hàm

Bạn có thể điều phối nhiều hàm AWS Lambda cùng lúc cho các tác vụ phức tạp hoặc có thời gian chạy dài bằng cách xây dựng quy trình công việc với AWS Step Functions. Step Functions đem đến cho bạn khả năng xác định các quy trình công việc sẽ kích hoạt bộ hàm Lambda bằng cách sử dụng các bước theo trình tự, song song, phân nhánh và xử lý lỗi. Với Step Functions và Lambda, bạn sẽ có thể xây dựng các tiến trình có trạng thái và có thời gian chạy dài cho ứng dụng và thiết bị backend.

Tích hợp mô hình bảo mật

AWS Lambda cho phép mã của bạn truy cập một cách bảo mật vào các dịch vụ AWS khác bằng SDK AWS tích hợp sẵn cũng như khả năng tích hợp với AWS Identity and Access Management (IAM). Theo mặc định, AWS Lambda sẽ chạy mã của bạn trong VPC. Bạn cũng có thể chọn cách cấu hình để AWS Lambda truy cập các tài nguyên hỗ trợ VPC riêng của bạn, cho phép bạn tận dụng các nhóm bảo mật tùy chỉnh cũng như danh sách kiểm soát truy cập mạng để cung cấp cho hàm Lambda quyền truy cập tài nguyên của bạn trong VPC.

AWS Lambda là dịch vụ tuân thủ SOC, HIPAA, PCI, ISO. Để xem thông tin mới nhất về chứng nhận và tính sẵn sàng tuân thủ của Lambda, vui lòng tham khảo toàn bộ dịch vụ trong phạm vi.

Kiểm soát tính tin cậy và toàn vẹn

Ký mã cho AWS Lambda cung cấp các biện pháp kiểm soát tính tin cậy và toàn vẹn, cho phép bạn xác minh rằng chỉ các mã chưa thay đổi do các nhà phát triển đã được phê duyệt phát hành mới được triển khai trong hàm Lambda của bạn. Bạn chỉ cần tạo các thành phần lạ của mã được ký kỹ thuật số và định cấu hình các hàm Lambda cần xác minh các chữ ký khi triển khai. Điều này giúp tăng tốc độ và sự linh hoạt trong quá trình phát triển của bạn, ngay cả trong các nhóm phát triển lớn, đồng thời thực thi các tiêu chuẩn bảo mật cao.

Chỉ phải trả tiền cho những gì bạn sử dụng

Với AWS Lambda, bạn trả phí cho thời lượng thực thi thay vì đơn vị máy chủ. Khi sử dụng hàm Lambda, bạn chỉ phải trả tiền cho các yêu cầu được phân phối cũng như thời gian tính toán yêu cầu để chạy mã của bạn. Chi phí được tính theo gia số 1 mili giây, giúp việc thay đổi quy mô tự động từ vài yêu cầu mỗi ngày lên hàng nghìn yêu cầu mỗi giây trở nên dễ dàng và tiết kiệm chi phí. Với Tính đồng thời được cung cấp, bạn thanh toán cho dung lượng xử lý đồng thời và cho khoảng thời gian mà bạn cấu hình. Khi Tính đồng thời được cung cấp được bật cho hàm của bạn và bạn thực thi hàm đó, bạn cũng sẽ trả tiền cho yêu cầu và thời lượng thực thi. Để tìm hiểu thêm về việc định giá, vui lòng truy cập phần Định giá AWS Lambda.

Mô hình tài nguyên linh hoạt

Bạn chỉ cần chọn lượng bộ nhớ muốn phân bổ cho hàm, AWS Lambda sẽ phân phối công suất CPU, băng thông mạng và I/O ổ đĩa theo tỷ lệ tương ứng.

Tích hợp Lambda với các công cụ vận hành ưa thích của bạn

Các tiện ích mở rộng của AWS Lambda cho phép bạn dễ dàng tích hợp Lambda với các công cụ ưa thích của mình để giám sát, quan sát, bảo mật và quản trị. Các tiện ích mở rộng của Lambda chạy trong môi trường thực thi của Lambda, nơi mã hàm của bạn được thực thi. Với các tiện ích mở rộng của Lambda, bạn có thể thu thập thông tin chẩn đoán chi tiết và gửi nhật ký hàm, số liệu và dấu vết đến một vị trí bạn chọn. Bạn cũng có thể tích hợp các tác nhân bảo mật trong môi trường thực thi của Lambda, tất cả đều không phải trả phí vận hành và có tác động tối thiểu đến hiệu suất của các hàm của bạn.

Tìm hiểu thêm về giá của AWS Lambda

Truy cập trang giá
Bạn đã sẵn sàng để bắt đầu chưa?
Đăng ký
Bạn có thêm câu hỏi?
Liên hệ với chúng tôi