Plateforme Edge Cloud de Fastly

Solutions numériques innovantes

Revenir au blog

Follow and Subscribe

SDK Python bêta : comment le langage de l'IA fonctionne plus rapidement et en toute sécurité avec Fastly

Erik Rose

Staff Engineer - WebAssembly

Ajay Bharadwaj

Chef de produit, Fastly

Terri Allegretto

Responsable principal, marketing produit, plateforme développeur

Vos back-ends sont écrits en Python. Vous créez des agents IA en Python. Ne serait-il pas logique d'écrire également votre code de périphérie en Python ? Maintenant, vous le pouvez, grâce au SDK Fastly Compute Python ! 

Parce que Fastly gère l'un des réseaux les plus grands, les plus rapides et les plus sécurisés au monde, nous pouvons offrir à votre ensemble croissant de code Python tous les avantages possibles. Que vous fassiez du « vibe coding » pour votre premier projet d'IA, validiez des jetons de contrôle d'accès ou effectuiez toute autre activité que nous n'avons pas encore imaginée, ce nouveau SDK déplace votre Python en périphérie de réseau, près de vos utilisateurs. Et ce, avec une rapidité et une sécurité inégalées.

CPython standard, frameworks standard

Pour une compatibilité maximale, nous transcompilons le CPython standard afin qu'il s'exécute dans nos sandboxes WebAssembly isolées. Ensuite, nous fournissons un adaptateur pour exécuter des applications WSGI standard sur notre implémentation HTTP haute performance. Si vous utilisez des frameworks web Python populaires comme Flask (ou même un framework inhabituel, tant qu'il est conforme à WSGI), votre code peut s'exécuter sur notre périphérie presque sans modification et sembler totalement idiomatique. Les modules Python purs fonctionnent également très bien dès l'installation.

Voici à quoi ressemble une simple application Flask « hello world » exécutée sur Fastly Compute :

from fastly_compute.wsgi import WsgiHttpIncoming
from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello_world():
    return "Hello from Python, living on the Fastly edge!"

# The only special line: register the Flask app as the recipient
# of incoming requests, using our WSGI adapter.
HttpIncoming = WsgiHttpIncoming(app)

Comment nous rendons Python rapide

Si vous avez assisté à notre récente conférence Wasm I/O sur le fractionnement en composantes de Fastly Compute, vous savez qu'il faut de sérieux travaux d'ingénierie pour que les langages à durée d'exécution élevée fonctionnent bien en périphérie. Nous avons eu recours à diverses astuces pour éliminer le démarrage généralement lent de CPython et offrir les performances les plus rapides possibles à l'utilisateur final.

  • Création d'un instantané de la mémoire : en général, une grande partie du code Python, comme les niveaux supérieurs des modules, s'exécute au démarrage, ce qui entraîne des retards considérables au démarrage à froid. Fastly contourne complètement cela. Nous laissons Python effectuer cette exécution au moment de la création, puis nous créons un instantané pré-initialisé de la mémoire. En production, nous instancions à partir de cet instantané en quelques microsecondes, lui permettant de démarrer encore plus rapidement que le Python ordinaire sur une machine locale.

  • Boucles de données en périphérie vs le cloud : pour les applications en temps réel et les agents d'IA, la proximité est importante. Si l'utilisation de votre application implique une série d'échanges entre le réseau et l'utilisateur (par exemple, vérifier un contexte, appeler un outil, puis récupérer un secret), les allers-retours vers un serveur cloud centralisé tuent les performances. En maintenant cette boucle d'orchestration de données au plus près de l'utilisateur, grâce à l'edge network de Fastly, vous garantissez une expérience fluide et un client satisfait.

Comment nous sécurisons Python

La conversation autour de l'IA a beaucoup évolué en très peu de temps. Comme nous l'avons vu dans les discussions consacrées à l'IA et à la sécurité lors de PyCon 2026 le mois dernier, l'accent est passé de la simple ingénierie des prompts à la mise en production de flux de travail agentiques autonomes.

Cela pose d'énormes défis d'ingénierie, car Python, en tant que langage très dynamique, a toujours été difficile à isoler dans un sandbox. Si vous exécutez du code généré par LLM qui n'est pas totalement fiable, le faire au sein de votre infrastructure principale pose des risques de sécurité majeurs. À l'inverse, le modèle d'isolement de Fastly offre un environnement infaillible pour héberger ce code. Nous isolons chaque exécution de requête dans son propre sandbox WebAssembly éphémère.

Si le code a un comportement inattendu, qu'il s'agisse d'une erreur ou d'une malveillance, la zone touchée se limite à la périphérie de notre réseau, totalement hors de portée de votre infrastructure back-end critique. En outre, de nombreuses failles, comme la récente Copy Fail et ses semblables, sont impossibles sur notre plateforme, car la surface de l'API du noyau est protégée, ce qui n'est pas le cas pour l'isolement typique basé sur des conteneurs.

Comment nous préservons la beauté de Python

Sur Fastly, vous n'avez pas besoin d'écrire un code wrapper inter-langues encombrant. En exploitant les composants WebAssembly et le WIT IDL, nous fournissons des API au typage sûr qui ressemblent à du pur Python moderne et fonctionnent comme tel, même si elles s'associent à du code natif haute performance en back-end.

Au-delà de la prise en charge de WSGI mentionnée précédemment, nous rendons les requêtes HTTP supplémentaires familières et rapides en vous fournissant une implémentation compatible de la bibliothèque de requêtes standard de facto, qui délègue à notre pile réseau optimisée. Il vous suffit de l'importer ainsi…

from fastly_compute import requests

… puis de l'utiliser pour effectuer des appels HTTP comme vous le feriez normalement.

Mises en garde actuelles

Étant donné qu'il s'agit d'une version bêta et que nous mettons l'accent sur la sécurité et la rapidité, veuillez garder ces mises en garde à l'esprit :

  • Les frameworks natifs de calcul ML ne sont pas encore là. NumPy, SciPy et Pandas nécessitent quelques travaux supplémentaires avant de pouvoir fonctionner dans notre environnement. La logique Python pure et toutes les extensions natives prenant en charge WASI sont possibles aujourd'hui.

  • Importations de haut niveau nécessaires. Afin que notre processus de création d'instantanés de mémoire puisse les capturer, les paquets doivent être importés au niveau supérieur d'un module. Si vous avez du code tiers qui utilise des importations internes, vous pouvez contourner cela en les important au niveau supérieur ailleurs.

  • Pas de système de fichiers ni de threads. Si vous chargez des modèles depuis le disque ou utilisez plusieurs threads dans une requête web, votre code devra être ajusté. Il n'existe pas encore de système de fichiers virtuel ou ce type de parallélisme dans nos sandboxes.

Commencez dès aujourd'hui

Vous êtes prêts à amener votre code Python en périphérie ? Voici comment commencer :

  • Créez un compte Fastly (si vous n'en avez pas déjà un) et commencez à utiliser les niveaux gratuits.

  • Suivez les instructions ici pour écrire du code Python et l'exécuter sur le réseau de Fastly.

  • Participez à la suite : nous voulons connaître votre avis sans filtre. L'Open source étant essentiel au travail que nous faisons chez Fastly, ce SDK est une collaboration ouverte pour les utilisateurs de Python.

Nous vous encourageons à soumettre des demandes de tirage ou des problèmes ouverts sur le référentiel GitHub. Faites-nous savoir si des paquets Python vous posent problème, ce que vous créez et comment nous pouvons améliorer l'expérience des développeurs sur notre chemin vers la disponibilité générale !

Prêt à commencer ?

Contactez-nous dès aujourd’hui