Giới thiệu

Tổng quan

Trước khi bắt đầu tạo Lambda function đầu tiên, chúng ta hãy tìm hiểu về các khái niệm cơ bản của Serverless computing và AWS Lambda.

Serverless Computing

Serverless computing là mô hình phát triển cloud-native trong đó AWS quản lý toàn bộ hạ tầng bên dưới. Cách tiếp cận này loại bỏ nhu cầu thực hiện các tác vụ quản lý hạ tầng truyền thống như:

  • Bảo trì hệ điều hành và cập nhật bản vá bảo mật
  • Lập kế hoạch dung lượng và cung cấp tài nguyên
  • Giám sát phần cứng và mở rộng quy mô
  • Quản lý khả năng sẵn sàng của hạ tầng

AWS cung cấp một bộ dịch vụ serverless toàn diện, bao gồm:

  • Điện toán: AWS Lambda
  • Cơ sở dữ liệu: Amazon Aurora Serverless v2, Amazon DynamoDB, Amazon Redshift Serverless
  • Phân tích dữ liệu: Amazon Athena, Amazon Kinesis Data Analytics
  • Tích hợp ứng dụng: Amazon EventBridge, Amazon SQS, Amazon SNS

AWS Lambda

AWS Lambda là dịch vụ điện toán serverless thực thi code của bạn để phản hồi các sự kiện mà không cần cung cấp hoặc quản lý máy chủ. Các tính năng chính bao gồm:

  • Tự động mở rộng từ không đến hàng nghìn lần thực thi đồng thời
  • Tích hợp sẵn khả năng sẵn sàng cao và chịu lỗi
  • Mô hình định giá theo lượt sử dụng (bạn chỉ trả tiền cho thời gian tính toán đã sử dụng)
  • Hỗ trợ nhiều ngôn ngữ lập trình bao gồm Node.js, Python, Java, Go và .NET
  • Tích hợp native với các dịch vụ AWS khác
  • Cấu hình bộ nhớ từ 128MB đến 10GB
  • Thời gian thực thi giới hạn 15 phút.

Triển khai Thực hành

Trong bài thực hành sắp tới, chúng ta sẽ tạo một quy trình xử lý ảnh serverless để minh họa khả năng của Lambda:

  • Tự động xử lý ảnh được tải lên S3 bucket
  • Thay đổi kích thước ảnh sử dụng Lambda functions
  • Lưu trữ ảnh đã xử lý vào S3 bucket đích
  • Triển khai quy trình dọn dẹp file gốc
  • Sử dụng biến môi trường cho cấu hình
  • Triển khai xử lý lỗi và ghi log

Ví dụ thực hành này sẽ minh họa khả năng tích hợp của Lambda với các dịch vụ AWS khác và thể hiện các mẫu ứng dụng serverless.