Công nghệ

AWS Emulator chạy 200 dịch vụ Amazon ngoại tuyến, không kỹ sư nào đọc mã của nó

Susan Hill
Thêm chúng tôi trên Google

AWS Emulator, công cụ mới dành cho nhà phát triển của Amazon, biến máy tính thông thường thành một phiên bản thay thế hoạt động được của đám mây AWS. Nhờ đó, phần mềm vốn thường kết nối với máy chủ Amazon có thể được thử nghiệm ngoại tuyến, miễn phí và không cần tài khoản. Điều khiến người ta bất ngờ là ai đã tạo ra công cụ này. Amazon cho biết các tác tử AI viết mọi dòng mã, còn các kỹ sư trong dự án không viết cũng chẳng xem xét bất kỳ đoạn mã nào.

Với những người làm phần mềm, công cụ này có thể thay đổi một thói quen vừa tốn thời gian vừa tốn kém. Thử nghiệm ứng dụng trên đám mây thật đồng nghĩa với việc phải chờ máy chủ và trả tiền cho những tài nguyên chỉ dùng xong rồi bỏ. Các tác tử lập trình như Kiro của Amazon và Claude Code của Anthropic càng khiến vấn đề trầm trọng hơn: chúng kiểm tra kết quả bằng cách chạy đi chạy lại mã, trong khi mỗi lần kết nối tới đám mây lại làm tăng độ trễ và chi phí. Trình giả lập cho phép thực hiện vòng lặp đó ngay trên máy tính xách tay.

Quy mô của công cụ là điều đáng chú ý. AWS Emulator hỗ trợ hơn 200 dịch vụ AWS, được tạo từ hơn 400 mô tả API công khai của Amazon và viết bằng Rust. Theo Matt Goldberg, kỹ sư chính cấp cao của AWS đứng sau dự án, mọi chuyện bắt đầu như một thử nghiệm cuối tuần. Ông đưa cho Kiro một câu lệnh duy nhất, nhận được bản sao dùng được của dịch vụ hàng đợi tin nhắn Amazon sau khoảng 15 phút, rồi đến thứ Hai đã có phiên bản sơ bộ của phần còn lại của AWS để nhóm bắt đầu dùng thử phần mềm nội bộ.

Điều giúp mã luôn đạt yêu cầu không phải là người kiểm duyệt, mà là một chuỗi kiểm tra tự động. Amazon mô tả ba nhóm tác tử hoạt động trên nền tảng Bedrock AgentCore. Nhóm thứ nhất viết “các bài kiểm tra độ trung thực”, tức những tình huống thực tế như tạo hàng đợi, gửi tin nhắn rồi xóa hàng đợi, sau đó đối chiếu từng tình huống với đám mây thật. Nhóm thứ hai chạy lại các bài kiểm tra đó trên trình giả lập và ghi nhận mọi lỗi thành một vấn đề cần xử lý. Nhóm thứ ba khắc phục lỗi, mỗi tác tử phụ trách một vấn đề; thay đổi chỉ được hợp nhất sau khi các tác tử khác, trong đó có một số chuyên trách về bảo mật, đã tìm cách tấn công thay đổi đó. Goldberg cho biết hiện nay hàng trăm tác tử xử lý hàng nghìn vấn đề mỗi ngày.

Cách Goldberg tự lý giải nghe giản dị đến bất ngờ. Ông ví các tác tử của mình như bản thân hồi học mẫu giáo: còn quá nhỏ để cầm bút sáp cho đúng, lại bị trách vì làm hỏng bức tranh khủng long của cả lớp. Từ đó, ông kết luận rằng các tác tử cần có sách tô màu — một khu vực được vạch viền rõ ràng để chúng tô vào. Thiếu khuôn khổ ấy, ở một thế hệ trước, các tác tử đã quyết định tự viết trình thông dịch Python để chạy các hàm Lambda; nhóm sau đó phải hướng chúng tránh xa lối vòng vèo này.

Những giới hạn của công cụ là có thật, và Amazon cũng công khai nhiều giới hạn trong số đó. Tài liệu dự án khuyến cáo nhà phát triển không dùng trình giả lập cho khối lượng công việc thực tế hoặc để kiểm tra bảo mật; kho mã nguồn còn có một thư mục công khai liệt kê những hành vi chưa khớp với AWS thật, mang tên “things-that-do-not-work”. Devin Pratt, nhà phân tích của IDC, nói với InfoWorld rằng công cụ hiện chưa mô phỏng được việc giới hạn lưu lượng, sự cố ngừng hoạt động hay khác biệt giữa các khu vực về những dịch vụ khả dụng, đồng thời cũng không cô lập an toàn mã mà nó chạy. Muốn biên dịch từ mã nguồn, người dùng cần ít nhất 100 GB dung lượng ổ đĩa trống. Tính năng đo lường từ xa, gửi thông tin sử dụng về Amazon, được bật mặc định nhưng có thể tắt.

Công cụ này cũng xuất hiện trên một thị trường đã có đối thủ lâu năm. LocalStack, trình giả lập AWS nổi tiếng nhất, đã chuyển phiên bản miễn phí sang hình thức yêu cầu tài khoản trong năm nay và giới hạn việc sử dụng ở mục đích phi thương mại, theo GeekWire đưa tin. Công cụ của Amazon được phát hành theo CC0, một tuyên bố hiến tặng cho phạm vi công cộng, kèm toàn bộ lịch sử commit và mọi vấn đề do tác tử ghi nhận trên GitHub, để bất kỳ ai cũng có thể kiểm tra, tạo nhánh riêng hoặc phát triển tiếp.

Bản phát hành này vừa là một sản phẩm, vừa là một tuyên bố. Swami Sivasubramanian, Phó chủ tịch AWS phụ trách AI tác tử, viết trên blog của Werner Vogels, Giám đốc công nghệ Amazon, rằng khi tác tử viết mã, công việc của kỹ sư chuyển thành xây dựng các đặc tả, bài kiểm tra và chốt kiểm soát hợp nhất để xác định khi nào kết quả đạt yêu cầu. Ông kể đã giám sát Kiro trong bốn đêm khi tác tử tìm cách dựng lại một bộ máy sao chép mà ông từng tự tay xây dựng khoảng hai mươi năm trước; công việc này chỉ mất khoảng hai giờ sau khi tác tử có đặc tả và môi trường kiểm thử.

AWS Emulator được phát hành trên toàn thế giới dưới dạng bản tải xuống miễn phí vào ngày 11 tháng 11, với các gói dành cho Linux, phương án chạy bằng Docker trên Windows và macOS, cùng chế độ tích hợp cho các bộ kiểm thử Rust. Amazon cho biết sẽ chia sẻ thêm về dự án tại hội nghị re:Invent sau vài tuần nữa.

Liệu các nhóm phát triển có tin tưởng mã nguồn mà chưa ai đọc hay không là câu hỏi Amazon chủ động đặt ra trước công chúng. Thư mục liệt kê những thứ không hoạt động là nơi phần lớn nhà phát triển sẽ bắt đầu tìm hiểu.

Thẻ: , , , , ,

Thêm chúng tôi trên Google

Thảo luận

Có 0 bình luận.