Python Workers chính thức đạt trạng thái GA: Cloudflare đưa Python lên vị thế ngôn ngữ hạng nhất trên nền tảng edge

Phần mềm21 tháng 9, 2026·9 phút đọc

Cloudflare vừa công bố Python Workers đạt trạng thái chính thức (GA) sau 2 năm phát triển, biến Python thành ngôn ngữ hạng nhất trên Cloudflare Developer Platform. Người dùng có thể chạy FastAPI, Django, Flask, các thư viện AI như langchain, openai cùng hệ sinh thái binding của Cloudflare mà không cần viết một dòng JavaScript nào.

Python Workers chính thức đạt trạng thái GA: Cloudflare đưa Python lên vị thế ngôn ngữ hạng nhất trên nền tảng edge

Python Workers chính thức đạt trạng thái GA: Cloudflare đưa Python lên vị thế ngôn ngữ hạng nhất trên nền tảng edge

Cloudflare vừa công bố Python Workers đạt trạng thái chính thức (GA) sau hai năm phát triển, biến Python trở thành ngôn ngữ hạng nhất trên Cloudflare Developer Platform. Đây là bước tiến quan trọng giúp lập trình viên Python có thể tận dụng toàn bộ hệ sinh thái Cloudflare — từ Workers AI, R2, D1 đến Durable Objects — mà không cần viết một dòng JavaScript nào.

Từ thử nghiệm đến sản phẩm hoàn chỉnh

Cloudflare giới thiệu Python Workers cách đây hai năm với mục tiêu đơn giản: viết Workers bằng Python dễ dàng như viết bằng TypeScript, đồng thời để toàn bộ hệ sinh thái thư viện và framework Python "chạy được ngay". Kể từ hôm nay, mục tiêu đó chính thức được hiện thực hóa.

Sơ đồ kiến trúc Python Workers trên nền tảng CloudflareSơ đồ kiến trúc Python Workers trên nền tảng Cloudflare

Việc đưa Python lên Workers là một lựa chọn tự nhiên. Bởi vì Workers đã hỗ trợ WebAssembly từ năm 2018, nền tảng này sở hữu môi trường lý tưởng để chạy trình thông dịch Python biên dịch sang Wasm. Nhờ sử dụng Pyodide, Cloudflare nhanh chóng hỗ trợ được nhiều loại ứng dụng Python khác nhau ngay trong Workers.

GA có nghĩa là gì? Python giờ đây là ngôn ngữ được hỗ trợ đầy đủ, hạng nhất trên Cloudflare Developer Platform. Bạn có thể mang theo mã nguồn Python, thư viện và mô hình thiết kế quen thuộc để kết nối liền mạch với Workers AI, R2, D1, Hyperdrive, Durable Objects, Queues, Workflows và phần còn lại của nền tảng Cloudflare.

Binding Cloudflare theo phong cách Python thuần

Trước đây, để dùng các binding của Cloudflare trong Python Workers, lập trình viên phải chuyển đổi thủ công đối tượng Python sang đối tượng TypeScript tại ranh giới RPC. Ví dụ, gửi một dictionary Python vào Cloudflare Queue từng yêu cầu đoạn mã "keo dính" cồng kềnh:

from pyodide.ffi import to_js
import js
self.env.QUEUE.send(to_js({"key": "value"}, dict_converter=js.Object.fromEntries))

Cách làm này buộc lập trình viên Python phải luôn để tâm đến môi trường JavaScript khi viết code, và thường xuyên trở thành nguồn gốc lỗi cho cả con người lẫn AI agent. Giờ đây, Cloudflare đã đóng gói toàn bộ quá trình chuyển đổi kiểu dữ liệu vào runtime và Python SDK, cho phép bạn dùng mọi binding theo cách hoàn toàn Pythonic:

self.env.QUEUE.send({"key": "value"})

FastAPI, Django và Flask chạy trực tiếp trên Workers

Bạn có thể chạy các framework Python yêu thích như FastAPI, Django hay Flask để xây dựng API server trong Python Workers. Cloudflare triển khai một connector tích hợp sẵn giúp kết nối ứng dụng web với Workers dễ dàng.

Chạy framework Python trên Cloudflare WorkersChạy framework Python trên Cloudflare Workers

Với một ứng dụng FastAPI đơn giản, thay vì dùng uvicorn như môi trường truyền thống, bạn chỉ cần thêm đoạn mã sau:

from workers import asgi

class Default(WorkerEntrypoint):
    async def fetch(self, request):
        return await asgi.fetch(app, request, self.env)

# hoặc tương đương
Default = asgi.entrypoint(app)

Tương tự, gói workers.wsgi cho phép chạy các ứng dụng web đồng bộ như Django. Điều gì diễn ra bên dưới? Python có một giao kèo chuẩn về cách ứng dụng web giao tiếp với web server, gọi là WSGI (Web Server Gateway Interface) hoặc phiên bản bất đồng bộ hiện đại ASGI. Trong Cloudflare Workers, chính nền tảng Workers đóng vai trò web server — mạng lưới toàn cầu của Cloudflare đã đảm nhiệm cân bằng tải và mở rộng vô hạn, nên không cần chạy thêm server bên trong Workers.

Connector workers.asgiworkers.wsgi hoạt động như một cầu nối mỏng, tối ưu: chuyển request JavaScript gốc thành cấu trúc WSGI/ASGI mà ứng dụng Python mong đợi, rồi đưa phản hồi trở lại với chi phí tối thiểu. Nhờ vậy, lập trình viên vừa được tự do tổ chức code theo framework yêu thích, vừa để Cloudflare tự động mở rộng API ra toàn cầu mà không cần cấu hình server.

Hyperdrive mở khóa PostgreSQL và MySQL

Nếu bạn xây dựng ứng dụng Python với cơ sở dữ liệu quan hệ như PostgreSQL hoặc MySQL, giờ đây có thể tích hợp Hyperdrive vào Python Workers. Trước kia, Python Workers không hỗ trợ TCP socket, khiến các driver cơ sở dữ liệu không thể hoạt động.

Lý do nằm ở cách WebAssembly vận hành: các driver như aiomysql hay asyncpg dựa vào module socket của thư viện chuẩn để thiết lập kết nối, và trong sandbox WebAssembly, các lệnh gọi hệ thống POSIX mạng thường là stub luôn thất bại. Cloudflare đã giải quyết bằng cách triển khai các syscall socket thông qua Workers connect API. Khi driver cố mở kết nối TCP, nó đi qua phần hiện thực syscall socket tùy chỉnh, dịch các thao tác socket Python chuẩn thành lệnh gọi JavaScript tương ứng của runtime Workers. Vì quá trình dịch diễn ra ở tầng syscall, driver cơ sở dữ liệu hoàn toàn không cần biết về phần hiện thực bên dưới.

import aiomysql
from workers import WorkerEntrypoint

class Default(WorkerEntrypoint):
    async def fetch(self, request):
        hd = self.env.HYPERDRIVE_MYSQL
        conn = await aiomysql.connect(
            host=hd.host,
            port=int(hd.port),
            user=hd.user,
            password=hd.password,
            db=hd.database,
            ssl=None,
        )
        cur = await conn.cursor()
        await cur.execute("SELECT username FROM user")
        r = await cur.fetchall()
        await cur.close()
        conn.close()

Mở rộng hệ sinh thái package WebAssembly

Vì Python Workers chạy trong sandbox WebAssembly, mọi package có phần mở rộng native C/C++/Rust đều phải được biên dịch chéo sang WebAssembly. Trước đây chưa có cách chuẩn để làm điều này, buộc đội ngũ Cloudflare phải tự biên dịch và lưu trữ thủ công từng package — giới hạn nghiêm trọng số lượng thư viện có thể dùng.

Đóng góp của Pyodide và PEP 783 cho hệ sinh thái Python trên WebAssemblyĐóng góp của Pyodide và PEP 783 cho hệ sinh thái Python trên WebAssembly

Cloudflare đã đề xuất PEP 783, chuẩn hóa một nền tảng chạy Python trong runtime trình duyệt mang tên PyEmscripten. Sau hơn một năm thảo luận và tinh chỉnh, đề xuất này đã được chấp nhận, cho phép người bảo trì package xây dựng và phát hành package cho nền tảng PyEmscripten, dùng được trên mọi môi trường hiện thực hóa tiêu chuẩn này. Đội ngũ cũng ổn định hóa bộ công cụ build Pyodide hiện có, đồng thời bổ sung hỗ trợ nền tảng PyEmscripten vào cibuildwheel.

Xây dựng AI agent và pipeline bằng Python

Hệ sinh thái đồ sộ của các package khoa học dữ liệu và học máy khiến Python trở thành lựa chọn tự nhiên để xây dựng agent thông minh và pipeline AI. Trước đây, việc đưa chúng vào Python Workers gặp trở ngại: các thư viện như openailangchain dựa vào HTTP client như requests hay httpx, nhưng do thiếu hỗ trợ thao tác socket cấp thấp, các client này không hoạt động đúng.

Cloudflare đã đóng góp ngược lên upstream để đảm bảo các HTTP client này định tuyến request trực tiếp qua JavaScript fetch API trong môi trường WebAssembly. Kết hợp với hỗ trợ socket cấp thấp mới, toàn bộ ngăn xếp mạng giờ hoạt động liền mạch. Kết quả là bạn có thể chạy các thư viện AI như openai, langchain, mcp ngay trong Python Workers, kết hợp với Workers AI để suy luận serverless trên GPU trong mạng lưới Cloudflare, hoặc proxy request qua Cloudflare AI Gateway.

from langchain_cloudflare import ChatCloudflareWorkersAI
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import PromptTemplate
from workers import Response, WorkerEntrypoint

class Default(WorkerEntrypoint):
    async def fetch(self, request):
        prompt = PromptTemplate.from_template(
            "In one sentence, describe a great day in the life of an {profession}."
        )
        llm = ChatCloudflareWorkersAI(
            model_name="@cf/meta/llama-3.3-70b-instruct-fp8-fast",
            binding=self.env.AI,
            max_tokens=64,
        )
        chain = prompt | llm | StrOutputParser()
        result = await chain.ainvoke({"profession": "electrician"})
        return Response.json({"result": result})

Những gì bạn có thể xây dựng ngay hôm nay

Cloudflare đã tổng hợp một bộ mẫu sẵn sàng cho môi trường production trong repository python-workers-examples. Một số hướng kết hợp Python Workers với hệ sinh thái Cloudflare đáng chú ý:

  • Điều phối AI bất đồng bộ: xây dựng ứng dụng AI full-stack kết nối nhiều dịch vụ như lưu trữ, hàng đợi và suy luận. Ví dụ về trình tạo ảnh sang ảnh chạy hoàn toàn bằng Python Workers, nhận yêu cầu người dùng, đưa vào Cloudflare Queue, dùng Workflows điều phối bước sinh ảnh qua Workers AI, rồi lưu ảnh vào bucket R2.
  • Xử lý luồng dữ liệu thời gian thực với Bluesky Jetstream: một Python Worker kết nối tới WebSocket ATProto/Bluesky Jetstream, được hậu thuẫn bởi Durable Object để duy trì trạng thái dài hạn và giữ kết nối WebSocket luôn sống.
  • Model Context Protocol (MCP) Server: xây dựng và triển khai MCP server bằng package Python MCP chính thức để cấp cho trợ lý AI quyền truy cập dữ liệu edge.
  • Hệ thống RAG với Vectorize: xây dựng hệ thống Retrieval-Augmented Generation dùng Workers AI và Vectorize — cơ sở dữ liệu vector của Cloudflare.

Đáng chú ý, Cloudflare đã cập nhật tài liệu trên toàn bộ sản phẩm để bổ sung ví dụ code Python. Gần như ở mọi nơi có ví dụ TypeScript, giờ đây đều có ví dụ Python tương ứng, và bạn có thể chuyển đổi code snippet giữa JavaScript, TypeScript và Python trong tài liệu lập trình viên.

Điều gì tiếp theo?

Đạt GA chỉ là khởi đầu. Cloudflare cho biết còn nhiều kế hoạch cải thiện Python Workers, bao gồm tối ưu hiệu năng, giảm mức tiêu thụ bộ nhớ và hỗ trợ thêm nhiều package hơn. Đội ngũ cũng đang tích cực làm việc với các nhà bảo trì package lớn để bổ sung bản build PyEmscripten.

Đối với cộng đồng lập trình viên Việt Nam — đặc biệt là các nhóm đang xây dựng sản phẩm AI, fintech hay SaaS — việc Python chính thức trở thành ngôn ngữ hạng nhất trên Cloudflare Workers mở ra lựa chọn triển khai hấp dẫn: tận dụng kỹ năng Python sẵn có, kết hợp với khả năng mở rộng toàn cầu và miễn phí vận hành server của nền tảng edge.

Bạn có thể tham khảo tài liệu Python Workers và bắt đầu xây dựng Worker Python đầu tiên ngay hôm nay.

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