AWS ra mắt Lambda Web Functions: chạy ứng dụng web chuẩn không cần viết lại code

Công nghệ13 tháng 10, 2026·7 phút đọc

AWS vừa công bố Lambda Web Functions, một dạng hàm mới cho phép chạy các ứng dụng web HTTP tiêu chuẩn như Express, Fastify hay Next.js trực tiếp trên Lambda mà không cần adapter. Tính năng này hỗ trợ tối đa 128 request đồng thời mỗi môi trường thực thi, tính phí theo thời gian CPU thực tế và có thể triển khai đa vùng chỉ với một lệnh duy nhất.

AWS ra mắt Lambda Web Functions: chạy ứng dụng web chuẩn không cần viết lại code

AWS vừa công bố Lambda Web Functions, một dạng hàm (form factor) hoàn toàn mới cho phép các lập trình viên chạy ứng dụng web HTTP tiêu chuẩn trên nền tảng serverless Lambda mà không phải viết lại code thành event handler.

Điểm đáng chú ý là bạn có thể mang nguyên một server lắng nghe cổng được xây dựng bằng Express, Hono, Fastify, Next.js hay bất kỳ framework Node.js nào, triển khai chỉ với một lệnh duy nhất, và Lambda sẽ tự động lo việc mở rộng quy mô, phân phối đa vùng cùng cơ chế tính phí theo CPU hoạt động thực tế.

Ba dạng hàm, một nền tảng

Với lần ra mắt này, AWS Lambda hiện cung cấp ba dạng hàm riêng biệt, tất cả đều dựa trên công nghệ cách ly Firecracker nhưng được thiết kế cho những mô hình lập trình khác nhau:

  • Lambda Event Functions: Đây chính là những hàm Lambda quen thuộc trước đây. Chúng hoạt động theo mô hình hướng sự kiện, mỗi handler xử lý một yêu cầu tại một thời điểm và tính phí theo thời gian thực (wall-clock). Dạng này phù hợp cho xử lý sự kiện, tiêu thụ hàng đợi và các lệnh gọi từ dịch vụ AWS khác.
  • Lambda Web Functions: Sử dụng mô hình lập trình thuần HTTP với khả năng thực thi đa đồng thời và tính phí theo CPU hoạt động. Code của bạn chỉ cần lắng nghe trên một cổng và xử lý các request HTTP chuẩn. Dạng này lý tưởng cho ứng dụng web, backend API và các tác vụ HTTP tương tác.
  • Lambda MicroVMs: Cung cấp môi trường sandbox biệt lập, có trạng thái với vòng đời do khách hàng quản lý, dùng để chạy code không đáng tin cậy hoặc do người dùng tạo ra.

Ba dạng này bổ trợ cho nhau. Một ứng dụng có thể dùng Event Functions cho xử lý backend bất đồng bộ, Web Functions cho lớp API hướng người dùng và render phía server, còn MicroVMs cho các tính năng thực thi code tương tác — tất cả trong cùng một tài khoản AWS và chia sẻ chung một mô hình vận hành.

Vì sao Web Functions lại quan trọng?

Các ứng dụng web hiện đại cần phục vụ người dùng toàn cầu với thời gian phản hồi nhanh và ổn định, đồng thời cho phép lập trình viên tự do sử dụng framework tiêu chuẩn và lặp nhanh. Để làm được điều này theo cách truyền thống, bạn thường phải lắp ghép nhiều thành phần hạ tầng, cấu hình triển khai đa vùng, thiết lập định tuyến theo độ trễ và tinh chỉnh mô hình tính phí để tránh trả tiền cho thời gian chờ I/O.

Lambda Web Functions xóa bỏ sự phức tạp này. Mỗi môi trường thực thi có thể xử lý đồng thời nhiều request (tối đa 128 request đồng thời mỗi môi trường), nghĩa là một đợt lưu lượng tăng vọt có thể chia sẻ các môi trường đã khởi động sẵn thay vì phải ánh xạ mỗi request sang một môi trường mới.

Điểm then chốt nằm ở cách tính phí. Web Functions chỉ tính thời gian CPU mà code của bạn thực sự sử dụng, nên khoảng thời gian chờ truy vấn cơ sở dữ liệu hay gọi API sẽ tiêu tốn rất ít CPU. Bộ nhớ thì được tính trong suốt thời gian môi trường thực thi tồn tại. Với các tác vụ web nặng về I/O như render phía server, backend API hay endpoint suy luận AI đang stream từng token phản hồi, điều này có thể giúp giảm đáng kể chi phí tính toán.

Trải nghiệm thực tế: từ code đến URL chỉ trong một lệnh

Để bắt đầu, bạn chỉ cần viết một server Express.js thông thường — đúng đoạn code bạn vẫn chạy local bằng lệnh node index.js, không cần bất kỳ adapter hay wrapper đặc thù nào cho Lambda.

import express from 'express';
const app = express();
const [host, port] = process.env.AWS_LAMBDA_HTTP_ENDPOINT.split(':');

app.get('/', (req, res) => {
  res.json({ message: 'Hello from Lambda Web Functions!' });
});

app.listen(port, host, () => {
  console.log(`Server running on port ${port}`);
});

Điểm khác biệt duy nhất so với chạy local là biến môi trường AWS_LAMBDA_HTTP_ENDPOINT, do Lambda tự đặt để chỉ ra host và cổng mà server phải lắng nghe. Khi chạy local, bạn tự đặt biến này, ví dụ AWS_LAMBDA_HTTP_ENDPOINT=127.0.0.1:3000 node index.js.

Sau đó việc triển khai chỉ gói gọn trong một lệnh:

aws lambda-web deploy --name my-web-app --code ./my-app

Không cần thiết lập tài nguyên trước. AWS CLI sẽ đóng gói mã nguồn, tạo Web Function, phát hành bản revision đầu tiên, gắn endpoint và trả về một URL HTTPS đang hoạt động chỉ trong chưa đầy một phút.

Triển khai đa vùng chỉ với một dòng lệnh

Để phục vụ người dùng ở châu Âu và châu Á với độ trễ thấp hơn, bạn chỉ cần thêm tham số vùng:

aws lambda-web deploy --name my-web-app --code ./my-app \
  --regions us-east-1,eu-west-1,ap-northeast-1

Lambda Web Functions sẽ tự động sao chép code sang cả ba vùng và cấu hình định tuyến theo độ trễ. Mỗi request sau đó được định tuyến tới vùng có độ trễ thấp nhất cho người gọi, thông qua một URL toàn cầu duy nhất.

Khi bạn cập nhật code và chạy lại đúng lệnh triển khai đó, CLI sẽ phát hiện hàm đã tồn tại, tải lên revision mới và trỏ endpoint sang phiên bản vừa cập nhật. Tổng thời gian từ lúc đổi code đến khi lên sóng chỉ tính bằng giây.

Canary deployment không cần công cụ bổ sung

Với các quy trình production cần triển khai dần dần, bạn có thể chia lưu lượng giữa các revision bằng một lệnh API duy nhất, ví dụ dành 90% lưu lượng cho phiên bản hiện tại và 10% cho bản mới. Đây là mô hình canary deployment mà không cần thêm bất kỳ công cụ nào khác.

Kết hợp với Amazon CloudFront

Với các ứng dụng kết hợp nội dung tĩnh và động, Web Functions hoạt động rất tốt bên cạnh Amazon CloudFront. Bạn có thể chọn endpoint của Web Function làm origin cho distribution CloudFront. Tài nguyên tĩnh được phục vụ từ cache trong khi các request động được định tuyến tới Web Function, mang lại hiệu năng CDN cho phần tĩnh và khả năng tính toán serverless cho phần động.

Điểm nâng cấp đáng chú ý là trải nghiệm private-origin. Với lần ra mắt này, bạn có thể gắn CloudFront origin access control (OAC) vào endpoint của Web Function. CloudFront sẽ ký các request tới origin, và endpoint chỉ cho phép distribution của bạn gọi tới nó. Bạn có được đúng mô hình private-origin mà CloudFront vốn đã cung cấp cho Amazon S3, mà không cần phơi bày endpoint hay thêm cơ chế xác thực tùy chỉnh vào ứng dụng.

Hiện có sẵn ở đâu và hỗ trợ gì?

AWS Lambda Web Functions hiện đã có mặt tại các vùng: US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Tokyo) và Europe (Ireland).

Tại thời điểm ra mắt, Web Functions chạy Node.js 24 (nodejs24.x) trên kiến trúc Arm64 và hỗ trợ kết nối Amazon Virtual Private Cloud (VPC), cho phép hàm truy cập các tài nguyên nằm trong VPC.

Góc nhìn cho lập trình viên Việt Nam

Với các đội phát triển phần mềm tại Việt Nam, đặc biệt là những nhóm đang xây dựng sản phẩm hướng tới thị trường quốc tế, Lambda Web Functions có thể giúp giảm đáng kể công sức vận hành hạ tầng. Việc không phải viết lại code theo mô hình event handler nghĩa là các dự án Node.js hiện có có thể chuyển lên serverless nhanh chóng, đồng thời khả năng triển khai đa vùng chỉ bằng một lệnh sẽ hữu ích cho các startup muốn phục vụ người dùng ở nhiều khu vực mà chưa có đội ngũ DevOps chuyên trách.

Tuy nhiên, cần lưu ý rằng dịch vụ hiện chưa có mặt tại vùng Singapore hay Tokyo mới chỉ nằm trong danh sách ra mắt — điều này có thể ảnh hưởng tới độ trễ thực tế đối với người dùng trong nước. Việc theo dõi lộ trình mở rộng vùng của AWS sẽ là điều đáng quan tâm trong thời gian tới.

Để bắt đầu, bạn có thể triển khai Web Function đầu tiên trong chưa đầy một phút và tham khảo trang tài liệu chính thức của AWS để biết chi tiết về giá cũng như các tính năng nâng cao.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗