Deno Bán Mình Cho Cloudflare
Có một nghịch lý thú vị trong giới công nghệ: Người ta từng nghĩ Deno sinh ra là để “hạ bệ” Node.js, để trở thành kẻ thống trị tối cao của thế giới JavaScript trên máy chủ. Nhưng đùng một cái, Deno quyết định bắt tay, hòa làm một với Cloudflare.
Người ngoài nhìn vào sẽ bảo: Ủa, sao lại đầu hàng sớm thế?
Nhưng nếu bạn nhìn sâu vào bản chất của phần mềm máy chủ, bạn sẽ nhận ra một chân lý mộc mạc: Đích đến cuối cùng của lập trình chưa bao giờ là phô diễn kỹ thuật phức tạp, mà là sự tinh gọn và hiệu quả. Nghĩa là làm sao để lập trình viên chỉ cần viết vài dòng logic là ứng dụng tự chạy, tự nở rộng quy mô, tự giữ trạng thái, đặt đâu cũng sống mà không cần một đội ngũ túc trực canh máy chủ 24/7.
Và đây là câu chuyện hậu trường đằng sau quyết định lịch sử đó.
Chiếc xe đua trên hòn đảo hoang
Năm xưa tại Berlin, Ryan Dahl – cha đẻ của Node.js – từng khiến cả khán phòng trầm trồ khi trình diễn một máy chủ chat IRC chỉ vỏn vẹn 500 dòng mã JavaScript. Ông chứng minh rằng cơ chế xử lý bất đồng bộ (Asynchronous I/O) trên một tiến trình đơn lẻ có thể giải quyết hàng ngàn kết nối mạng mà không tốn tài nguyên. Đó là một cuộc cách mạng.
Nhưng cuộc đời không như là mơ. Khi ứng dụng lớn lên, bạn không thể nhét cả thế giới vào một cái máy tính đơn lẻ. Bạn phải chia phòng chat ra nhiều máy chủ khác nhau, phải quản lý cơ sở dữ liệu người dùng, phải lưu trữ lịch sử tin nhắn rải rác khắp nơi. Cơ chế bất đồng bộ của một cỗ máy đơn lẻ bỗng trở thành… một chiếc siêu xe chạy trên hòn đảo hoang—rất nhanh, nhưng chẳng đi đâu xa được.
Nhận ra giới hạn kiến trúc đó, Ryan Dahl tạo ra Deno. Deno sửa chữa những vết xe đổ của Node: bảo mật hơn, hỗ trợ TypeScript xịn sò hơn, công cụ mượt mà hơn. Nhưng hỡi ôi, dù Deno có hoàn hảo đến đâu ở tầng máy cục bộ, người lập trình khi đưa ứng dụng lên mạng vẫn phải tự tay lắp ráp một mớ bòng bong gồm máy chủ đám mây, bộ nhớ đệm, mạng phân phối…
Sự giản đơn thực sự không thể dừng lại ở việc tối ưu một cỗ máy đơn lẻ. Nó đòi hỏi một mô hình lập trình phân tán ngay từ trong trứng nước.
Nỗi đau của kẻ “tự xây sân bay”
Để giải bài toán đưa mã nguồn lên mây chỉ trong một nốt nhạc, đội ngũ Deno quyết định tự xây dựng nền tảng đám mây thương mại của riêng mình: Deno Deploy.
Ý tưởng thì lãng mạn, nhưng thực tế thì bầm dập. Để tạo ra trải nghiệm “mượt như nhung” cho lập trình viên ở bề nổi, bên dưới tảng băng chìm, đội ngũ kỹ sư Deno phải oằn mình quản lý cơ sở hạ tầng đám mây chằng chịt, kết nối nhiều nhà cung cấp public cloud khác nhau và duy trì hàng loạt hệ cơ sở dữ liệu phức tạp.
Nó giống như việc bạn chỉ muốn mở một quán cà phê thơm ngon, nhưng rốt cuộc lại phải đi học cách tự đào giếng nước, tự kéo dây điện và tự chế tạo máy pha. Deno Deploy đã làm phân tán nguồn lực cốt lõi của họ.
Ryan Dahl nhận ra điều đó và nảy ra một ý tưởng táo bạo: Tại sao không tinh gọn toàn bộ hệ thống khổng lồ kia vào một file thực thi duy nhất viết bằng Rust (mang tên celld), chỉ cần cắm vào một thùng chứa dữ liệu (Object Storage) là chạy phăng phăng? Và để làm được điều đó triệt để, họ quyết định buông bỏ Deno Deploy để hợp nhất tầm nhìn vào một hệ sinh thái mạnh hơn: Cloudflare Workers.
“Viên ngọc thần” Durable Objects và làn sóng AI
Trong lúc Deno tìm đường giải thoát khỏi hạ tầng phức tạp, Cloudflare đã âm thầm tạo ra một tuyệt tác mang tên Durable Objects.
Hãy tưởng tượng Durable Object giống như một “căn hộ độc lập mini”: nó có một luồng xử lý JavaScript riêng, có kết nối thời gian thực (WebSocket) gắn sẵn, và quan trọng nhất là sở hữu luôn một ổ cơ sở dữ liệu SQLite cá nhân nằm ngay bên trong.
Ryan Dahl lập tức nhận ra đây chính là lời giải hoàn hảo cho bài toán phân tán. Bạn muốn làm phòng chat? Cứ cấp cho mỗi phòng một Durable Object. Bạn muốn làm một ứng dụng AI Agent độc lập biết ghi nhớ lịch sử hội thoại của từng người dùng? Mỗi con bot là một Durable Object! Không cần cấu hình Redis phức tạp, không cần lo nghẽn database trung tâm.
Nhưng kẹt một nỗi: thứ công nghệ thần thánh này của Cloudflare lại chỉ chạy mượt trên mạng lưới toàn cầu độc quyền của họ. Nếu một ngày bạn muốn tự cài đặt nó trên máy chủ riêng của công ty mình thì sao? Vô phương cứu chữa.
Nỗi sợ “bị nhốt trong lồng kính”
Lập trình viên và các doanh nghiệp lớn rất sợ một thứ gọi là Vendor Lock-in (bị nhà cung cấp trói chân). Người ta xì xào: “Cloudflare tạo ra Workers với Durable Objects hay ho như vậy là để ép chúng ta phải dùng dịch vụ của họ cả đời chứ gì!”
Năm 2022, những gã khổng lồ như Shopify nói thẳng thừng với Cloudflare: Các ông không mở mã nguồn runtime của Workers ra thì đừng mơ chúng tôi dùng.
Thế là Cloudflare quyết định mở mã nguồn lõi chạy Workers của mình với tên gọi
workerd. Đây là một bước đi cực kỳ khôn ngoan để lấy trọn niềm tin của cộng
đồng. Tuy nhiên, workerd khi đem về tự chạy (self-host) lại bị khuyết mất tính năng quan trọng nhất: nó không có một
cơ chế điều phối Durable Objects mở rộng quy mô trên nhiều máy chủ dành cho người dùng tự lưu trữ.
Một chuẩn mở thì không thể thiếu đi mảnh ghép tự do tự tại này.
Cuộc gặp gỡ định mệnh của hai người thợ giỏi
Vào tháng 8 năm 2026, đội ngũ Deno bất ngờ tung ra dự án mã nguồn mở celld viết bằng Rust. Mục đích duy nhất của nó:
biến Workers và Durable Objects thành thứ có thể tự cài đặt, tự mở rộng trên bất kỳ cụm máy chủ nào một cách cực kỳ nhẹ
nhàng.
Bên phía Cloudflare, các kỹ sư kỳ cựu như Kenton Varda (kiến trúc sư trưởng của Workers) đọc xong mã nguồn của celld
thì như người đi trên sa mạc vớ được bình nước mát. Trước đó, chính Cloudflare cũng đã cố gắng viết một bộ điều phối
Durable Objects để tự host, nhưng hệ thống nội bộ của họ quá chằng chịt, gỡ không ra nổi.
Thay vì coi nhau là đối thủ cạnh tranh để rồi dẫm chân lên nhau, Ryan Dahl và Kenton Varda đã ngồi lại với nhau. Họ nhận
ra hai bên đang cầm hai nửa của một bức tranh hoàn chỉnh: Cloudflare có runtime siêu tốc workerd, còn Deno có công cụ
kết nối phân tán celld cùng trải nghiệm lập trình viên đỉnh cao.
Hai bộ óc lớn quyết định bắt tay: Ghép celld vào workerd, đưa Ryan Dahl và cộng sự về dẫn dắt dự án biến Workers tự
host trở thành trải nghiệm hạng nhất.
Đại hợp nhất vì một tương lai mở
Deno đứng trước ngã ba đường: Tiếp tục gồng mình duy trì một môi trường chạy độc lập và một đám mây riêng lẻ, hay bắt tay với Cloudflare để cùng định hình chuẩn mực cho toàn thế giới?
Họ đã chọn con đường dũng cảm: Toàn bộ đội ngũ Deno gia nhập Cloudflare.
Họ mang theo những tinh hoa nhất của mình: công nghệ liên kết động cơ V8
(rusty_v8), kho thư viện hiện đại JSR, và tư duy thiết kế
trải nghiệm người dùng không ai sánh bằng. Đổi lại, lập trình viên trên toàn thế giới giờ đây có một nền tảng lập trình
thống nhất. Bạn có thể viết ứng dụng phân tán, viết các AI Agent tân tiến nhất và chạy thẳng trên mạng lưới Cloudflare;
hoặc nếu muốn, bạn có thể tự vác toàn bộ mã nguồn đó về máy chủ riêng của mình chạy bằng workerd và celld mà không
sợ bị ai trói buộc.
- Deno team sẽ duy trì Deno runtime thêm đúng 1 năm nữa với các bản vá lỗi và bảo mật hàng tháng. Hết 1 năm đó, họ chính thức ngừng phát triển. Deno vẫn là mã nguồn mở, ai muốn tiếp quản để làm tiếp thì họ rất hoan nghênh.
- Nền tảng Deno Deploy sẽ chạy thêm 6 tháng nữa rồi đóng cửa hoàn toàn. Với những khách hàng đang trả tiền, họ sẽ hỗ trợ tận tình để “chuyển nhà” sang Cloudflare Workers.
- JSR vẫn tiếp tục hoạt động, nhưng hệ thống hạ tầng sẽ được dọn sang Cloudflare.
- Họ vẫn sẽ duy trì
rusty_v8và tìm cách tích hợp dự án này vàoworkerd.
Lời kết
Trong hành trình phát triển sự nghiệp hay xây dựng sản phẩm, chúng ta thường có xu hướng bám víu vào những gì mình tự tay tạo ra, dù nó đang khiến mình kiệt sức.
Quyết định của Deno không phải là một sự thoái lui, mà là một sự thức tỉnh sâu sắc về mục tiêu tối thượng: Họ không lập trình vì cái tôi của một runtime riêng biệt, họ lập trình để làm cho thế giới phần mềm trở nên đơn giản hơn. Khi nhận thấy Cloudflare Workers và Durable Objects là con đường ngắn nhất để đưa lập trình phân tán và kỷ nguyên AI đến với mọi người, họ sẵn sàng dỡ bỏ rào cản để hợp nhất.
Biết buông bỏ những phức tạp thừa thãi để cùng nhau dựng nên một chuẩn mực lớn hơn — đó không chỉ là bài học kiến trúc máy chủ, mà còn là bản lĩnh đích thực của những người làm công nghệ đỉnh cao.