Xây dựng API Serverless đầu tiên 'xịn xò' với AWS Lambda và API Gateway: Hướng dẫn từ A đến Z (Phần 1)
Lê Lân
0
Hướng Dẫn Từng Bước Xây Dựng API Serverless Đầu Tiên Với AWS Lambda và API Gateway
Giới Thiệu
Serverless computing đang định nghĩa lại cách phát triển backend trong thời đại số hóa hiện nay.
Thay vì phải thiết lập máy chủ, cấu hình môi trường chạy, và lo lắng về khả năng mở rộng, nhà phát triển giờ đây có thể tập trung hoàn toàn vào viết các logic kinh doanh cốt lõi. Nhà cung cấp đám mây sẽ xử lý phần còn lại. Trong các nền tảng serverless, AWS Lambda phối hợp cùng API Gateway là một trong những giải pháp phổ biến, đáng tin cậy nhất. Với sự kết hợp này, bạn có thể xây dựng các API vừa tiết kiệm chi phí, sẵn sàng cho môi trường production, lại có khả năng mở rộng tự động mà không cần can thiệp thủ công.
Chuỗi bài viết này sẽ phân tách quá trình thành các bước thực hiện cụ thể, dễ hiểu. Ở phần đầu tiên này, chúng ta sẽ tập trung vào kiến thức cơ bản về AWS Lambda—Lambda là gì, vì sao nên dùng, và cách tạo hàm Lambda đầu tiên của bạn.
Vì Sao Chọn Serverless?
Phát triển backend truyền thống yêu cầu:
Cung cấp và duy trì máy chủ vật lý hoặc ảo
Cài đặt phần mềm, cập nhật hệ điều hành
Đảm bảo tính sẵn sàng cao, phân phối tải
Các yếu tố trên làm tăng độ phức tạp, chi phí và làm chậm tiến độ phát triển.
Serverless mang tới sự trừu tượng hóa hoàn toàn. Bạn không phải lo về máy chủ, các chính sách scaling hay các bản vá hạ tầng. Chỉ việc upload mã nguồn của bạn, và Amazon sẽ lo phần còn lại.
Ứng dụng serverless rất phù hợp cho:
Các startup hoặc nhà phát triển cá nhân cần ra mắt nhanh
Ứng dụng có lưu lượng truy cập không ổn định, khó dự báo
API không cần hoạt động liên tục 24/7
Kiến Thức Cơ Bản Về AWS Lambda
AWS Lambda là dịch vụ tính toán nền tảng cho mô hình serverless trên AWS. Các điểm nổi bật của Lambda:
Cho phép bạn upload các đoạn mã nhỏ (hàm)
Chỉ chạy khi có sự kiện kích hoạt
Tự động mở rộng theo nhu cầu sử dụng
Chỉ trả tiền cho thời gian thực thi thực tế
Hàm Lambda được kích hoạt bởi rất nhiều sự kiện như:
Yêu cầu API (qua API Gateway)
Upload tập tin (bằng S3)
Sự kiện từ database (DynamoDB streams)
Tác vụ định kỳ (CloudWatch)
Trong trường hợp xây dựng API, trigger chính sẽ là API Gateway. Tuy nhiên, trước khi kết nối, ta bắt đầu với việc tạo hàm Lambda.
Bước 1: Tạo Hàm Lambda
Truy cập AWS Management Console, mở dịch vụ Lambda.
Chọn Create function.
Chọn Author from scratch.
Đặt tên cho hàm (ví dụ: myFirstLambda).
Chọn runtime phù hợp (Python hoặc Node.js phổ biến).
Giữ mặc định phần quyền.
Sau khi tạo, AWS sẽ cung cấp trình soạn thảo mã tích hợp sẵn.
Thay thế hàm handler mặc định bằng đoạn mã đơn giản:
deflambda_handler(event, context):
return {
"statusCode": 200,
"body": "Hello from Lambda!"
}
Hàm này sẽ trả về phản hồi đơn giản mỗi khi được gọi.
Bước 2: Kiểm Tra Hàm Lambda
Từ bảng điều khiển Lambda, nhấn Test.
Cung cấp mẫu event thử (AWS có sẵn các template).
Chạy thử và xác nhận nhận được kết quả trả về 200 OK với thông điệp đúng.
Đến đây, bạn đã triển khai và chạy thành công một hàm Lambda. Tuy nhiên, nó vẫn hoạt động biệt lập, chưa được kết nối với thế giới bên ngoài.
Để biến hàm Lambda thành một API công khai, bạn cần tích hợp nó với API Gateway. Đây mới chính là bước bắt đầu cho hành trình xây dựng API thực thụ.
Tiếp Theo: Kết Nối Với API Gateway
Ở bước kế tiếp, bạn sẽ:
Cấu hình API Gateway
Tạo các route (đường dẫn) cho API
Kết nối các route với Lambda function
Nhờ vậy, bất kỳ ai cũng có thể truy cập hàm Lambda của bạn qua điểm cuối REST một cách an toàn và tiện lợi.
Bạn có thể theo dõi hướng dẫn triển khai chi tiết từng bước trong bài viết đầy đủ tại Medium: