
Vercel đang mở rộng hạ tầng backend bằng Daemons, dịch vụ duy trì tiến trình nền chạy liên tục và tự khởi động lại khi gặp sự cố. Công ty đồng thời đưa hỗ trợ Python và Drives ra trạng thái sẵn sàng rộng rãi, giúp ứng dụng xử lý tác vụ dài, triển khai backend Python và giữ tệp của tác tử AI trên cùng một nền tảng.
Vercel công bố các thay đổi tại hội nghị Ship ở San Francisco hôm thứ Năm. Thông tin được The New Stack đăng tải sau cuộc trao đổi với Giám đốc công nghệ Vercel Malte Ubl.
Các tính năng mới hướng đến những nhóm muốn đặt nhiều thành phần của ứng dụng trên Vercel, thay vì dùng nền tảng này cho giao diện rồi duy trì hệ thống triển khai riêng cho tiến trình nền, API Python hoặc kho tệp của tác tử AI.
Nội dung chính: Daemons duy trì tiến trình nền luôn hoạt động
Daemons cho phép nhà phát triển triển khai một bộ chứa, chỉ định số phiên bản cần chạy tại từng khu vực và để Vercel duy trì các phiên bản đó. Nếu một tiến trình thoát hoặc gặp sự cố, nền tảng sẽ khởi động lại tiến trình.
Ở thời điểm ra mắt, Daemons hỗ trợ mô hình kéo tác vụ. Tiến trình chủ động lấy việc từ hàng đợi hoặc cơ sở dữ liệu rồi xử lý khi tác vụ xuất hiện, thay vì chờ một yêu cầu từ internet như các hàm xử lý yêu cầu thông thường.
Vercel vốn đã cung cấp hàng đợi, quy trình làm việc bền vững và Services để triển khai giao diện cùng phần máy chủ. Theo Ubl, các công cụ đó phù hợp với công việc phát sinh từ yêu cầu nhưng chưa bao phủ hết những hệ thống backend phức tạp, đặc biệt là tác vụ lấy từ hàng đợi và cần kiểm soát mức độ đồng thời.
Daemons cũng phù hợp với cách vận hành hạ tầng AI, nơi tác vụ nền, lưu trữ và tài nguyên tính toán thường phải tồn tại ngoài vòng đời của một yêu cầu web.
Đường ống triển khai của Vercel là một ví dụ
Đường ống triển khai của Vercel cho thấy vì sao tiến trình nền cần hoạt động độc lập với yêu cầu web. Khi khách hàng gọi API để tạo một bản triển khai, Vercel không thực hiện toàn bộ công việc trong tiến trình đang xử lý yêu cầu đó.
Công ty không thể chạy số lượng bản triển khai đồng thời không giới hạn. Giới hạn tốc độ của GitHub cũng khiến hệ thống đôi lúc phải lùi lại và chờ trước khi tiếp tục.
Ubl cho biết các dạng tài nguyên tính toán trước đây của Vercel chưa cung cấp đủ khả năng kiểm soát mức độ đồng thời cho loại tiến trình này. Với Daemons, các tiến trình khởi động, báo trạng thái sẵn sàng rồi tiếp tục xử lý tác vụ được chuyển đến.
Ví dụ của Vercel kết hợp giao diện Next.js, API Python và một bộ xử lý video được đóng gói trong bộ chứa. Bộ chứa mang theo các phần phụ thuộc Python cùng FFmpeg, sau đó lấy tác vụ từ Vercel Queues để tạo tệp phát lại và ảnh thu nhỏ.
Chuyển mã video là trường hợp điển hình vì tải xử lý phụ thuộc nhiều vào CPU. Theo The New Stack, Ubl cho biết nhu cầu này đòi hỏi máy tính hoạt động ở mức sử dụng CPU 100%. Theo cách phân loại của ông, Daemons gần như đối lập với môi trường thực thi cô lập tạm thời (sandbox): sandbox tồn tại trong thời gian ngắn, còn Daemons tiếp tục chạy và chủ động tìm việc để xử lý.
Triển khai bằng Git hoặc công cụ dòng lệnh
Nhà phát triển có thể triển khai Daemons qua Git hoặc công cụ dòng lệnh của Vercel. Nền tảng xây dựng ảnh bộ chứa và lưu ảnh trong kho bộ chứa của mình.
Theo Ubl trong bài viết của The New Stack, Vercel đang vận hành một phần đáng kể API của mặt phẳng điều khiển trên chính nền tảng của công ty. Phần này xử lý khoảng 1 tỷ yêu cầu mỗi tháng. Vercel cũng đã bắt đầu chuyển nhiều tác vụ bất đồng bộ nội bộ sang Daemons.
Ubl thừa nhận Vercel không phát minh ra mô hình tiến trình chạy liên tục. Công ty đưa mô hình này vào nền tảng vì khách hàng có nhu cầu rõ ràng. Với các nhóm đang xây tác tử lập trình AI, việc kéo tác vụ từ hàng đợi còn giúp tách công việc kéo dài khỏi luồng phản hồi trực tiếp cho người dùng.
Môi trường được quản lý và bộ chứa khác nhau ở đâu
Daemons không thay thế Vercel Functions. Điểm khác biệt chính giữa môi trường được Vercel quản lý và bộ chứa là bên chịu trách nhiệm cập nhật môi trường thực thi.
Với môi trường Node, Bun hoặc Python do Vercel quản lý, nền tảng có thể áp dụng bản vá bảo mật mà khách hàng không cần triển khai lại. Nếu dùng bộ chứa, khách hàng phải tự cập nhật và triển khai lại ảnh. Theo cách nói của Ubl, từ phía Vercel, ảnh bộ chứa chỉ là dữ liệu nhị phân do khách hàng cung cấp.
Theo số liệu Vercel cung cấp cho The New Stack, 5.000 nhóm đã thực hiện 150.000 lượt triển khai bộ chứa kể từ khi tính năng hỗ trợ bộ chứa bước vào giai đoạn thử nghiệm công khai. Bộ chứa đóng gói ứng dụng cùng môi trường thực thi và thư viện hệ thống riêng, qua đó mở rộng loại phần mềm có thể triển khai trên nền tảng.
Hỗ trợ Python đã sẵn sàng rộng rãi
Hỗ trợ Python của Vercel đã sẵn sàng rộng rãi cho FastAPI, Flask và Django. Ứng dụng chạy bằng CPython tiêu chuẩn với các phần phụ thuộc từ PyPI, còn Vercel đảm nhiệm việc nhận diện khung, xây dựng ứng dụng và mở rộng tài nguyên.
Theo số liệu Vercel nêu với The New Stack, 150.000 nhóm đang chạy backend Python trên nền tảng. Danh sách này gồm các kỹ sư tại OpenAI, Polymarket và Exa.
Việc bổ sung Python, bộ chứa và Daemons mở rộng phạm vi của Vercel sang nhiều công việc nằm sau giao diện web. Thay đổi này cũng tác động đến phạm vi kỹ năng của nhà phát triển, tương tự xu hướng thể hiện qua 47.000 tin tuyển dụng về vai trò kỹ sư trong thời AI.
Drives giữ tệp khi tác tử đổi môi trường
Drives tách tệp của tác tử khỏi môi trường thực thi cô lập (sandbox) đang chạy mã. Tác tử có thể gắn cùng ổ lưu trữ vào một sandbox mới, đổi môi trường thực thi và tiếp tục làm việc với những tệp đã tạo trước đó.
Ubl mô tả Drives là sự kết hợp giữa ổ đĩa mạng theo kiểu EBS và kho đối tượng. Dữ liệu ghi trước tiên được lưu trên ổ NVMe cục bộ rồi truyền bất đồng bộ sang kho đối tượng. Khi đọc, hệ thống lấy dữ liệu từ ổ cục bộ nếu tệp đã có sẵn. Nếu chưa, dữ liệu được truyền về theo từng khối.
Theo Ubl, cách tổ chức này cho phép vận hành số lượng lớn ổ đĩa độc lập dưới dạng các tệp trong S3. Ông không tuyên bố đây là sản phẩm đầu tiên trong ngành, nhưng xem nó là một dạng dịch vụ lưu trữ mới.
Vì sao Vercel khuyến khích dùng ổ thay cho ảnh chụp
Vercel khuyến khích dùng Drives vì tác tử thường chỉ cần duy trì thư mục làm việc, trong khi ảnh chụp có thể sao chép nhiều thành phần giống nhau giữa các lần chạy. Ubl cho rằng điều này khiến ảnh chụp thường trở nên rất lớn.
Trong thực tế, tác tử thường chỉ cần giữ một thư mục như /home/agent hoặc /workspace. Khi gắn riêng thư mục đó vào Drives, các tác tử có thể khởi động từ cùng một ảnh nền đã được lưu đệm. Theo Ubl, cách này rẻ hơn và nhanh hơn.
Vercel chưa loại bỏ ảnh chụp nhưng đang khuyến khích khách hàng chuyển sang Drives. Cách tiếp cận này liên quan trực tiếp đến khả năng truy xuất của tác tử, yếu tố quyết định tác tử có thể tiếp tục công việc cũ hay phải dựng lại ngữ cảnh. Vấn đề này cũng được phân tích trong bài về việc tác tử AI gặp hạn chế ở khâu truy xuất.
Nhiều tác tử có thể dùng lại cùng dữ liệu
Drives cho phép nhiều tác tử dùng lại một tập dữ liệu mà không làm thay đổi bản gốc. Một tác tử có thể chuẩn bị dữ liệu, sau đó các tác tử khác gắn bản sao chỉ đọc để phân tích hoặc tạo báo cáo. Kết quả của từng tác tử được lưu riêng.
Drives cũng hỗ trợ phân nhánh ổ lưu trữ. Các tác tử có thể thử nhiều hướng xử lý trong những không gian có quyền ghi độc lập, nhưng các nhánh đó không hợp nhất trở lại ổ gốc.
Drives và khả năng phân nhánh đã sẵn sàng rộng rãi. Theo Vercel trong bài của The New Stack, dịch vụ có trên mọi gói với dung lượng mặc định 1 TiB. Gói Hobby có dung lượng mặc định 1 GiB, còn cấu hình tối đa đạt 16 TiB.
Đối với nhóm đã triển khai giao diện trên Vercel, việc đặt thêm tiến trình nền hoặc API Python trên cùng nền tảng có thể giảm số hệ thống triển khai phải duy trì. Daemons xử lý công việc chạy liên tục, còn Drives giữ dữ liệu tồn tại khi tác tử chuyển sang môi trường khác.
Hãy theo dõi Sine để cập nhật những thay đổi hạ tầng có thể ảnh hưởng trực tiếp đến cách đội ngũ trong nước xây dựng và vận hành ứng dụng.

