← L'édition
IANouveau2 min de lecture

Cloudflare rend ses Python Workers officiellement disponibles après deux ans de test

Après deux ans de préversion, Cloudflare annonce la disponibilité générale de Python sur sa plateforme d'exécution serverless (un modèle de déploiement où l'infrastructure est gérée automatiquement sans serveur à maintenir). Le langage devient une option de premier plan grâce à une architecture reposant sur WebAssembly et Pyodide.

Fil « Disponibilité générale des Python Workers sur Cloudflare »

Après une phase de test préliminaire de deux ans, Cloudflare officialise la disponibilité générale (l'étape où un logiciel est jugé suffisamment stable pour la production) de ses Python Workers. La société précise que Python est désormais un langage de premier ordre totalement supporté sur sa plateforme de développement, au même titre que JavaScript.

Une exécution basée sur WebAssembly et Pyodide

Pour faire tourner du code Python sur ses serveurs edge (des serveurs distribués au plus près des utilisateurs), Cloudflare utilise la compilation de Python vers WebAssembly (un format d'instructions binaire exécutable dans un environnement restreint et sécurisé) au moyen du projet Pyodide (une distribution de Python adaptée à WebAssembly). L'ensemble s'exécute au sein de workerd, le moteur d'exécution maison basé sur V8 (le moteur exécutant le JavaScript dans Chrome).

Cette architecture basée sur WebAssembly implique toutefois quelques limitations techniques importantes :

  • Le multiprocessing (la capacité à exécuter des tâches en parallèle sur plusieurs processus) ne fonctionne pas.
  • Le multithreading (la gestion de plusieurs fils d'exécution simultanés) n'est pas opérationnel dans la machine virtuelle WebAssembly.

Simulation locale avec pywrangler

Pour le développement en local, l'expérience repose sur l'outil pywrangler (publié de manière un peu trompeuse sous le nom workers-py sur PyPI, le dépôt officiel de paquets Python). Cet outil exécute une simulation complète de la stack technique grâce à un binaire workerd de 123 Mo téléchargé localement.

pip install workers-py

Cette mise à disposition marque un investissement significatif de Cloudflare dans l'écosystème Python. L'annonce est signée par Gyeongjae Choi, Dominik Picheta et Hood Chatham — Gyeongjae Choi et Hood Chatham étant eux-mêmes mainteneurs principaux du projet open-source Pyodide.