Giới thiệu Dynamic Workflows: Thực thi bền bỉ tùy biến theo từng tenant
Cloudflare ra mắt Dynamic Workflows, giải pháp kết hợp giữa thực thi bền bỉ (durable execution) và triển khai động, cho phép các nền tảng SaaS chạy mã nguồn riêng biệt của từng khách hàng một cách...
Cloudflare vừa chính thức giới thiệu Dynamic Workflows, một bước tiến mới trong việc kết hợp giữa khả năng thực thi bền bỉ (durable execution) và triển khai động (dynamic deployment). Đây là giải pháp giúp các nền tảng SaaS giải quyết bài toán khó: làm thế nào để chạy các workflow tùy chỉnh của từng khách hàng mà không cần phải triển khai cứng mã nguồn vào hệ thống chính.
Table Of Content
Khoảng cách giữa thực thi bền bỉ và triển khai động
Trước đây, Cloudflare Workflows cho phép các lập trình viên tạo ra những chương trình có khả năng chịu lỗi, có thể tạm dừng trong thời gian dài và tự động khôi phục trạng thái. Tuy nhiên, hạn chế lớn nhất là mã nguồn của workflow phải được định nghĩa cố định trong quá trình triển khai (deployment). Điều này gây khó khăn cho các nền tảng muốn cho phép khách hàng tự định nghĩa workflow riêng (ví dụ: các ứng dụng AI tự viết code, nền tảng CI/CD với pipeline riêng biệt cho từng repo).
Dynamic Workflows hoạt động như thế nào?
Với thư viện @cloudflare/dynamic-workflows, Cloudflare cung cấp một cơ chế trung gian thông qua Worker Loader. Thay vì gắn cứng một class workflow, hệ thống sẽ định tuyến các lệnh gọi create() đến mã nguồn của từng tenant cụ thể. Khi workflow cần thực thi (dù là vài giây hay vài ngày sau), engine sẽ tự động điều hướng trở lại đúng mã nguồn của tenant đó.
Quy trình này bao gồm ba lớp chính:
- Workflows Engine: Lớp quản lý thực thi bền bỉ.
- Worker Loader: Lớp trung gian chịu trách nhiệm định tuyến và tải mã nguồn động.
- Dynamic Worker: Mã nguồn thực tế của tenant được chạy trong môi trường sandbox cô lập.
Điểm mạnh của kiến trúc này là khả năng tối ưu hóa chi phí: các tenant không hoạt động sẽ không tiêu tốn tài nguyên, và việc khởi tạo các Dynamic Worker diễn ra chỉ trong vài mili giây.
Những ứng dụng thực tế
Dynamic Workflows mở ra nhiều khả năng mới cho các nhà phát triển nền tảng:
- Nền tảng Agent AI: Cho phép các agent tự viết và thực thi các kế hoạch bền bỉ, có khả năng chịu lỗi và tự động retry các bước thất bại.
- Hệ thống mở rộng (Extensibility): Cho phép khách hàng tự viết logic xử lý workflow riêng mà không làm ảnh hưởng đến cấu trúc của nền tảng gốc.
- CI/CD thế hệ mới: Xây dựng các pipeline CI/CD nơi mỗi repository có thể tự định nghĩa quy trình riêng, tận dụng khả năng lưu trữ của Artifacts và tốc độ khởi động cực nhanh của Dynamic Workers.
Cloudflare nhấn mạnh rằng Dynamic Workers đang trở thành một primitive (nguyên thủy) quan trọng, giúp thay đổi cách xây dựng các ứng dụng đa người dùng (multi-tenant) với chi phí vận hành thấp hơn nhiều so với các kiến trúc container truyền thống.
Nguồn tham khảo: Cloudflare Blog



No Comment! Be the first one.